diff --git a/.github/workflows/buildSite.yml b/.github/workflows/buildSite.yml index 0aca2befd..85e05de0f 100644 --- a/.github/workflows/buildSite.yml +++ b/.github/workflows/buildSite.yml @@ -68,3 +68,26 @@ jobs: ref: 'gh-pages' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Checkout page source + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v1 + + - name: Install sphinx + run: pip3 install --user -r requirements.txt + + - name: Build page + run: make html + + - run: touch build/html/.nojekyll + + - name: Deploy documentation sphinx + uses: JamesIves/github-pages-deploy-action@v4.4.0 + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: gh-pages + folder: build/html + clean: false diff --git a/.github/workflows/fortran_package.yml b/.github/workflows/fortran_package.yml new file mode 100644 index 000000000..ddf0ba53d --- /dev/null +++ b/.github/workflows/fortran_package.yml @@ -0,0 +1,40 @@ +# Github action to build fortran_packages. +# + +name: fortran_packages + + +on: + workflow_dispatch: + schedule: + - cron: "0 2 * * *" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: checkout source + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v1 + + - name: Install python libraries + run: pip3 install --user -r requirements.txt + + - name: fortran_package + run: python fortran_package.py ${{ secrets.API_TOKEN }} + + - name: Commit files and transfer the files back into the repository + run: | + git config --local user.name "henilp105" + git add fortran_learn.json + git add fortran_package.json + git add contributor.json + git commit -m "fortran package" + - name: Push changes # push the output folder to your repo + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + force: true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b55fca961..e555d8ce9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ Fortran-lang.org is open-source and contributions are welcome! -* See [PACKAGES](./PACKAGES.md) for how to add an entry to the [Package index](https://fortran-lang.org/packages) +* See [PACKAGES](./PACKAGES.md) for how to add an entry to the [Package index](https://fortran-lang.org/en/packages) * See [MINIBOOKS](./MINIBOOKS.md) for how to write and structure a mini-book tutorial for the [Learn](https://fortran-lang.org/learn) section @@ -11,14 +11,14 @@ Fortran-lang.org is open-source and contributions are welcome! __How is the site written?__ -The content of the website is primarily written in a combination of Markdown, HTML and YAML (for data). +The content of the website is primarily written in a combination of ReStructuredText, Markdown, HTML and YAML (for data). This source is compiled to produce pure HTML which is what you see on the final website. The website is _static_ which means that once built, the content on the site is the same for all users; this is in contrast to many websites that are _dynamic_, meaning they can serve different content depending on the user and the inputs supplied by the user. -Structural components of the website are written in the Jekyll [Liquid](https://github.com/Shopify/liquid/wiki) templating language for static features, and JavaScript for dynamic features. +Structural components of the website are written in the Sphinx Static site generator for static features, and JavaScript for dynamic features. __Do I need to know HTML to contribute?__ @@ -28,29 +28,22 @@ The majority of the site content is written in [Markdown](https://github.com/ada __How is the site built?__ -The Fortran-lang site uses the Ruby-based [Jekyll static site generator](https://jekyllrb.com/) -to compile the Markdown and HTML files. -It is recommended for contributors to install Jekyll on your development computer so that changes -can be previewed locally, however this is not mandatory since site previews can be generated during the -pull request process (see below for more information). -See [README.md](README.md) for how to setup Jekyll and build the site. +The Fortran-lang site uses the Python-based [Sphinx static site generator](https://www.sphinx-doc.org/en/master/) to compile the RST,Markdown and HTML files. +It is recommended for contributors to install Python on your development computer so that changes can be previewed locally, however this is not mandatory since site previews can be generated during the pull request process (see below for more information). +See [README.md](README.md) for how to setup Sphinx and build the site. -The GitHub repository default branch only ever contains the 'source code' for the website, not the final -compiled result; an automated service compiles this source code every time an update is pushed and stores -the compiled result on the [`gh-pages`](https://github.com/fortran-lang/fortran-lang.org/tree/gh-pages) branch -which is served up at . +The GitHub repository default branch only ever contains the 'source code' for the website, not the final compiled result; an automated service compiles this source code every time an update is pushed and stores the compiled result on the [`gh-pages`](https://github.com/fortran-lang/webpage/tree/gh-pages) branch which is served up at . -Therefore, as a contributor you only need to upload changes to the site source code and not the compiled result, because -this is built automatically from the source code on the default branch. +Therefore, as a contributor you only need to upload changes to the site source code and not the compiled result, because this is built automatically from the source code on the default branch. ## Workflow -Contributions to the site are made by pull request to the github repository: . +Contributions to the site are made by pull request to the github repository: . The workflow for doing so takes the following form: -1. Create/update a personal fork of fortran-lang.org +1. Create/update a personal fork of webpage - (See [github help: syncing a fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork) ) 2. Create a new branch in your fork @@ -61,20 +54,19 @@ The workflow for doing so takes the following form: 4. Push your modified branch to your fork - _e.g._ `git push --set-upstream origin fix-spelling-homepage` -5. Create a pull request in the fortran-lang/fortran-lang.org from your modified fork branch +5. Create a pull request in the fortran-lang/webpage from your modified fork branch - (See [github help: creating a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) ) -__Note: Before opening a pull request you must build your changes locally using Jekyll (see [README.md](README.md)) to verify that your changes build correctly and render as you expect.__ +__Note: Before opening a pull request you must build your changes locally using Sphinx (see [README.md](README.md)) to verify that your changes build correctly and render as you expect.__ __Note: You can continue to push changes to your fork branch after you open a pull request - the pull request will update accordingly__ Your pull request will be reviewed by other members of the community who may request changes. GitHub provides an easy interface on its website to apply (or reject) any reviewer-suggested changes with a click of a button. This avoids having to manually copy suggestions to your local copy and push back again. -If you use the "Commit suggestion" button, you will need to update the local copy on your computer using `git pull` if you -intend to push more edits from your computer. +If you use the "Commit suggestion" button, you will need to update the local copy on your computer using `git pull` if you intend to push more edits from your computer. -Once your pull request is approved, usually by at least two other community members, it will be merged into the fortran-lang.org default branch by the maintainers at which point it will be published to the fortran-lang.org site. +Once your pull request is approved, usually by at least two other community members, it will be merged into the webpage default branch by the maintainers at which point it will be published to the fortran-lang.org site. If required, the repository maintainers can build a public preview of your proposed changes which will be available to view at `fortran-lang.org/pr//` where `` is the numeric identifier of your pull request. @@ -103,8 +95,7 @@ This will force the GitHub content delivery network to serve you an updated vers It is recommended practice for off-site hyperlinks to open in a new tab. On `Fortran-lang.org` all such links will automatically be suffixed with a new-tab icon; -this gives site users prior expectation that the link will lead them off-site while -keeping fortran-lang.org open in a previous tab. +this gives site users prior expectation that the link will lead them off-site while keeping fortran-lang.org open in a previous tab. __Example:__ Open link in new tab (HTML or markdown) ```html @@ -113,24 +104,23 @@ __Example:__ Open link in new tab (HTML or markdown) ### Internal site links -Hyperlinks that point to other parts of the fortran-lang.org website should be prefixed with `{{ site.baseurl }}` - this is important for generating pull request previews (see [here](https://byparker.com/blog/2014/clearing-up-confusion-around-baseurl/) for an explanation). +Hyperlinks that point to other parts of the fortran-lang.org website should be prefixed with `{{pathto('index',1)[:-5]}}` - this is important for generating pull request previews (see [here](https://byparker.com/blog/2014/clearing-up-confusion-around-baseurl/) for an explanation). __Example:__ markdown link ``` -[Fortran-lang news]({{site.baseurl}}/News) +[Fortran-lang news]({{pathto('index',1)[:-5]}}News) ``` __Example:__ html link ``` -Fortran packages +Fortran packages ``` ### Icon packs -Icons are an easy way to improve page aesthetic by breaking-up otherwise monotonic text passages -and drawing attention to headings or key information. +Icons are an easy way to improve page aesthetic by breaking-up otherwise monotonic text passages and drawing attention to headings or key information. Three icon packs are available for use on `fortran-lang.org`: @@ -163,28 +153,32 @@ Visit the respective websites to browse available icons. ### Page contents -It is sometimes useful to display a hyperlinked page contents for lengthy pages. -There are two ways to do this on `fortran-lang.org`. +It is sometimes useful to display a hyperlinked page contents for lengthy pages. the inpage toc tree has been automated and would generate the toc of the current page. whereas thd method to generate toc of the entire directory on `fortran-lang.org` is: -__Option 1: Use the `book` layout__ +__For pages in RST:__ +add a toc tree directive at the end of the index page of the directory with the names of the all files in that directory. -The `book` layout is the layout used for mini-book tutorials; -it includes a non-scrolling sidebar which is automatically populated -by the `

` headings on the current page. +``` +.. toctree:: + :maxdepth: 2 -__Option 2:__ + intro + strings + datatypes + numeric +``` -If you just want a list of headings at the top of your page, -include the following snippet, which will be automatically -populated by the `

` headings on the current page. +__For pages in MD:__ -```html - -``` +add the toc tree directive in md at the end of the index page of the directory with the names of the all files in that directory. + +
+````{toctree}  
+:hidden:
+ARRAY_index 
+```` 
+
-__Implementation:__ -the functionality described above is implemented in the javascript file -[assets/js/page_nav.js](./assets/js/page_nav.js). ## Tutorials @@ -299,10 +293,25 @@ Use *emphasis* (`*emphasis*`/`_emphasis_`, rendered as italic) for key words/phr Avoid use of **strong** (`**strong**`, rendered as bold) within paragraphs, since bold style is used for headings, drawing attention to examples (**Example:**), admonition/aside titles, etc. -Make use of the admonition/aside [includes](_includes) (*note*, *tip*, *important*) where appropriate. -* *note*: extra information, something that might appear in a footnote -* *tip*: information about best practices, practical tips -* *important*: warnings, things to avoid, etc. +Make use of the admonition/aside (*note*, *tip*, *important*) where appropriate. +* to add a **note** to md document use: +
+::::{note}
+extra information, something that might appear in a footnote
+::::: 
+
+* to add a **tip** to md document use: +
+::::{tip}
+information about best practices, practical tips
+::::: 
+
+* to add an **important** text to md document use: +
+::::{importrant}
+warnings, things to avoid, etc.
+::::: 
+
Prefer including the [Oxford comma](https://en.wikipedia.org/wiki/Serial_comma). It usually makes things more clear. > Fortran is fast, fun, and famed. diff --git a/LICENSE b/LICENSE index fed5e57ea..c24627d0e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,4 @@ -Copyright (c) 2014 Cameron Eagans and Josh Branchaud -Copyright (c) 2020 fortran-lang.org Contributors +Copyright (c) 2022 fortran-lang.org Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/MINIBOOKS.md b/MINIBOOKS.md index c4fd9b88a..6fb34864d 100644 --- a/MINIBOOKS.md +++ b/MINIBOOKS.md @@ -7,8 +7,7 @@ See [CONTRIBUTING](./CONTRIBUTING.md) for general guidance on contributing to ` heading in the tutorial +* Single-page books have __one level__ of navigation: a link for each heading in the tutorial in inpage-toc (toc on the right hand side of the page). -* Multi-page books have __two levels__ of navigation: a link for each page, and a link for each `

` heading on the current page +* Multi-page books have __two levels__ of navigation: a link for each heading in the tutorial in inpage-toc (toc on the right hand side of the page) and sidebar-toc (toc on the left hand side of the page showing different pages in directory). Single-page mini-books are simpler to produce and should be used for brief topics or short tutorials that will eventually be subsumed into a more-comprehensive multi-page book. @@ -50,8 +49,8 @@ The steps required for publishing a single-page mini-book are: For single-page mini-books your tutorial will be entirely contained within a single markdown document. -First create a new markdown document in the `./learn/` directory with the `.md` file extension -and a short name that concisely describes the topic of your tutorial, _e.g._ `./learn/file_io.md`. +First create a new markdown document in the `./learn/{{name_of_minibook}}/` directory with the `.md` file extension +and a short name that concisely describes the topic of your tutorial, _e.g._ `./learn/{{name_of_minibook}}/file_io.md`. Open your new markdown file and add a header in the following format: @@ -59,7 +58,7 @@ Open your new markdown file and add a header in the following format: --- layout: book title: -permalink: /learn/ +permalink: /learn// --- ``` @@ -76,7 +75,7 @@ __Example:__ header --- layout: book title: Reading and writing files in Fortran -permalink: /learn/file_io +permalink: /learn/file/file_io --- ``` @@ -91,39 +90,22 @@ the markdown implementation. ### 1.2 Structuring your mini-book with headings -You should use `

` headings to break-up your single-page mini-book into a logical -structure. -Each `

` heading will show up in the hyperlinked table-of-contents. +You should use headings to break-up your single-page mini-book into a logical structure. +Each heading will show up in the hyperlinked table-of-contents. -In markdown, `

` headings can be written as: +In markdown, headings can be written as: ```markdown - -My heading ----------- - -``` - -__OR__ - -```markdown - -## My heading - -``` - -__OR__ - - -```markdown - -## My heading ## - +# Heading level 1 +## Heading level 2 +### Heading level 3 +#### Heading level 4 +##### Heading level 5 +###### Heading level 6 ``` __Note:__ make sure to include a blank line before your heading. - ### 1.3 Add your mini-book to the Learn page To add your new mini-book to the _Learn_ page, you need to add a new entry @@ -158,15 +140,15 @@ __Example:__ `learning.yml` book entry - title: File input and output description: A tutorial on reading and writing files in Fortran category: Getting started - link: /learn/file_io + link: /learn/file/file_io ``` -Save the modified `learning.yml` data file and rebuild the website on your local machine to check the results. +Save the modified `learning.yml` data file and run fortran_packages.py and rebuild the website on your local machine to check the results. If successful, a new link should appear on the _Learn_ page with the title of your new mini-book. Once you have completed your mini-book and added an entry to the `learning.yml` data file, open a pull request -at (see [CONTRIBUTING](./CONTRIBUTING.md)). +at (see [CONTRIBUTING](./CONTRIBUTING.md)). @@ -202,8 +184,7 @@ permalink: /learn/ --- ``` -The `title` field should contain a human-readable description of your mini-book tutorial -and this will be displayed as an `

` heading at the top of this first page. +The `title` field should contain a human-readable description of your mini-book tutorial. The `permalink` field should contain `/learn/` followed by the name of your mini-book folder. __There should be no trailing slash.__ @@ -238,8 +219,7 @@ permalink: /learn// --- ``` -Replace `` with the title of your new page; this will be displayed as -an `

` header at the top of the page and in the hyperlinked table-of-contents. +Replace `` with the title of your new page; this will be displayed in the hyperlinked table-of-contents. Replace `` with the name of the markdown file for your new page but __excluding the `.md` extension__. @@ -254,11 +234,9 @@ permalink: /learn/coarrays/background --- ``` -As with single-page mini-books, you should use `

` headings to break-up each +As with single-page mini-books, you should use headings to break-up each page into a logical structure. -Each `

` heading on the current page will show up in the hyperlinked table-of-contents. - - +Each heading on the current page will show up in the inpage table-of-contents. ### 2.3 Add your mini-book to the Learn page @@ -293,7 +271,6 @@ the `categories:` field) and is used to group tutorials on the Learn page. The top-level `link` field should exactly match the `permalink` field in your `index.md` file. Each `link` field under `pages` should exactly match the `permalink` field in each of your subsequent mini-book pages. -Pages are listed in the table-of-contents in the order that they are listed under `pages`. __Example:__ `learning.yml` book entry @@ -310,8 +287,8 @@ __Example:__ `learning.yml` book entry ``` -Save the modified `learning.yml` data file and rebuild the website on your local machine to check the results. +Save the modified `learning.yml` data file and run fortran_package.py and rebuild the website on your local machine to check the results. If successful, a new link should appear on the _Learn_ page with the title of your new mini-book. Once you have completed your mini-book and added an entry to the `learning.yml` data file, open a pull request -at (see [CONTRIBUTING](./CONTRIBUTING.md)). +at (see [CONTRIBUTING](./CONTRIBUTING.md)). \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..1f3c94042 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +# Minimal makefile for Sphinx documentation +# You can set these variables from the command line, and also +# from the environment . + +LANGUAGES ?= en de zh_CN es fr nl ja +SPHINXINTL ?= sphinx-intl +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build +LOCALEDIR ?= locale + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +html: $(addprefix html/,$(LANGUAGES)) $(BUILDDIR)/html/index.html $(BUILDDIR)/html/CNAME + @echo "Pages available at file://$$PWD/$(BUILDDIR)/html/index.html" + +$(addprefix html/,$(LANGUAGES)): $(MAKEFILES) + @$(SPHINXBUILD) "$(SOURCEDIR)" "$(BUILDDIR)/$@" $(SPHINXOPTS) -Dlanguage=$(word 2,$(subst /, ,$@)) + +$(BUILDDIR)/html/index.html: source/html/index.html + @cp $< $@ + +$(BUILDDIR)/html/CNAME: source/html/CNAME + @cp $< $@ + +gettext: $(MAKEFILES) + @$(SPHINXBUILD) -b $@ "$(SOURCEDIR)" "$(BUILDDIR)/$@" $(SPHINXOPTS) + @$(SPHINXINTL) update -p "$(BUILDDIR)/$@" -d locale $(addprefix -l,$(filter-out en,$(LANGUAGES))) \ No newline at end of file diff --git a/PACKAGES.md b/PACKAGES.md index 90c577a72..08d4bd0c7 100644 --- a/PACKAGES.md +++ b/PACKAGES.md @@ -22,9 +22,7 @@ with the license file clearly included with the source code - __Uniqueness__: the package shall not be a fork or minor revision of existing packages - __README__: the package shall have some form of README or landing-page clearly -stating the package purpose and functionality. This should also contain information -on the package dependencies and the steps required to build and run. - +stating the package purpose and functionality. This should also contain information on the package dependencies and the steps required to build and run. The following criteria are not required but are recommended: @@ -61,7 +59,7 @@ Fortran-lang package index, as written in this document ## Package index requests -Package index requests are made by pull requests against the [fortran-lang.org repository](https://github.com/fortran-lang/fortran-lang.org/). +Package index requests are made by pull requests against the [fortran-lang.org repository](https://github.com/fortran-lang/webpage/). See [this guide](https://guides.github.com/activities/forking/) for guidance on forking and making pull requests. Package details are listed in the `_data/package_index.yml` data file. @@ -94,8 +92,7 @@ Valid categories: - `scientific`: domain-specific scientific libraries or applications - `examples`: repositories offering language feature demonstrations, tutorials and benchmarks -__Projects listing more than one category must provide good justification thereof -in the pull request.__ +__Projects listing more than one category must provide good justification thereof in the pull request.__ __Notes:__ diff --git a/README.md b/README.md index 00fa36be9..4811ba6f3 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,4 @@ -# fortran-lang.org website - -This repository contains the source for the fortran-lang.io website. -It's derived from https://github.com/neovim/neovim.github.io. +# New fortran-lang.org website ## Contributing @@ -13,43 +10,84 @@ It's derived from https://github.com/neovim/neovim.github.io. ## Setup -This assumes that you already have a recent Ruby with RubyGems. +### Build fortran-lang.org site (Sphinx Version) + +This assumes that you already have a recent version of python +For example on Ubuntu 20.04, do: + +To install the dependencies of this project, use commamd: -For example on Ubuntu 18.04, do: ``` -sudo apt install ruby-dev +pip3 install --user -r requirements.txt ``` -### Installing Ruby gems +Build the site by invoking -Install Bundler, either systemwide: +``` +make html +``` + +The website will be built in `build/html` and can be previewed by opening the page with a browser (*e.g.* firefox, chromium or similar): ``` -sudo gem install bundler +firefox file://$PWD/build/html/en/index.html ``` -or for the current user: +By default all languages will be built. +To limit the build to a single language subtree, *i.e.* English, use ``` -gem install --user-install bundler -export PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH" +make html LANGUAGES=en ``` -In the latter case, you might want to add the `PATH` update to `.bashrc` or your shell's equivalent. +### Update or add translations + +The documentation uses the +[sphinx-intl](https://sphinx-intl.readthedocs.io/en/master/quickstart.html) +utility to generate websites for multiple languages. +It generates `*.po` files, +which contain the original sentences and a placeholder for translations. -To install the dependencies of this project, use Bundler: +To update translations run ``` -bundle config set path '.bundle' -bundle install +make gettext ``` -### Serving locally +if you only want to update a single translation add `LANGUAGES=de` to the command. +This command will generate the message catalog (`*.pot`) and update the `*.po` files in the *locale* directory of the respective translations. +Then edit the `*.po` files, +e.g. `locale/de/LC_MESSAGES/index.po`. +In the `*.po` files are paragraphs like +```po +#: ../../pages/index.md:16 +msgid "Package manager and build system for Fortran" +msgstr "" +``` + +The first line describes the file and line where to find the original text. -Execute the following command: +The second line is the original text. +**Don't edit this line, edit the original document instead**. +The third line is meant for the translation. + +To continue a long string in another line, +simply close the string in the current line with `"` +and open another one in the line underneath. E.g. ``` -bundle exec jekyll serve --watch +msgstr "This is " +"one string" ``` +*don't forget a space between 'is' and 'one'* + +After adding or updating translations +build the documentation as described above. + +## License + +This project is free software: you can redistribute it and/or modify it under the terms of the [MIT license](LICENSE). + +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an _as is_ basis, without warranties or conditions of any kind, either express or implied. See the License for the specific language governing permissions and limitations under the License. -Open `http://localhost:4000` to view the website. +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this repository by you, shall be licensed as above, without any additional terms or conditions. diff --git a/_data/contributor.json b/_data/contributor.json new file mode 100644 index 000000000..52b2e3744 --- /dev/null +++ b/_data/contributor.json @@ -0,0 +1 @@ +{"repo": "fortran-lang", "contributor": ["14NGiestas", "AlexisPerry", "Aman-Godara", "Beliavsky", "ChetanKarwa", "EverLookNeverSee", "Irvise", "JHenneberg", "Jim-215-Fisher", "LKedward", "Leonard-Reuter", "MarDiehl", "Sideboard", "St-Maxwell", "aktech", "aradi", "arjenmarkus", "arteevraina", "ashirrwad", "ashwinvis", "aslozada", "awvwgk", "carlosune", "certik", "dav05", "degawa", "dev-zero", "ejovo13", "epagone", "everythingfunctional", "fiolj", "fluidnumerics-joe", "freevryheid", "gareth-nx", "ghbrown", "henilp105", "hsnyder", "ibara", "imjasonmiller", "interkosmos", "ivan-pi", "jacobwilliams", "jme52", "jvdp1", "kubajj", "lewisfish", "marshallward", "milancurcic", "noisegul", "nshaffer", "p-costa", "pdebuyl", "rouson", "sakamoti", "sblionel", "scivision", "shahmoradi", "smeskos", "tclune", "thchang", "urbanjost", "vmagnin", "wclodius2", "wiremoons", "wyphan", "zbeekman", "zjibben", "zmoon", "zoziha"]} \ No newline at end of file diff --git a/_data/fortran_learn.json b/_data/fortran_learn.json new file mode 100644 index 000000000..42692fa2e --- /dev/null +++ b/_data/fortran_learn.json @@ -0,0 +1 @@ +{"categories": [{"name": "Getting started"}, {"name": "Fortran Documentation"}], "books": [{"title": "Quickstart Fortran Tutorial", "description": "An introduction to the Fortran syntax and its capabilities", "category": "Getting started", "link": "/learn/quickstart", "pages": [{"link": "/learn/quickstart/hello_world"}, {"link": "/learn/quickstart/variables"}, {"link": "/learn/quickstart/arrays_strings"}, {"link": "/learn/quickstart/operators_control_flow"}, {"link": "/learn/quickstart/organising_code"}, {"link": "/learn/quickstart/derived_types"}]}, {"title": "Building programs", "description": "How to use the compiler to build an executable program", "category": "Getting started", "link": "/learn/building_programs", "pages": [{"link": "/learn/building_programs/compiling_source"}, {"link": "/learn/building_programs/linking_pieces"}, {"link": "/learn/building_programs/runtime_libraries"}, {"link": "/learn/building_programs/include_files"}, {"link": "/learn/building_programs/managing_libraries"}, {"link": "/learn/building_programs/build_tools"}, {"link": "/learn/building_programs/project_make"}, {"link": "/learn/building_programs/distributing"}]}, {"title": "Setting up your OS", "description": "How to install a Fortran compiler and set up a development environment in Windows, Linux and macOS.", "category": "Getting started", "link": "/learn/os_setup", "pages": [{"link": "/learn/os_setup/choose_compiler"}, {"link": "/learn/os_setup/install_gfortran"}, {"link": "/learn/os_setup/text_editors"}, {"link": "/learn/os_setup/ides"}, {"link": "/learn/os_setup/tips"}]}, {"title": "Fortran Best Practices", "description": "This tutorial collects a modern canonical way of doing things in Fortran.", "category": "Getting started", "link": "/learn/best_practices", "pages": [{"link": "/learn/best_practices/style_guide"}, {"link": "/learn/best_practices/floating_point"}, {"link": "/learn/best_practices/integer_division"}, {"link": "/learn/best_practices/modules_programs"}, {"link": "/learn/best_practices/arrays"}, {"link": "/learn/best_practices/multidim_arrays"}, {"link": "/learn/best_practices/element_operations"}, {"link": "/learn/best_practices/allocatable_arrays"}, {"link": "/learn/best_practices/file_io"}, {"link": "/learn/best_practices/callbacks"}, {"link": "/learn/best_practices/type_casting"}]}, {"title": "Fortran Intrinsics", "description": "man-pages for the Fortran Intrinsics", "category": "Fortran Documentation", "link": "/learn/intrinsics", "pages": [{"link": "/learn/intrinsics/ABS"}, {"link": "/learn/intrinsics/ACHAR"}, {"link": "/learn/intrinsics/ACOSH"}, {"link": "/learn/intrinsics/ACOS"}, {"link": "/learn/intrinsics/ADJUSTL"}, {"link": "/learn/intrinsics/ADJUSTR"}, {"link": "/learn/intrinsics/AIMAG"}, {"link": "/learn/intrinsics/AINT"}, {"link": "/learn/intrinsics/ALL"}, {"link": "/learn/intrinsics/ALLOCATED"}, {"link": "/learn/intrinsics/ANINT"}, {"link": "/learn/intrinsics/ANY"}, {"link": "/learn/intrinsics/ASINH"}, {"link": "/learn/intrinsics/ASIN"}, {"link": "/learn/intrinsics/ASSOCIATED"}, {"link": "/learn/intrinsics/ATAN2"}, {"link": "/learn/intrinsics/ATANH"}, {"link": "/learn/intrinsics/ATAN"}, {"link": "/learn/intrinsics/ATOMIC_ADD"}, {"link": "/learn/intrinsics/ATOMIC_AND"}, {"link": "/learn/intrinsics/ATOMIC_CAS"}, {"link": "/learn/intrinsics/ATOMIC_DEFINE"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_ADD"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_AND"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_OR"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_XOR"}, {"link": "/learn/intrinsics/ATOMIC_OR"}, {"link": "/learn/intrinsics/ATOMIC_REF"}, {"link": "/learn/intrinsics/ATOMIC_XOR"}, {"link": "/learn/intrinsics/BESSEL_J0"}, {"link": "/learn/intrinsics/BESSEL_J1"}, {"link": "/learn/intrinsics/BESSEL_JN"}, {"link": "/learn/intrinsics/BESSEL_Y0"}, {"link": "/learn/intrinsics/BESSEL_Y1"}, {"link": "/learn/intrinsics/BESSEL_YN"}, {"link": "/learn/intrinsics/BGE"}, {"link": "/learn/intrinsics/BGT"}, {"link": "/learn/intrinsics/BIT_SIZE"}, {"link": "/learn/intrinsics/BLE"}, {"link": "/learn/intrinsics/BLT"}, {"link": "/learn/intrinsics/BTEST"}, {"link": "/learn/intrinsics/C_ASSOCIATED"}, {"link": "/learn/intrinsics/CEILING"}, {"link": "/learn/intrinsics/C_F_POINTER"}, {"link": "/learn/intrinsics/C_F_PROCPOINTER"}, {"link": "/learn/intrinsics/C_FUNLOC"}, {"link": "/learn/intrinsics/CHAR"}, {"link": "/learn/intrinsics/C_LOC"}, {"link": "/learn/intrinsics/CMPLX"}, {"link": "/learn/intrinsics/CO_BROADCAST"}, {"link": "/learn/intrinsics/CO_LBOUND"}, {"link": "/learn/intrinsics/CO_MAX"}, {"link": "/learn/intrinsics/CO_MIN"}, {"link": "/learn/intrinsics/COMMAND_ARGUMENT_COUNT"}, {"link": "/learn/intrinsics/COMPILER_OPTIONS"}, {"link": "/learn/intrinsics/COMPILER_VERSION"}, {"link": "/learn/intrinsics/CONJG"}, {"link": "/learn/intrinsics/CO_REDUCE"}, {"link": "/learn/intrinsics/COSH"}, {"link": "/learn/intrinsics/COS"}, {"link": "/learn/intrinsics/CO_SUM"}, {"link": "/learn/intrinsics/CO_UBOUND"}, {"link": "/learn/intrinsics/COUNT"}, {"link": "/learn/intrinsics/CPU_TIME"}, {"link": "/learn/intrinsics/CSHIFT"}, {"link": "/learn/intrinsics/C_SIZEOF"}, {"link": "/learn/intrinsics/DATE_AND_TIME"}, {"link": "/learn/intrinsics/DBLE"}, {"link": "/learn/intrinsics/DIGITS"}, {"link": "/learn/intrinsics/DIM"}, {"link": "/learn/intrinsics/DOT_PRODUCT"}, {"link": "/learn/intrinsics/DPROD"}, {"link": "/learn/intrinsics/DSHIFTL"}, {"link": "/learn/intrinsics/DSHIFTR"}, {"link": "/learn/intrinsics/EOSHIFT"}, {"link": "/learn/intrinsics/EPSILON"}, {"link": "/learn/intrinsics/ERFC"}, {"link": "/learn/intrinsics/ERFC_SCALED"}, {"link": "/learn/intrinsics/ERF"}, {"link": "/learn/intrinsics/EVENT_QUERY"}, {"link": "/learn/intrinsics/EXECUTE_COMMAND_LINE"}, {"link": "/learn/intrinsics/EXP"}, {"link": "/learn/intrinsics/EXPONENT"}, {"link": "/learn/intrinsics/EXTENDS_TYPE_OF"}, {"link": "/learn/intrinsics/FINDLOC"}, {"link": "/learn/intrinsics/FLOAT"}, {"link": "/learn/intrinsics/FLOOR"}, {"link": "/learn/intrinsics/FRACTION"}, {"link": "/learn/intrinsics/GAMMA"}, {"link": "/learn/intrinsics/GET_COMMAND_ARGUMENT"}, {"link": "/learn/intrinsics/GET_COMMAND"}, {"link": "/learn/intrinsics/GET_ENVIRONMENT_VARIABLE"}, {"link": "/learn/intrinsics/HUGE"}, {"link": "/learn/intrinsics/HYPOT"}, {"link": "/learn/intrinsics/IACHAR"}, {"link": "/learn/intrinsics/IALL"}, {"link": "/learn/intrinsics/IAND"}, {"link": "/learn/intrinsics/IANY"}, {"link": "/learn/intrinsics/IBCLR"}, {"link": "/learn/intrinsics/IBITS"}, {"link": "/learn/intrinsics/IBSET"}, {"link": "/learn/intrinsics/ICHAR"}, {"link": "/learn/intrinsics/IEOR"}, {"link": "/learn/intrinsics/IMAGE_INDEX"}, {"link": "/learn/intrinsics/INDEX"}, {"link": "/learn/intrinsics/INT"}, {"link": "/learn/intrinsics/IOR"}, {"link": "/learn/intrinsics/IPARITY"}, {"link": "/learn/intrinsics/IS_CONTIGUOUS"}, {"link": "/learn/intrinsics/ISHFTC"}, {"link": "/learn/intrinsics/ISHFT"}, {"link": "/learn/intrinsics/IS_IOSTAT_END"}, {"link": "/learn/intrinsics/IS_IOSTAT_EOR"}, {"link": "/learn/intrinsics/KIND"}, {"link": "/learn/intrinsics/LBOUND"}, {"link": "/learn/intrinsics/LEADZ"}, {"link": "/learn/intrinsics/LEN"}, {"link": "/learn/intrinsics/LEN_TRIM"}, {"link": "/learn/intrinsics/LGE"}, {"link": "/learn/intrinsics/LGT"}, {"link": "/learn/intrinsics/LLE"}, {"link": "/learn/intrinsics/LLT"}, {"link": "/learn/intrinsics/LOG10"}, {"link": "/learn/intrinsics/LOG_GAMMA"}, {"link": "/learn/intrinsics/LOGICAL"}, {"link": "/learn/intrinsics/LOG"}, {"link": "/learn/intrinsics/MASKL"}, {"link": "/learn/intrinsics/MASKR"}, {"link": "/learn/intrinsics/MATMUL"}, {"link": "/learn/intrinsics/MAXEXPONENT"}, {"link": "/learn/intrinsics/MAXLOC"}, {"link": "/learn/intrinsics/MAX"}, {"link": "/learn/intrinsics/MAXVAL"}, {"link": "/learn/intrinsics/MERGE_BITS"}, {"link": "/learn/intrinsics/MERGE"}, {"link": "/learn/intrinsics/MINEXPONENT"}, {"link": "/learn/intrinsics/MINLOC"}, {"link": "/learn/intrinsics/MIN"}, {"link": "/learn/intrinsics/MINVAL"}, {"link": "/learn/intrinsics/MOD"}, {"link": "/learn/intrinsics/MODULO"}, {"link": "/learn/intrinsics/MOVE_ALLOC"}, {"link": "/learn/intrinsics/MVBITS"}, {"link": "/learn/intrinsics/NEAREST"}, {"link": "/learn/intrinsics/NEW_LINE"}, {"link": "/learn/intrinsics/NINT"}, {"link": "/learn/intrinsics/NORM2"}, {"link": "/learn/intrinsics/NOT"}, {"link": "/learn/intrinsics/NULL"}, {"link": "/learn/intrinsics/NUM_IMAGES"}, {"link": "/learn/intrinsics/PACK"}, {"link": "/learn/intrinsics/PARITY"}, {"link": "/learn/intrinsics/POPCNT"}, {"link": "/learn/intrinsics/POPPAR"}, {"link": "/learn/intrinsics/PRECISION"}, {"link": "/learn/intrinsics/PRESENT"}, {"link": "/learn/intrinsics/PRODUCT"}, {"link": "/learn/intrinsics/RADIX"}, {"link": "/learn/intrinsics/RANDOM_NUMBER"}, {"link": "/learn/intrinsics/RANDOM_SEED"}, {"link": "/learn/intrinsics/RANGE"}, {"link": "/learn/intrinsics/RANK"}, {"link": "/learn/intrinsics/REAL"}, {"link": "/learn/intrinsics/REPEAT"}, {"link": "/learn/intrinsics/RESHAPE"}, {"link": "/learn/intrinsics/RRSPACING"}, {"link": "/learn/intrinsics/SAME_TYPE_AS"}, {"link": "/learn/intrinsics/SCALE"}, {"link": "/learn/intrinsics/SCAN"}, {"link": "/learn/intrinsics/SELECTED_CHAR_KIND"}, {"link": "/learn/intrinsics/SELECTED_INT_KIND"}, {"link": "/learn/intrinsics/SELECTED_REAL_KIND"}, {"link": "/learn/intrinsics/SET_EXPONENT"}, {"link": "/learn/intrinsics/SHAPE"}, {"link": "/learn/intrinsics/SHIFTA"}, {"link": "/learn/intrinsics/SHIFTL"}, {"link": "/learn/intrinsics/SHIFTR"}, {"link": "/learn/intrinsics/SIGN"}, {"link": "/learn/intrinsics/SINH"}, {"link": "/learn/intrinsics/SIN"}, {"link": "/learn/intrinsics/SIZE"}, {"link": "/learn/intrinsics/SNGL"}, {"link": "/learn/intrinsics/SPACING"}, {"link": "/learn/intrinsics/SPREAD"}, {"link": "/learn/intrinsics/SQRT"}, {"link": "/learn/intrinsics/STORAGE_SIZE"}, {"link": "/learn/intrinsics/SUM"}, {"link": "/learn/intrinsics/SYSTEM_CLOCK"}, {"link": "/learn/intrinsics/TANH"}, {"link": "/learn/intrinsics/TAN"}, {"link": "/learn/intrinsics/THIS_IMAGE"}, {"link": "/learn/intrinsics/TINY"}, {"link": "/learn/intrinsics/TRAILZ"}, {"link": "/learn/intrinsics/TRANSFER"}, {"link": "/learn/intrinsics/TRANSPOSE"}, {"link": "/learn/intrinsics/TRIM"}, {"link": "/learn/intrinsics/UBOUND"}, {"link": "/learn/intrinsics/UNPACK"}, {"link": "/learn/intrinsics/VERIFY"}]}], "reference-links": [{"name": "Fortran wiki", "url": "http://fortranwiki.org/", "description": "A rich collection of Fortran articles and resources in an editable wiki format"}, {"name": "Fortran 90 org", "url": "https://www.fortran90.org/", "description": "Fortran Best Practices guide, Python/Fortran Rosetta Stone, Fortran FAQ"}, {"name": "Fortran 2018 Standard Interpretation Document", "url": "https://j3-fortran.org/doc/year/18/18-007r1.pdf", "description": "J3/18-007r1 F2018, specification of the base Fortran 2018 language"}, {"name": "J3 Fortran Proposals", "url": "https://github.com/j3-fortran/fortran_proposals", "description": "a repository for community collaboration on proposals for the Fortran Standards Committee"}, {"name": "J3: US Fortran Standards Committee", "url": "https://j3-fortran.org/", "description": "J3 is the US National Body for the international Fortran standards committee"}, {"name": "WG5: International Fortran Standards Committee", "url": "https://wg5-fortran.org/", "description": null}, {"name": "Scivision Fortran 2018 Examples", "url": "https://github.com/scivision/fortran2018-examples", "description": "A github repository containing code samples for various Fortran 2018 features"}, {"name": "Doctor Fortran Blog", "url": "https://stevelionel.com/drfortran", "description": "A collection of posts on interesting or little-understood aspects of the Fortran language"}], "reference-courses": [{"name": "Programming in Fortran", "url": "https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran", "description": "course offered at the Leibniz-Rechenzentrum"}, {"name": "PRACE Course: Fortran for Scientific Computing", "url": "https://www.futurelearn.com/courses/fortran-for-scientific-computing"}, {"name": "PRACE Course: Advanced Fortran Topics", "url": "https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics"}, {"name": "The 'F' Word - Programming in Fortran", "url": "https://www.youtube.com/playlist?list=PLRO4xf5MdhAv9CNTETor75rANZtBqPVgQ", "description": "modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods"}, {"name": "Kursmaterial f\u00fcr Wissenschaftliches Programmieren (Modern Fortran, 2017)", "url": "https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017", "description": "from B\u00e1lint Aradi at Bremen Center for Computational Materials Science (German)"}, {"name": "Formations Fortran", "url": "http://www.idris.fr/formations/fortran/", "description": "Fortran course from beginner to expert level (French)"}, {"name": "Modern Fortran Programming for Chemists and Physicists", "url": "http://www.chem.helsinki.fi/~manninen/fortran2014/", "description": "course by Pekka Manninen from University of Helsinki (includes coarrays)"}, {"name": "Expressing Object-Oriented Concepts in Fortran90", "url": "http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html"}, {"name": "Coarray tutorial", "url": "https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md", "description": "by Thomas Koenig"}, {"name": "Parallel Programming Workshop", "url": "https://fs.hlrs.de/projects/par/par_prog_ws/", "description": "materials from the High-Performance Computing Center in Stuttgart"}, {"name": "Programming in Modern Fortran", "url": "https://cyber.dabamos.de/programming/modernfortran/", "description": "by Philipp Engel"}, {"name": "2018 Workshop on Fortran Modernization for Scientific Applications", "url": "https://tcevents.chem.uzh.ch/event/3/"}, {"name": "Introduction to Programming using Fortran 95/2003/2008", "url": "http://www.egr.unlv.edu/~ed/fortran.html"}, {"name": "Scientific Programing and Numerical Computation", "url": "http://homepage.ntu.edu.tw/~wttsai/fortran/", "description": "course by Wu-ting Tsai from National Taiwan University"}, {"name": "Introduction to Modern Fortran", "url": "https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/", "description": "course given by Nick Maclaren from the University of Cambridge Computing Service, derived from a course by Steve Morgan from the University of Liverpool"}, {"name": "User Notes on Fortran Programming (UNFP)", "url": "http://www.ibiblio.org/pub/languages/fortran/unfp.html"}, {"name": "Designing and Building Parallel Programs", "url": "https://www.mcs.anl.gov/~itf/dbpp/", "description": "by Ian Foster, contains descriptions of several non-standard Fortran dialects like Fortran M and High Performance Fortran)"}, {"name": "Parallel programming with Fortran 2008 and 2018 coarrays", "url": "https://coarrays.sourceforge.io/doc.html", "description": "course by Anton Shterenlikht from the University of Bristol"}, {"name": "Professional Programmer's Guide to Fortran77", "url": "https://www.star.le.ac.uk/~cgp/prof77.html", "description": "by Clive G. Page, University of Leicester, UK"}, {"name": "Fortran90 for Fortran77 Programmers", "url": "https://www.star.le.ac.uk/~cgp/f90course/f90.html", "description": "by Clive G. Page"}, {"name": "Introduction to Computer Programming Using Fortran 95", "url": "https://www.archer.ac.uk/training/course-material/2014/08/F95_CCFE/Fortran95CourseNotes.pdf", "description": "training materials from ARCHER, the UK National Supercomputing Service"}, {"name": "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008", "url": "https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf", "description": "by Robert W. Numrich"}, {"name": "Parallel programming in Fortran with Coarrays", "url": "ftp://ftp.numerical.rl.ac.uk/pub/talks/jkr.reading.5XI08.pdf", "description": "by John Reid"}, {"name": "Introduction to Co-Array Fortran", "url": "https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf", "description": "by Robert W. Numrich"}, {"name": "Fortran 90 for the Fortran 77 Programmer", "url": "https://www.nsc.liu.se/~boein/f77to90/f77to90.html", "description": "by Bo Einarsson and Yurij Shokin"}, {"name": "Fortran Tutorial", "url": "https://www.tat.physik.uni-tuebingen.de/~kley/lehre/ftn77/tutorial/", "description": "older tutorial by Erik Boman, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://web.stanford.edu/class/me200c/tutorial_90/", "description": "older tutorial by Paul Hargrove and Sarah Whitlock, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://pages.mtu.edu/%7eshene/COURSES/cs201/NOTES/fortran.html", "description": "by C.-K. Shene, Michigan Technologial University"}, {"name": "Exploring Modern Fortran Basics", "url": "https://www.manning.com/books/exploring-modern-fortran-basics", "description": "by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications"}], "reference-books": [{"author": "Ramkarthik, M. S., and Solanki, P. D.", "year": 2021, "title": "Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90", "url": "https://www.routledge.com/Numerical-Recipes-in-Quantum-Information-Theory-and-Quantum-Computing-An/Ramkarthik-Solanki/p/book/9780367759285", "edition": "1st ed", "location": "Boca Raton", "publisher": "CRC Press"}, {"author": "Metcalf, M., Reid, J. and Cohen, M.", "year": 2018, "title": "Modern Fortran Explained", "url": "https://global.oup.com/academic/product/modern-fortran-explained-9780198811893", "edition": "5th ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Curcic, M.", "year": 2020, "title": "Modern Fortran: Building Efficient Parallel Applications", "url": "https://www.manning.com/books/modern-fortran", "edition": "1st ed", "location": "Shelter Island, NY", "publisher": "Manning Publications"}, {"author": "Fehr, H. and Kindermann, F.", "year": 2020, "title": "Introduction to Computational Economics Using Fortran", "url": "https://www.ce-fortran.com/", "edition": "1st ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Markus, A.", "year": 2012, "title": "Modern Fortran in Practice", "url": "https://www.cambridge.org/core/books/modern-fortran-in-practice/BC5BD23B2E478B4D457C5D6265BA9363", "edition": "1st ed", "location": "Cambridge, UK", "publisher": "Cambridge University Press"}, {"author": "Chivers, I. and Sleightholme, J.", "year": 2018, "title": "Introduction to Programming with Fortran", "url": "https://doi.org/10.1007/978-3-319-75502-1", "edition": "4th ed", "publisher": "Springer International Publishing"}, {"author": "Chapman, S. J.", "year": 2018, "title": "Fortran for Scientists and Engineers", "url": "https://www.mheducation.com/highered/product/fortran-scientists-engineers-chapman/M9780073385891.html", "edition": "4th ed", "location": "New York", "publisher": "McGraw-Hill Education"}, {"author": "Ray, S.", "year": 2019, "title": "Fortran 2018 with Parallel Programming", "url": "https://www.routledge.com/Fortran-2018-with-Parallel-Programming/Ray/p/book/9780367218430", "edition": "1st ed", "publisher": "Chapman and Hall/CRC"}, {"author": "Brainerd, W. S.", "year": 2015, "title": "Guide to Fortran 2008 Programming", "url": "https://doi.org/10.1007/978-1-4471-6759-4", "edition": "1st ed", "location": "London", "publisher": "Springer-Verlag"}, {"author": "Numrich, R. W.", "year": 2018, "title": "Parallel Programming with Co-arrays", "url": "https://doi.org/10.1201/9780429437182", "edition": "1st ed", "location": "New York", "publisher": "Chapman and Hall/CRC"}, {"author": "Akin, E.", "year": 2003, "title": "Object-Oriented Programming via Fortran 90/95", "url": "https://doi.org/10.1017/CBO9780511530111", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "McCormack, D.", "year": 2009, "title": "Scientific Software Development with Fortran", "url": "https://www.lulu.com/en/gb/shop/drew-mccormack/scientific-software-development-in-fortran/ebook/product-1gvmw8p6.html", "edition": "1st ed", "location": null, "publisher": "Lulu Press"}, {"author": "Rouson, D., Xia, J., and Xiaofeng, X.", "year": 2014, "title": "Scientific Software Design: The Object-Oriented Way", "url": "https://www.cambridge.org/gb/academic/subjects/engineering/engineering-general-interest/scientific-software-design-object-oriented-way", "edition": "2nd ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Chirila, D. B., and Lohmann, G.", "year": 2015, "title": "Introduction to Modern Fortran for the Earth System Sciences", "url": "https://doi.org/10.1007/978-3-642-37009-0", "edition": "1st ed", "location": "Berlin", "publisher": "Springer-Verlag"}, {"author": "Clerman, N. S. and Spector, W.", "year": 2011, "title": "Modern Fortran: Style and Usage", "url": "https://doi.org/10.1017/CBO9781139027687", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Hanson, R. J. and Hopkins, T.", "year": 2013, "title": "Numerical Computing with Modern Fortran", "url": "https://doi.org/10.1137/1.9781611973129.fm", "edition": "1st ed", "location": "Philadelphia", "publisher": "SIAM"}, {"author": "Oliveira, S. and Steward, D.", "year": 2006, "title": "Writing Scientific Software: A Guide to Good Style", "url": "https://www.cambridge.org/gb/academic/subjects/computer-science/scientific-computing-scientific-software/writing-scientific-software-guide-good-style", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Kernighan, B. and Pike, R.", "year": 1999, "title": "The Practice of Programming", "url": "https://www.oreilly.com/library/view/the-practice-of/9780133133448/", "edition": "1st ed", "location": "Reading", "publisher": "Addison-Wesley Professional"}], "reference_books": [{"author": "Ramkarthik, M. S., and Solanki, P. D.", "year": 2021, "title": "Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90", "url": "https://www.routledge.com/Numerical-Recipes-in-Quantum-Information-Theory-and-Quantum-Computing-An/Ramkarthik-Solanki/p/book/9780367759285", "edition": "1st ed", "location": "Boca Raton", "publisher": "CRC Press"}, {"author": "Metcalf, M., Reid, J. and Cohen, M.", "year": 2018, "title": "Modern Fortran Explained", "url": "https://global.oup.com/academic/product/modern-fortran-explained-9780198811893", "edition": "5th ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Curcic, M.", "year": 2020, "title": "Modern Fortran: Building Efficient Parallel Applications", "url": "https://www.manning.com/books/modern-fortran", "edition": "1st ed", "location": "Shelter Island, NY", "publisher": "Manning Publications"}, {"author": "Fehr, H. and Kindermann, F.", "year": 2020, "title": "Introduction to Computational Economics Using Fortran", "url": "https://www.ce-fortran.com/", "edition": "1st ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Markus, A.", "year": 2012, "title": "Modern Fortran in Practice", "url": "https://www.cambridge.org/core/books/modern-fortran-in-practice/BC5BD23B2E478B4D457C5D6265BA9363", "edition": "1st ed", "location": "Cambridge, UK", "publisher": "Cambridge University Press"}, {"author": "Chivers, I. and Sleightholme, J.", "year": 2018, "title": "Introduction to Programming with Fortran", "url": "https://doi.org/10.1007/978-3-319-75502-1", "edition": "4th ed", "publisher": "Springer International Publishing"}, {"author": "Chapman, S. J.", "year": 2018, "title": "Fortran for Scientists and Engineers", "url": "https://www.mheducation.com/highered/product/fortran-scientists-engineers-chapman/M9780073385891.html", "edition": "4th ed", "location": "New York", "publisher": "McGraw-Hill Education"}, {"author": "Ray, S.", "year": 2019, "title": "Fortran 2018 with Parallel Programming", "url": "https://www.routledge.com/Fortran-2018-with-Parallel-Programming/Ray/p/book/9780367218430", "edition": "1st ed", "publisher": "Chapman and Hall/CRC"}, {"author": "Brainerd, W. S.", "year": 2015, "title": "Guide to Fortran 2008 Programming", "url": "https://doi.org/10.1007/978-1-4471-6759-4", "edition": "1st ed", "location": "London", "publisher": "Springer-Verlag"}, {"author": "Numrich, R. W.", "year": 2018, "title": "Parallel Programming with Co-arrays", "url": "https://doi.org/10.1201/9780429437182", "edition": "1st ed", "location": "New York", "publisher": "Chapman and Hall/CRC"}, {"author": "Akin, E.", "year": 2003, "title": "Object-Oriented Programming via Fortran 90/95", "url": "https://doi.org/10.1017/CBO9780511530111", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "McCormack, D.", "year": 2009, "title": "Scientific Software Development with Fortran", "url": "https://www.lulu.com/en/gb/shop/drew-mccormack/scientific-software-development-in-fortran/ebook/product-1gvmw8p6.html", "edition": "1st ed", "location": null, "publisher": "Lulu Press"}, {"author": "Rouson, D., Xia, J., and Xiaofeng, X.", "year": 2014, "title": "Scientific Software Design: The Object-Oriented Way", "url": "https://www.cambridge.org/gb/academic/subjects/engineering/engineering-general-interest/scientific-software-design-object-oriented-way", "edition": "2nd ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Chirila, D. B., and Lohmann, G.", "year": 2015, "title": "Introduction to Modern Fortran for the Earth System Sciences", "url": "https://doi.org/10.1007/978-3-642-37009-0", "edition": "1st ed", "location": "Berlin", "publisher": "Springer-Verlag"}, {"author": "Clerman, N. S. and Spector, W.", "year": 2011, "title": "Modern Fortran: Style and Usage", "url": "https://doi.org/10.1017/CBO9781139027687", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Hanson, R. J. and Hopkins, T.", "year": 2013, "title": "Numerical Computing with Modern Fortran", "url": "https://doi.org/10.1137/1.9781611973129.fm", "edition": "1st ed", "location": "Philadelphia", "publisher": "SIAM"}, {"author": "Oliveira, S. and Steward, D.", "year": 2006, "title": "Writing Scientific Software: A Guide to Good Style", "url": "https://www.cambridge.org/gb/academic/subjects/computer-science/scientific-computing-scientific-software/writing-scientific-software-guide-good-style", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Kernighan, B. and Pike, R.", "year": 1999, "title": "The Practice of Programming", "url": "https://www.oreilly.com/library/view/the-practice-of/9780133133448/", "edition": "1st ed", "location": "Reading", "publisher": "Addison-Wesley Professional"}], "reference_courses": [{"name": "Programming in Fortran", "url": "https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran", "description": "course offered at the Leibniz-Rechenzentrum"}, {"name": "PRACE Course: Fortran for Scientific Computing", "url": "https://www.futurelearn.com/courses/fortran-for-scientific-computing"}, {"name": "PRACE Course: Advanced Fortran Topics", "url": "https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics"}, {"name": "The 'F' Word - Programming in Fortran", "url": "https://www.youtube.com/playlist?list=PLRO4xf5MdhAv9CNTETor75rANZtBqPVgQ", "description": "modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods"}, {"name": "Kursmaterial f\u00fcr Wissenschaftliches Programmieren (Modern Fortran, 2017)", "url": "https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017", "description": "from B\u00e1lint Aradi at Bremen Center for Computational Materials Science (German)"}, {"name": "Formations Fortran", "url": "http://www.idris.fr/formations/fortran/", "description": "Fortran course from beginner to expert level (French)"}, {"name": "Modern Fortran Programming for Chemists and Physicists", "url": "http://www.chem.helsinki.fi/~manninen/fortran2014/", "description": "course by Pekka Manninen from University of Helsinki (includes coarrays)"}, {"name": "Expressing Object-Oriented Concepts in Fortran90", "url": "http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html"}, {"name": "Coarray tutorial", "url": "https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md", "description": "by Thomas Koenig"}, {"name": "Parallel Programming Workshop", "url": "https://fs.hlrs.de/projects/par/par_prog_ws/", "description": "materials from the High-Performance Computing Center in Stuttgart"}, {"name": "Programming in Modern Fortran", "url": "https://cyber.dabamos.de/programming/modernfortran/", "description": "by Philipp Engel"}, {"name": "2018 Workshop on Fortran Modernization for Scientific Applications", "url": "https://tcevents.chem.uzh.ch/event/3/"}, {"name": "Introduction to Programming using Fortran 95/2003/2008", "url": "http://www.egr.unlv.edu/~ed/fortran.html"}, {"name": "Scientific Programing and Numerical Computation", "url": "http://homepage.ntu.edu.tw/~wttsai/fortran/", "description": "course by Wu-ting Tsai from National Taiwan University"}, {"name": "Introduction to Modern Fortran", "url": "https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/", "description": "course given by Nick Maclaren from the University of Cambridge Computing Service, derived from a course by Steve Morgan from the University of Liverpool"}, {"name": "User Notes on Fortran Programming (UNFP)", "url": "http://www.ibiblio.org/pub/languages/fortran/unfp.html"}, {"name": "Designing and Building Parallel Programs", "url": "https://www.mcs.anl.gov/~itf/dbpp/", "description": "by Ian Foster, contains descriptions of several non-standard Fortran dialects like Fortran M and High Performance Fortran)"}, {"name": "Parallel programming with Fortran 2008 and 2018 coarrays", "url": "https://coarrays.sourceforge.io/doc.html", "description": "course by Anton Shterenlikht from the University of Bristol"}, {"name": "Professional Programmer's Guide to Fortran77", "url": "https://www.star.le.ac.uk/~cgp/prof77.html", "description": "by Clive G. Page, University of Leicester, UK"}, {"name": "Fortran90 for Fortran77 Programmers", "url": "https://www.star.le.ac.uk/~cgp/f90course/f90.html", "description": "by Clive G. Page"}, {"name": "Introduction to Computer Programming Using Fortran 95", "url": "https://www.archer.ac.uk/training/course-material/2014/08/F95_CCFE/Fortran95CourseNotes.pdf", "description": "training materials from ARCHER, the UK National Supercomputing Service"}, {"name": "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008", "url": "https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf", "description": "by Robert W. Numrich"}, {"name": "Parallel programming in Fortran with Coarrays", "url": "ftp://ftp.numerical.rl.ac.uk/pub/talks/jkr.reading.5XI08.pdf", "description": "by John Reid"}, {"name": "Introduction to Co-Array Fortran", "url": "https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf", "description": "by Robert W. Numrich"}, {"name": "Fortran 90 for the Fortran 77 Programmer", "url": "https://www.nsc.liu.se/~boein/f77to90/f77to90.html", "description": "by Bo Einarsson and Yurij Shokin"}, {"name": "Fortran Tutorial", "url": "https://www.tat.physik.uni-tuebingen.de/~kley/lehre/ftn77/tutorial/", "description": "older tutorial by Erik Boman, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://web.stanford.edu/class/me200c/tutorial_90/", "description": "older tutorial by Paul Hargrove and Sarah Whitlock, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://pages.mtu.edu/%7eshene/COURSES/cs201/NOTES/fortran.html", "description": "by C.-K. Shene, Michigan Technologial University"}, {"name": "Exploring Modern Fortran Basics", "url": "https://www.manning.com/books/exploring-modern-fortran-basics", "description": "by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications"}], "reference_links": [{"name": "Fortran wiki", "url": "http://fortranwiki.org/", "description": "A rich collection of Fortran articles and resources in an editable wiki format"}, {"name": "Fortran 90 org", "url": "https://www.fortran90.org/", "description": "Fortran Best Practices guide, Python/Fortran Rosetta Stone, Fortran FAQ"}, {"name": "Fortran 2018 Standard Interpretation Document", "url": "https://j3-fortran.org/doc/year/18/18-007r1.pdf", "description": "J3/18-007r1 F2018, specification of the base Fortran 2018 language"}, {"name": "J3 Fortran Proposals", "url": "https://github.com/j3-fortran/fortran_proposals", "description": "a repository for community collaboration on proposals for the Fortran Standards Committee"}, {"name": "J3: US Fortran Standards Committee", "url": "https://j3-fortran.org/", "description": "J3 is the US National Body for the international Fortran standards committee"}, {"name": "WG5: International Fortran Standards Committee", "url": "https://wg5-fortran.org/", "description": null}, {"name": "Scivision Fortran 2018 Examples", "url": "https://github.com/scivision/fortran2018-examples", "description": "A github repository containing code samples for various Fortran 2018 features"}, {"name": "Doctor Fortran Blog", "url": "https://stevelionel.com/drfortran", "description": "A collection of posts on interesting or little-understood aspects of the Fortran language"}]} \ No newline at end of file diff --git a/_data/fortran_package.json b/_data/fortran_package.json new file mode 100644 index 000000000..ac5c0e87b --- /dev/null +++ b/_data/fortran_package.json @@ -0,0 +1 @@ +{"fortran_tags": "tags", "numerical": [{"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "librsb", "url": "http://librsb.sourceforge.net/", "description": "A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format implementing the Sparse BLAS standard", "categories": "numerical interfaces scientific", "tags": "linear-algebra openmp", "license": "LGPL-3.0-or-later", "version": 1.3}, {"name": "Tapenade", "url": "https://gitlab.inria.fr/tapenade/tapenade", "description": "A tool for automatic differentiation (forward/reverse) of Fortran and c programs", "categories": "programming numerical", "tags": "algorithmic derivative ad", "license": "MIT", "version": "3.16-v2"}, {"name": "PENF", "github": "szaghi/PENF", "description": "Provides portable kind-parameters and many useful procedures to deal with them", "categories": "data-types numerical", "tags": "kinds integer real ieee floating point floats precision", "license": "GPL-3.0", "forks": 21, "issues": 2, "stars": 36, "last_commit": "July 2022", "release": "v1.2.3"}, {"name": "OpenBLAS", "github": "xianyi/OpenBLAS", "description": "Optimized BLAS library based on GotoBLAS2", "categories": "numerical", "tags": "blas linear-algebra", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 1203, "issues": 132, "stars": 4664, "last_commit": "July 2022", "release": "v0.3.20"}, {"name": "LAPACK", "github": "Reference-LAPACK/lapack", "description": "Routines for numerical linear algebra", "categories": "numerical", "tags": "blas linear-algebra", "license": "Other", "forks": 319, "issues": 110, "stars": 984, "last_commit": "July 2022", "release": "v3.10.1"}, {"name": "PROPACK", "url": "http://sun.stanford.edu/~rmunk/PROPACK/", "description": "Software package for computing the singular value decomposition of large and sparse or structured matrices", "categories": "numerical", "tags": "linear-algebra svd lanczos-bidiagonalization openmp", "license": "BSD-3-Clause", "version": 2.1}, {"name": "FATODE", "github": "ComputationalScienceLaboratory/FATODE", "description": "A Fortran library for the integration of ordinary differential equations with direct and adjoint sensitivity analysis capabilities", "categories": "numerical scientific", "tags": "ode-solver", "license": "Other", "version": 1.2, "forks": 1, "issues": 0, "stars": 8, "last_commit": "October 2019"}, {"name": "SLICOT", "github": "SLICOT/SLICOT-Reference", "description": "A Fortran subroutines library for systems and control", "categories": "numerical scientific", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 7, "issues": 2, "stars": 19, "last_commit": "May 2022", "release": "v5.8"}, {"name": "ElmerFEM", "github": "ElmerCSC/elmerfem", "description": "Finite element software for numerical solution of partial differential equations", "categories": "numerical", "tags": "pde fe", "license": "GPL-2.0", "version": "none", "forks": 237, "issues": 34, "stars": 716, "last_commit": "August 2022"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "SHTOOLS", "github": "SHTOOLS/SHTOOLS", "description": "A Fortran-95/Python library that can be used to perform spherical harmonic transforms", "categories": "numerical", "tags": "spectral analysis Slepian bases gravitational magnetic field openmp", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 91, "issues": 24, "stars": 251, "last_commit": "April 2022", "release": "v4.10"}, {"name": "ARPACK", "github": "opencollab/arpack-ng", "description": "Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.", "categories": "numerical", "tags": "eigenvalue eigenvector singular value decomposition svd", "license": "Other", "version": "none", "forks": 89, "issues": 43, "stars": 184, "last_commit": "July 2022"}, {"name": "neural-fortran", "github": "modern-fortran/neural-fortran", "description": "A parallel neural net microframework.", "categories": "numerical", "tags": "back propagation coarray", "version": "none", "license": "MIT License", "forks": 49, "issues": 19, "stars": 229, "last_commit": "July 2022", "release": "v0.6.0"}, {"name": "ParaMonte", "github": "cdslaborg/paramonte", "description": "A general-purpose high-performance MPI/Coarray-parallel Monte Carlo simulation library implemented in Fortran 2018 with interfaces to C/C++/Fortran/MATLAB/Python", "categories": "numerical", "tags": "parallel mpi coarray monte carlo mcmc c cpp matlab python statistics bayesian stochastic optimization sampling integration machine learning", "version": "1.0.0", "license": "MIT License", "forks": 20, "issues": 2, "stars": 171, "last_commit": "July 2021", "release": "v1.5.1"}, {"name": "bspline-fortran", "github": "jacobwilliams/bspline-fortran", "description": "Multidimensional B-Spline interpolation of data on a regular grid", "categories": "numerical", "tags": "spline interpolation extrapolation integration integral", "license": "Other", "forks": 41, "issues": 9, "stars": 129, "last_commit": "May 2022", "release": "7.0.0"}, {"name": "PCHIP", "github": "jacobwilliams/PCHIP", "description": "Piecewise Cubic Hermite Interpolation Package", "categories": "numerical", "tags": "hermite spline interpolation integration integral", "license": "Other", "forks": 1, "issues": 0, "stars": 15, "last_commit": "May 2022", "release": "1.1.0"}, {"name": "regridpack", "github": "jacobwilliams/regridpack", "description": "Suite of Fortran routines for interpolating values between one-, two-, three-, and four-dimensional arrays defined on uniform or nonuniform orthogonal grids", "categories": "numerical", "tags": "linear cubic interpolation", "license": "Other", "forks": 0, "issues": 1, "stars": 9, "last_commit": "May 2022", "release": "1.0.0"}, {"name": "FOODIE", "github": "Fortran-FOSS-Programmers/FOODIE", "description": "Fortran Object-Oriented Differential-equations Integration Environment", "categories": "numerical", "tags": "ode pde euler runge kutta", "license": "GPL-3.0", "forks": 29, "issues": 14, "stars": 110, "last_commit": "April 2022", "release": "v0.3.6"}, {"name": "ddeabm", "github": "jacobwilliams/ddeabm", "description": "Modern Fortran implementation of the DDEABM Adams-Bashforth algorithm", "categories": "numerical", "tags": "ode adams-bashforth", "license": "Other", "forks": 6, "issues": 2, "stars": 24, "last_commit": "May 2022", "release": "3.0.0"}, {"name": "dop853", "github": "jacobwilliams/dop853", "description": "Modern Fortran Edition of Hairer's DOP853 ODE Solver", "categories": "numerical", "tags": "ode runge kutta", "license": "Other", "forks": 11, "issues": 3, "stars": 34, "last_commit": "May 2022", "release": "1.2.0"}, {"name": "FLINT", "github": "princemahajan/FLINT", "description": "Fortran Library for numerical INTegration of differential equations", "categories": "numerical", "tags": "ode runge kutta", "license": "Apache License 2.0", "forks": 7, "issues": 5, "stars": 31, "last_commit": "October 2021", "release": "v0.9.8-beta"}, {"name": "ODEPACK", "url": "https://computing.llnl.gov/projects/odepack/software", "description": "A Systematized Collection of ODE Solvers (FORTRAN 77)", "categories": "numerical", "tags": "ode runge kutta adams-bashforth", "license": "Public domain"}, {"name": "fgsl", "github": "reinh-bader/fgsl", "description": "Fortran interface to the GNU Scientific Library", "categories": "numerical interfaces", "tags": null, "license": "GNU General Public License v2.0", "forks": 18, "issues": 3, "stars": 76, "last_commit": "July 2021", "release": "1.5.0"}, {"name": "SciFortran", "github": "aamaricci/SciFortran", "description": "collection of fortran modules and procedures for scientific calculations.", "categories": "numerical", "tags": null, "version": "none", "license": "GNU Lesser General Public License v3.0", "forks": 32, "issues": 2, "stars": 114, "last_commit": "July 2022"}, {"name": "Los Alamos Grid Toolbox (LaGriT)", "github": "lanl/LaGriT", "description": "a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance", "categories": "numerical", "tags": null, "license": "Other", "forks": 45, "issues": 113, "stars": 84, "last_commit": "July 2022", "release": "v3.3.2"}, {"name": "DBCSR", "github": "cp2k/dbcsr", "description": "Distributed block compresseed sparse row matrix library", "categories": "numerical", "tags": "linear-algebra parallel mpi openmp cuda hip", "license": "GNU General Public License v2.0", "forks": 32, "issues": 56, "stars": 71, "last_commit": "July 2022", "release": "v2.3.0"}, {"name": "PSBLAS", "github": "sfilippone/psblas3", "description": "Parallel Sparse BLAS", "categories": "numerical data-types", "tags": "linear-algebra mpi", "license": "Other", "forks": 11, "issues": 7, "stars": 41, "last_commit": "August 2022", "release": "v3.8.0-1"}, {"name": "GALAHAD", "github": "ralna/GALAHAD", "description": "Modules for nonlinear optimization", "categories": "numerical", "tags": "least squares active set quadratic-programming interior point convex-programming linear-programming", "license": "Other", "forks": 9, "issues": 0, "stars": 62, "last_commit": "August 2022", "release": "v4.0.0"}, {"name": "slsqp", "github": "jacobwilliams/slsqp", "description": "SLSQP nonlinear constrained optimizer", "categories": "numerical", "tags": "nonlinear-programming equality inequality constraints", "license": "Other", "forks": 15, "issues": 2, "stars": 54, "last_commit": "May 2022", "release": "1.2.3"}, {"name": "NumDiff", "github": "jacobwilliams/NumDiff", "description": "a modern Fortran interface for computing the Jacobian (derivative) matrix of m nonlinear functions which depend on n variables", "categories": "numerical", "tags": "finite difference", "license": "Other", "forks": 5, "issues": 0, "stars": 49, "last_commit": "May 2022", "release": "1.6.0"}, {"name": "quaff", "gitlab": "everythingfunctional/quaff", "description": "Quantities for Fortran. Make math with units more convenient", "categories": "numerical", "tags": null}, {"name": "rng_fortran", "github": "jannisteunissen/rng_fortran", "description": "Pseudo random number generator in Fortran, internally using xoroshiro128+", "categories": "numerical", "tags": "uniform normal poisson distributed", "license": "GNU General Public License v3.0", "version": "none", "forks": 1, "issues": 0, "stars": 21, "last_commit": "May 2021"}, {"name": "libnegf", "github": "libnegf/libnegf", "description": "A general library for Non Equilibrium Green's Functions", "categories": "numerical", "tags": "transport electronic-structure", "license": "Other", "forks": 9, "issues": 7, "stars": 8, "last_commit": "May 2022", "release": "v1.1.2"}, {"name": "ddPCM", "github": "filippolipparini/ddPCM", "description": "A fast domain decomposition based implementation of the COSMO solvation model", "categories": "numerical", "tags": "continuum-solvation cosmo pcm cpcm", "license": "GNU Lesser General Public License v3.0", "forks": 16, "issues": 0, "stars": 12, "last_commit": "April 2018", "release": "v1.0"}, {"name": "PoisFFT", "github": "LadaF/PoisFFT", "description": "Library to solve Poisson equation on a uniform Cartesian grid using the Fast Fourier Transform", "categories": "numerical", "tags": "fft poisson", "license": "Other", "version": "none", "forks": 15, "issues": 0, "stars": 45, "last_commit": "April 2022"}, {"name": "ELPA", "url": "https://gitlab.mpcdf.mpg.de/elpa/elpa", "description": "Eigenvalue Solvers for Petaflop Applications", "categories": "numerical", "tags": "mpi gpu", "version": "2020.05.001", "license": "LGPL-3.0"}, {"name": "NTPoly", "github": "william-dawson/ntpoly", "description": "A massively parallel library for computing the functions of sparse matrices.", "categories": "numerical", "tags": "mpi", "license": "MIT License", "forks": 8, "issues": 6, "stars": 15, "last_commit": "January 2022", "release": "ntpoly-v2.7.1"}, {"name": "QMD-PROGRESS", "github": "lanl/qmd-progress", "description": "Parallel, Rapid O(N) and Graph-based Recursive Electronic Structure Solver.", "categories": "numerical", "tags": "mpi", "license": "Other", "forks": 12, "issues": 14, "stars": 12, "last_commit": "July 2022", "release": "v1.2.0"}, {"name": "DelaunaySparse", "github": "vtopt/DelaunaySparse", "description": "Multivariate Interpolation via a Sparse Subset of the Delaunay Triangulation in Medium to High Dimensions.", "categories": "numerical", "tags": "interpolation openmp acm-toms", "license": "Other", "version": "none", "forks": 2, "issues": 0, "stars": 14, "last_commit": "May 2022"}, {"name": "MapTran3D", "github": "geospace-code/maptran3d", "description": "Geodesy, 3D coordinate conversions for ECEF, ENU, ECI, ...", "categories": "numerical", "license": "BSD 2-Clause \"Simplified\" License", "forks": 3, "issues": 0, "stars": 9, "last_commit": "July 2022", "release": "v1.2.0"}, {"name": "RPNcalc", "github": "scivision/rpn-calc-fortran", "description": "Reverse Polish Notation calculator for interactive console use", "categories": "numerical", "license": "MIT License", "forks": 1, "issues": 0, "stars": 17, "last_commit": "July 2022", "release": "v1.4.0"}, {"name": "Incompact3d", "github": "xcompact3d/incompact3d", "description": "Solver for the incompressible Navier-Stokes equations", "categories": "numerical", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 76, "issues": 16, "stars": 58, "last_commit": "August 2022", "release": "v4.0"}, {"name": "2DECOMP&FFT", "url": "http://www.2decomp.org/", "description": "Library for 2D pencil decomposition and distributed Fast Fourier Transform", "categories": "numerical scientific", "tags": "fft parallel distributed-memory openmpi", "license": "BSD-3-Clause", "version": "1.5.847"}, {"name": "OpenFFT", "url": "http://www.openmx-square.org/openfft/", "description": "Open source parallel package for computing multi-dimensional Fast Fourier Transforms (3-D and 4-D FFTs)", "categories": "numerical interfaces", "tags": "fft openmpi domain-decomposition-method", "license": "GPL-3.0-or-later", "version": 1.2}, {"name": "NUFFT", "url": "https://cims.nyu.edu/cmcl/nufft/nufft.html", "description": "Non-Uniform Fast Fourier Transforms", "categories": "numerical", "tags": "non-uniform-fft fft", "license": "GPL-2.0-or-later"}, {"name": "HANDE", "github": "hande-qmc/hande", "description": "Open source stochastic quantum chemistry", "categories": "numerical scientific", "tags": "qmc electronic-structure", "version": "none", "license": "GNU Lesser General Public License v2.1", "forks": 16, "issues": 2, "stars": 60, "last_commit": "June 2022"}, {"name": "FMM3D", "github": "flatironinstitute/FMM3D", "description": "Compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a multi-core shared-memory machine.", "categories": "numerical", "tags": "fast-multipole-method", "license": "Other", "forks": 22, "issues": 2, "stars": 60, "last_commit": "June 2022", "release": "v1.0.1"}, {"name": "fmm2d", "github": "flatironinstitute/fmm2d", "description": "Compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in two dimensions, on a multi-core shared-memory machine.", "categories": "numerical", "tags": "fast-multipole-method", "license": "Apache License 2.0", "forks": 5, "issues": 2, "stars": 15, "last_commit": "August 2022"}, {"name": "Numerical methods in fortran", "github": "planelles20/numerical-methods-fortran", "description": "Solving linear, nonlinear equations, ordinary differential equations", "categories": "examples numerical", "tags": "ode pde integral stochastic quadrature plotting", "version": "none", "license": "GNU General Public License v2.0", "forks": 15, "issues": 0, "stars": 71, "last_commit": "March 2021"}, {"name": "VTMOP", "github": "vtopt/VTMOP", "description": "Solver for Blackbox Multiobjective Optimization Problems.", "categories": "numerical", "tags": "global-optimization simulation-optimization blackbox-optimization multiobjective-optimization multicriteria-optimization response-surface-methodology acm-toms", "license": "MIT License", "version": "none", "forks": 0, "issues": 0, "stars": 1, "last_commit": "May 2022"}, {"name": "QNSTOP", "github": "vtopt/qnstop", "description": "Quasi-Newton Algorithm for Stochastic Optimization.", "categories": "numerical", "tags": "quasi-newton-optimization stochastic-optimization acm-toms", "license": "MIT License", "version": "none", "forks": 2, "issues": 0, "stars": 10, "last_commit": "May 2022"}], "io": [{"name": "fortran-utils", "github": "certik/fortran-utils", "description": "Various utilities for Fortran programs", "categories": "libraries io", "tags": "constants types sorting mesh spline ppm hdf5 lapack", "version": "none", "license": "MIT License", "forks": 64, "issues": 4, "stars": 181, "last_commit": "October 2019"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "atomsk", "github": "pierrehirel/atomsk", "description": "A Tool For Manipulating And Converting Atomic Data Files", "categories": "io", "tags": "file-formats", "version": "none", "license": "GNU General Public License v3.0", "forks": 57, "issues": 1, "stars": 107, "last_commit": "July 2022"}, {"name": "FortJSON", "gitlab": "elsi_project/fortjson", "description": "A JSON library designed with portability across HPC architectures in mind", "categories": "io", "tags": "json hpc", "license": "BSD-3-Clause", "version": "none"}, {"name": "pFlogger", "github": "Goddard-Fortran-Ecosystem/pFlogger", "description": "A parallel Fortran logger (based on the design of the Python logger)", "categories": "io", "tags": "logger mpi", "license": "Other", "forks": 5, "issues": 9, "stars": 11, "last_commit": "June 2022", "release": "v1.9.1"}, {"name": "json-fortran", "github": "jacobwilliams/json-fortran", "description": "A Fortran 2008 JSON API", "categories": "io", "tags": "json", "license": "Other", "forks": 68, "issues": 22, "stars": 263, "last_commit": "May 2022", "release": "8.3.0"}, {"name": "VTKFortran", "github": "szaghi/VTKFortran", "description": "Library to parse and emit files conforming VTK (XML) standard", "categories": "io", "tags": null, "license": "GPL-3.0", "version": "none", "forks": 40, "issues": 11, "stars": 111, "last_commit": "July 2022", "release": "v2.0.3"}, {"name": "netCDF-Fortran", "github": "Unidata/netcdf-fortran", "description": "Fortran interfaces for netCDF C library.", "categories": "io", "tags": "netcdf", "license": "Other", "forks": 82, "issues": 91, "stars": 167, "last_commit": "July 2022", "release": "v4.6.0"}, {"name": "fox", "github": "andreww/fox", "description": "A Fortran XML library", "categories": "io", "tags": null, "license": "Other", "version": "none", "forks": 57, "issues": 32, "stars": 52, "last_commit": "Febuary 2021"}, {"name": "FEconv", "github": "victorsndvg/FEconv", "description": "utility and library for converting between mesh and finite element field formats", "categories": "io", "tags": "ansys msh nastran bdf vtk", "version": "none", "license": "GNU General Public License v3.0", "forks": 21, "issues": 4, "stars": 64, "last_commit": "September 2020"}, {"name": "h5fortran", "github": "geospace-code/h5fortran", "description": "Simple, robust, thin HDF5 polymorphic read/write interface", "categories": "io", "tags": "hdf5", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 17, "issues": 1, "stars": 70, "last_commit": "July 2022", "release": "v4.8.0"}, {"name": "nc4fortran", "github": "geospace-code/nc4fortran", "description": "Object-oriented interface for NetCDF4 in Fortran", "categories": "io", "tags": "netcdf", "license": "MIT License", "forks": 5, "issues": 0, "stars": 31, "last_commit": "July 2022", "release": "v1.7.0"}, {"name": "fortran-csv-module", "github": "jacobwilliams/fortran-csv-module", "description": "Read and write CSV Files using modern Fortran", "categories": "io", "tags": "csv", "license": "Other", "forks": 23, "issues": 7, "stars": 68, "last_commit": "April 2022", "release": "1.5.0"}, {"name": "M_IO", "github": "urbanjost/M_io", "description": "Fortran module for common I/O tasks", "categories": "io", "tags": "delete slurp swallow dirname split path", "license": "The Unlicense", "version": "none", "forks": 1, "issues": 1, "stars": 4, "last_commit": "May 2022"}, {"name": "jsonff", "gitlab": "everythingfunctional/jsonff", "description": "Routines for building JSON structures in Fortran", "categories": "io", "tags": "json"}, {"name": "NPY for Fortran", "github": "MRedies/NPY-for-Fortran", "description": "Allows saving numerical Fortran arrays in Numpy's .npy or .npz format", "categories": "io", "tags": "python", "license": "MIT License", "forks": 8, "issues": 2, "stars": 32, "last_commit": "Febuary 2022", "release": "v0.1"}, {"name": "FiNeR", "github": "szaghi/FiNeR", "description": "INI ParseR and generator", "categories": "io", "tags": "config", "license": "GPL-3.0", "forks": 4, "issues": 9, "stars": 34, "last_commit": "July 2022", "release": "v2.0.4"}, {"name": "config_fortran", "github": "jannisteunissen/config_fortran", "description": "Configuration file parser for Fortran", "categories": "io", "tags": null, "version": "none", "license": "GNU General Public License v3.0", "forks": 5, "issues": 1, "stars": 30, "last_commit": "January 2022"}, {"name": "parff", "gitlab": "everythingfunctional/parff", "description": "The foundations of a functional style parser combinator library", "categories": "io", "tags": "parser"}, {"name": "Serialbox", "github": "GridTools/serialbox", "description": "A serialization library and tools for C/C++, Python3 and Fortran", "categories": "io", "tags": "validation", "license": "BSD 2-Clause \"Simplified\" License", "forks": 27, "issues": 33, "stars": 19, "last_commit": "June 2022", "release": "v2.6.1"}, {"name": "toml-f", "github": "toml-f/toml-f", "description": "A TOML parser implementation for data serialization and deserialization in Fortran", "categories": "io", "tags": "toml", "license": "Apache License 2.0", "forks": 14, "issues": 23, "stars": 55, "last_commit": "August 2022", "release": "v0.3.0"}, {"name": "os", "github": "MarDiehl/stdlib_os", "description": "Selected routines from python's os module (meant for stdlib)", "categories": "io", "tags": "file C-interface directory access", "license": "MIT License", "forks": 2, "issues": 10, "stars": 10, "last_commit": "Febuary 2021"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "Fortran Equation Parser", "github": "FluidNumerics/feq-parse", "description": "An equation parser class for interpreting and evaluating equations provided as strings.", "categories": "strings io", "tags": "equation parser", "version": "none", "license": "Other", "forks": 2, "issues": 1, "stars": 18, "last_commit": "July 2022", "release": "v1.0.2"}], "scientific": [{"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "librsb", "url": "http://librsb.sourceforge.net/", "description": "A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format implementing the Sparse BLAS standard", "categories": "numerical interfaces scientific", "tags": "linear-algebra openmp", "license": "LGPL-3.0-or-later", "version": 1.3}, {"name": "FATODE", "github": "ComputationalScienceLaboratory/FATODE", "description": "A Fortran library for the integration of ordinary differential equations with direct and adjoint sensitivity analysis capabilities", "categories": "numerical scientific", "tags": "ode-solver", "license": "Other", "version": 1.2, "forks": 1, "issues": 0, "stars": 8, "last_commit": "October 2019"}, {"name": "SLICOT", "github": "SLICOT/SLICOT-Reference", "description": "A Fortran subroutines library for systems and control", "categories": "numerical scientific", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 7, "issues": 2, "stars": 19, "last_commit": "May 2022", "release": "v5.8"}, {"name": "2DECOMP&FFT", "url": "http://www.2decomp.org/", "description": "Library for 2D pencil decomposition and distributed Fast Fourier Transform", "categories": "numerical scientific", "tags": "fft parallel distributed-memory openmpi", "license": "BSD-3-Clause", "version": "1.5.847"}, {"name": "DFTB+", "github": "dftbplus/dftbplus", "description": "DFTB+ general package for performing fast atomistic simulations", "categories": "scientific", "license": "Other", "tags": "tight-binding quantum-mechanics density-functional-theory", "forks": 134, "issues": 94, "stars": 223, "last_commit": "July 2022", "release": "22.1"}, {"name": "Elk", "url": "https://elk.sourceforge.io/", "description": "An all-electron full-potential linearised augmented-plane wave (LAPW) code with many advanced features", "categories": "scientific", "license": "GPL-3.0", "tags": "density-functional-theory"}, {"name": "LATTE", "github": "lanl/LATTE", "description": "Open source density functional tight binding molecular dynamics", "categories": "scientific", "license": "Other", "tags": "tight-binding molecular-dynamics", "forks": 20, "issues": 21, "stars": 31, "last_commit": "April 2020", "release": "v1.2.2"}, {"name": "WRF", "github": "wrf-model/WRF", "description": "Weather Research and Forecasting model", "categories": "scientific", "license": "Other", "forks": 506, "issues": 131, "stars": 806, "last_commit": "April 2022", "release": "v4.4"}, {"name": "lesgo", "github": "lesgo-jhu/lesgo", "descriptipon": "The Large-Eddy Simulation framework from the Turbulence Research Group at Johns Hopkins University", "categories": "scientific", "version": "none", "license": "GNU General Public License v3.0", "forks": 57, "issues": 5, "stars": 92, "last_commit": "January 2021"}, {"name": "Tracmass", "github": "TRACMASS/tracmass", "description": "Lagrangian particle tracking code", "categories": "scientific", "license": "MIT License", "forks": 9, "issues": 0, "stars": 6, "last_commit": "May 2022"}, {"name": "fds", "github": "firemodels/fds", "description": "Large-eddy simulation code for low-speed flows, with an emphasis on smoke and heat transport from fires.", "categories": "scientific", "license": "Other", "forks": 449, "issues": 83, "stars": 425, "last_commit": "August 2022", "release": "FDS6.7.9"}, {"name": "Quantum ESPRESSO", "github": "QEF/q-e", "description": "Quantum ESPRESSO is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale", "categories": "scientific", "tags": "electronic-structure quantum-chemistry physics molecular-dynamics mpi", "license": "GNU General Public License v2.0", "forks": 250, "issues": 0, "stars": 477, "last_commit": "July 2022", "release": "qe-7.0"}, {"name": "BandUP", "github": "band-unfolding/bandup", "description": "Band Unfolding code for Plane-wave based calculations", "categories": "scientific", "license": "GNU General Public License v3.0", "forks": 43, "issues": 11, "stars": 76, "last_commit": "April 2021", "release": "v2.9.0"}, {"name": "fluidity", "github": "FluidityProject/fluidity", "description": "Computational fluid dynamics code with adaptive unstructured mesh capabilities", "categories": "scientific", "tags": "cfd computational-fluid-dynamics unstructured", "license": "Other", "forks": 102, "issues": 36, "stars": 303, "last_commit": "July 2022", "release": "4.1.19"}, {"name": "Nek5000", "github": "Nek5000/Nek5000", "description": "MPI parallel higher-order spectral element CFD solver", "categories": "scientific", "tags": "cfd computational-fluid-dynamics spectral element higher order mpi parallel les rans", "license": "Other", "forks": 199, "issues": 58, "stars": 278, "last_commit": "April 2022", "release": "v19.0"}, {"name": "cp2k", "github": "cp2k/cp2k", "description": "quantum chemistry and solid state physics software package that can perform atomistic simulations", "categories": "scientific", "tags": "quantum-chemistry physics molecular-dynamics metadynamics mpi cuda", "license": "GNU General Public License v2.0", "forks": 270, "issues": 95, "stars": 482, "last_commit": "July 2022", "release": "v2022.1"}, {"name": "Castro", "github": "AMReX-Astro/Castro", "description": "An adaptive mesh, astrophysical radiation hydrodynamics simulation code", "categories": "scientific", "tags": "adaptive mesh astrophysics radiation hydrodynamics", "license": "Other", "forks": 80, "issues": 101, "stars": 211, "last_commit": "August 2022", "release": "22.08"}, {"name": "QUIP", "github": "libAtoms/QUIP", "description": "The QUIP package is a collection of software tools to carry out molecular dynamics simulations.", "categories": "scientific", "tags": "electronic-structure quantum-chemistry physics molecular-dynamics mpi qm-mm", "license": "GPL-2", "forks": 98, "issues": 64, "stars": 239, "last_commit": "July 2022", "release": "py2"}, {"name": "ABINIT", "github": "abinit/abinit", "description": "ABINIT is a software suite to calculate the optical, mechanical, vibrational, and other observable properties of materials", "categories": "scientific", "tags": "electronic-structure quantum-chemistry physics molecular-dynamics mpi", "license": "GNU General Public License v3.0", "forks": 72, "issues": 14, "stars": 165, "last_commit": "November 2021", "release": "9.6.2"}, {"name": "NASTRAN 93", "github": "nasa/NASTRAN-93", "description": "NASTRAN is the NASA Structural Analysis System, a finite element analysis program (FEA)", "categories": "scientific", "tags": "finite element structural", "license": "NASA-1.3", "version": "none", "forks": 73, "issues": 0, "stars": 126, "last_commit": "December 2015"}, {"name": "NASTRAN 95", "github": "nasa/NASTRAN-95", "description": "NASA Structural Analysis System, a finite element analysis program (FEA) completed in the early 1970's", "categories": "scientific", "tags": "finite element structural eigne stability loads", "license": "NASA-1.3", "version": "none", "forks": 190, "issues": 14, "stars": 318, "last_commit": "December 2015"}, {"name": "NWChem", "github": "nwchemgit/nwchem", "description": "Open Source High-Performance Computational Chemistry", "categories": "scientific", "tags": "computational-chemistry parallel-computing electronic-structure molecular-simulations density-functional-theory hartree-fock quantum-chemistry", "license": "Other", "forks": 133, "issues": 46, "stars": 342, "last_commit": "July 2022", "release": "v7.0.2-release"}, {"name": "QUICK", "github": "merzlab/QUICK", "description": "A GPU-enabled ab initio quantum chemistry software package", "categories": "scientific", "tags": "computational-chemistry parallel-computing electronic-structure molecular-simulations density-functional-theory hartree-fock quantum-chemistry", "license": "Mozilla Public License 2.0", "forks": 31, "issues": 24, "stars": 58, "last_commit": "July 2022", "release": "QUICK-22.03"}, {"name": "OFF", "github": "szaghi/OFF", "description": "Finite volume fluid dynamics", "categories": "scientific", "tags": "godunov riemann euler runge kutta structured", "license": "GPL-3.0", "version": "none", "forks": 56, "issues": 7, "stars": 111, "last_commit": "May 2017"}, {"name": "freeCappuccino", "github": "nikola-m/freeCappuccino", "description": "A three-dimensional unstructured finite volume code for fluid flow simulations.", "categories": "scientific", "tags": "finite volume turbulent turbulence", "license": "GNU General Public License v3.0", "version": "none", "forks": 22, "issues": 3, "stars": 44, "last_commit": "March 2022"}, {"name": "CaNS", "github": "p-costa/CaNS", "description": "A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows", "categories": "scientific", "tags": "fluid-dynamics fluid-simulation computational-fluid-dynamics turbulence high-performance-computing hpc cfd", "license": "MIT License", "forks": 47, "issues": 0, "stars": 121, "last_commit": "July 2022", "release": "v1.3.1"}, {"name": "ICAR", "github": "NCAR/icar", "description": "The Intermediate Complexity Atmospheric Research model", "categories": "scientific", "version": "none", "license": "MIT License", "forks": 46, "issues": 6, "stars": 55, "last_commit": "October 2021", "release": "2.0"}, {"name": "aenet", "github": "atomisticnet/aenet", "description": "Atomic interaction potentials based on artificial neural networks", "categories": "scientific", "version": "none", "license": "Mozilla Public License 2.0", "forks": 41, "issues": 4, "stars": 84, "last_commit": "March 2022"}, {"name": "ADflow", "github": "mdolab/adflow", "description": "A finite volume RANS solver tailored for gradient-based aerodynamic design optimization", "categories": "scientific", "tags": "simulation computational-fluid-dynamics automatic-differentiation adjoint structured multiblock overset python hpc cfd mpi", "license": "Other", "forks": 84, "issues": 38, "stars": 128, "last_commit": "July 2022", "release": "v2.7.4"}, {"name": "Truchas", "gitlab": "truchas/truchas", "description": "3D Multiphysics Simulation of Metal Casting and Processing", "categories": "scientific", "tags": "fluid-dynamics metal-casting multiphysics hpc", "license": "BSD-3-Clause"}, {"name": "dftatom", "github": "certik/dftatom", "description": "Routines for Radial Integration of Dirac, Schr\u00f6dinger, and Poisson Equations", "categories": "scientific", "tags": "electronic-structure atomic", "license": "MIT License", "version": "1.0.4", "forks": 15, "issues": 9, "stars": 47, "last_commit": "September 2019"}, {"name": "MESA", "url": "http://mesa.sourceforge.net/", "description": "Modules for Experiments in Stellar Astrophysics", "categories": "scientific", "tags": "stellar astrophysics", "license": "GPL-2", "version": 15140}, {"name": "Wannier90", "github": "wannier-developers/wannier90", "description": "The Maximally-Localised Generalised Wannier Functions Code", "categories": "scientific", "tags": "electronic-structure", "version": "none", "license": "GNU General Public License v2.0", "forks": 113, "issues": 60, "stars": 169, "last_commit": "May 2022"}, {"name": "WHIZARD", "url": "https://whizard.hepforge.org/", "description": "Particle Physics Monte Carlo Event Generator", "categories": "scientific", "tags": "particle physics parallel mpi monte carlo optimization sampling integration", "license": "GPL-2.0-or-later", "version": "2.8.5"}, {"name": "HANDE", "github": "hande-qmc/hande", "description": "Open source stochastic quantum chemistry", "categories": "numerical scientific", "tags": "qmc electronic-structure", "version": "none", "license": "GNU Lesser General Public License v2.1", "forks": 16, "issues": 2, "stars": 60, "last_commit": "June 2022"}, {"name": "OpenMolcas", "gitlab": "Molcas/OpenMolcas", "description": "Quantum chemistry software package for multiconfigurational approaches to the electronic structure", "categories": "scientific", "tags": "electronic-structure casscf caspt2", "license": "LGPL-2.1"}, {"name": "Octopus", "gitlab": "octopus-code/octopus", "description": "Real-space Time-Dependent Density Functional Theory code", "categories": "scientific", "tags": "electronic-structure", "license": "GPL-2.0", "version": "none"}, {"name": "pencil-code", "github": "pencil-code/pencil-code", "description": "A high-order finite-difference code for compressible hydrodynamic flows with magnetic fields and particles", "categories": "scientific", "tags": "finite-difference hydrodynamics magnetic-field particles", "license": "GPL-2.0", "forks": 82, "issues": 4, "stars": 145, "last_commit": "August 2022", "release": "v2021.02.20"}, {"name": "MOM6", "github": "NOAA-GFDL/MOM6", "description": "Modular Ocean Model", "categories": "scientific", "license": "Other", "version": "none", "forks": 11, "issues": 8, "stars": 2, "last_commit": "July 2022"}, {"name": "FMS", "github": "NOAA-GFDL/FMS", "description": "Flexible Modeling System", "categories": "scientific", "license": "Other", "forks": 107, "issues": 55, "stars": 62, "last_commit": "July 2022", "release": "2022.03"}, {"name": "SNAP", "github": "lanl/SNAP", "description": "proxy application to model the performance of a modern discrete ordinates neutral particle transport application", "categories": "scientific", "license": "BSD-3-Clause", "version": "none", "forks": 29, "issues": 2, "stars": 42, "last_commit": "September 2021"}, {"name": "CTSM", "github": "ESCOMP/CTSM", "description": "The Community Terrestrial Systems Model", "categories": "scientific", "license": "Other", "forks": 237, "issues": 545, "stars": 189, "last_commit": "July 2022", "release": "release-clm5.0.35"}, {"name": "MPAS-Model", "github": "MPAS-Dev/MPAS-Model", "description": "collaborative project for developing atmosphere, ocean, and other earth-system simulation components for use in climate, regional climate, and weather studies", "categories": "scientific", "license": "BSD-3-Clause", "forks": 252, "issues": 100, "stars": 166, "last_commit": "March 2022", "release": "v7.3"}, {"name": "CFL3D", "github": "nasa/CFL3D", "description": "Structured-grid, cell-centered, upwind-biased, Reynolds-averaged Navier-Stokes (RANS) code", "categories": "scientific", "license": "Apache License 2.0", "version": "none", "forks": 161, "issues": 8, "stars": 223, "last_commit": "July 2022"}, {"name": "CompDam_DGD", "github": "nasa/CompDam_DGD", "description": "continuum damage mechanics (CDM) material model intended for use with the Abaqus finite element code", "categories": "scientific", "license": "Other", "forks": 53, "issues": 4, "stars": 68, "last_commit": "May 2022", "release": "v2.5.0"}, {"name": "OpenSWPC", "github": "tktmyd/OpenSWPC", "description": "A Seismic Wave Propagation Code by Parallel Finite Difference Method", "categories": "scientific", "license": "MIT License", "forks": 41, "issues": 2, "stars": 85, "last_commit": "August 2021", "release": "5.2.0"}, {"name": "flexi", "github": "flexi-framework/flexi", "description": "Open Source High-Order Unstructured Discontinuous Galerkin Fluid Dynamics Solver", "categories": "scientific", "version": "none", "license": "GNU General Public License v3.0", "forks": 51, "issues": 1, "stars": 111, "last_commit": "July 2022"}, {"name": "MITgcm", "github": "MITgcm/MITgcm", "description": "M.I.T General Circulation Model master code and documentation repository", "categories": "scientific", "keywords": "ocean-modelling gfd automatic-differentiation data-assimilation exoplanets climate-science", "license": "MIT License", "forks": 198, "issues": 127, "stars": 249, "last_commit": "July 2022", "release": "checkpoint68i"}, {"name": "Specfem3D", "github": "geodynamics/specfem3d", "description": "Simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured or not)", "categories": "scientific", "version": "none", "license": "GNU General Public License v3.0", "forks": 191, "issues": 86, "stars": 248, "last_commit": "July 2021"}, {"name": "DFT-D4", "github": "dftd4/dftd4", "description": "A Generally Applicable Atomic-Charge Dependent London Dispersion Correction", "categories": "scientific", "tags": "dft-d dispersion-correction", "license": "GNU Lesser General Public License v3.0", "forks": 34, "issues": 18, "stars": 99, "last_commit": "May 2022", "release": "v3.4.0"}, {"name": "libmbd", "github": "libmbd/libmbd", "description": "Many-body dispersion library", "categories": "scientific", "tags": "dispersion-correction", "license": "Mozilla Public License 2.0", "forks": 16, "issues": 6, "stars": 37, "last_commit": "May 2022", "release": "0.12.5"}, {"name": "xtb", "github": "grimme-lab/xtb", "description": "Semiempirical Extended Tight-Binding Program Package", "categories": "scientific", "tags": "quantum-chemistry computational-chemistry atomistic-simulations", "license": "GNU Lesser General Public License v3.0", "forks": 101, "issues": 86, "stars": 342, "last_commit": "July 2022", "release": "v6.5.1"}, {"name": "qcxms", "github": "qcxms/qcxms", "description": "Quantum mechanic mass spectrometry calculation program", "categories": "scientific", "tags": "computational-chemistry molecular-dynamics mass-spectrometry", "license": "GNU Lesser General Public License v3.0", "forks": 10, "issues": 3, "stars": 25, "last_commit": "July 2022", "release": "v.5.2.0"}, {"name": "crest", "github": "grimme-lab/crest", "description": "Conformer-rotamer ensemble search tool", "categories": "scientific", "tags": "computational-chemistry atomistic-simulations conformational-analysis metadynamics", "license": "GNU Lesser General Public License v3.0", "forks": 0, "issues": 0, "stars": 5, "last_commit": "June 2022"}, {"name": "eT", "gitlab": "eT-program/eT", "description": "electronic structure program with coupled cluster, multiscale and multilevel methods", "categories": "scientific", "tags": "electronic-structure coupled-cluster", "license": "GPL-3.0"}, {"name": "tinker", "github": "TinkerTools/tinker", "description": "Software Tools for Molecular Design", "categories": "scientific", "tags": "molecular-modeling", "license": "Other", "version": "none", "forks": 50, "issues": 4, "stars": 81, "last_commit": "July 2022"}, {"name": "siesta", "gitlab": "siesta-project/siesta", "description": "A first-principles materials simulation code using DFT", "categories": "scientific", "tags": "electronic-structure density-functional-theory molecular-dynamics mpi", "license": "GPL-3.0"}, {"name": "Dalton", "gitlab": "dalton/dalton", "description": "Powerful molecular electronic structure program", "categories": "scientific", "tags": "electronic-structure relativistic", "license": "LGPL-2.1"}, {"name": "LSDalton", "gitlab": "dalton/lsdalton", "description": "Linear scaling molecular electronic structure program", "categories": "scientific", "tags": "electronic-structure relativistic", "license": "LGPL-2.1"}, {"name": "BigDFT", "gitlab": "l_sim/bigdft-suite", "description": "fast, precise, and flexible DFT code for ab-initio atomistic simulation", "categories": "scientific", "tags": "electronic-structure wavelets density-functional-theory", "license": "custom"}, {"name": "DL_POLY_4", "gitlab": "ccp5/dl-poly", "description": "classical molecular dynamics code developed at Daresbury Laboratory since 1992", "categories": "scientific", "tags": "molecular-dynamics mpi", "version": 5.0, "license": "LGPL-3.0"}, {"name": "Gemini3D", "github": "gemini3d/gemini3d", "description": "3D ionospheric model covering local (> 10 gyroradii) to global scales.", "categories": "scientific", "license": "Apache License 2.0", "forks": 21, "issues": 17, "stars": 42, "last_commit": "July 2022", "release": "v1.6.1"}, {"name": "SNaC", "github": "p-costa/SNaC", "description": "A multi-block solver for massively parallel direct numerical simulations (DNS) of fluid flows", "categories": "scientific", "tags": "fluid-dynamics fluid-simulation computational-fluid-dynamics turbulence high-performance-computing hpc cfd", "version": "none", "license": "MIT License", "forks": 7, "issues": 11, "stars": 26, "last_commit": "July 2022", "release": "v0.2.0"}, {"name": "DAMASK", "github": "eisenforschung/DAMASK", "description": "A unified multi-physics crystal plasticity simulation package", "categories": "scientific", "tags": "plasticity simulation material multi-physics", "license": "Other", "forks": 22, "issues": 0, "stars": 50, "last_commit": "August 2022"}, {"name": "Cantera", "github": "Cantera/cantera", "description": "Chemical kinetics, thermodynamics, and transport tool suite", "categories": "scientific", "license": "Other", "forks": 282, "issues": 83, "stars": 420, "last_commit": "July 2022", "release": "v2.6.0"}, {"name": "SeisSol", "github": "SeisSol/SeisSol", "description": "A software for the numerical simulation of seismic wave phenomena and earthquake dynamics", "categories": "scientific", "tags": "hpc earthquakes dynamic-rupture", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 84, "issues": 53, "stars": 166, "last_commit": "July 2022", "release": "sc21revision"}], "examples": [{"name": "tcp-client-server", "github": "modern-fortran/tcp-client-server", "description": "A minimal Fortran TCP client and server demonstrating c interoperability", "categories": "interfaces examples", "tags": null, "version": "none", "license": "MIT License", "forks": 7, "issues": 2, "stars": 78, "last_commit": "June 2020"}, {"name": "Fortran 2018 examples", "github": "scivision/fortran2018-examples", "description": "Easy examples of scientific computing with modern, powerful, easy Fortran 2018 standard", "categories": "examples", "tags": "block coarray contiguous namelist openmp random submodule iso_fortran_env", "license": "MIT License", "forks": 55, "issues": 0, "stars": 319, "last_commit": "August 2022", "release": "v1.4.0"}, {"name": "Fortran patterns", "github": "farhanjk/FortranPatterns", "description": "Popular design patterns implemented in Fortran", "categories": "examples", "tags": null, "version": "none", "license": "MIT License", "forks": 20, "issues": 4, "stars": 64, "last_commit": "October 2015"}, {"name": "Numerical methods in fortran", "github": "planelles20/numerical-methods-fortran", "description": "Solving linear, nonlinear equations, ordinary differential equations", "categories": "examples numerical", "tags": "ode pde integral stochastic quadrature plotting", "version": "none", "license": "GNU General Public License v2.0", "forks": 15, "issues": 0, "stars": 71, "last_commit": "March 2021"}, {"name": "Tsunami", "github": "modern-fortran/tsunami", "description": "A parallel shallow water equations solver", "categories": "examples", "version": "none", "license": "MIT License", "forks": 29, "issues": 3, "stars": 109, "last_commit": "January 2022"}, {"name": "Blocktran", "github": "fortran-gaming/blocktran", "description": "Object-oriented Fortran falling block game using Curses console graphics", "categories": "examples", "tags": "game", "license": "Apache License 2.0", "forks": 1, "issues": 0, "stars": 18, "last_commit": "July 2022", "release": "v1.6.0"}], "interfaces": [{"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "forpy", "github": "ylikx/forpy", "description": "allows you to use Python features in Fortran", "categories": "interfaces", "tags": "dict list tuple numpy python matplotlib scipy", "license": "GNU Lesser General Public License v3.0", "version": "none", "forks": 36, "issues": 15, "stars": 163, "last_commit": "July 2020"}, {"name": "flook", "github": "ElectronicStructureLibrary/flook", "desciption": "Library for running an embedded Lua interpreter", "categories": "interfaces", "tags": "lua", "license": "Mozilla Public License 2.0", "forks": 4, "issues": 1, "stars": 8, "last_commit": "October 2021", "release": "v0.8.1"}, {"name": "LuaF", "url": "https://chiselapp.com/user/vadimz/repository/luaf/", "description": "Fortran 2003/2008 bindings to Lua 5.1", "categories": "interfaces", "tags": "lua", "license": "MIT", "version": "none"}, {"name": "aotus", "url": "https://osdn.net/projects/apes/scm/hg/aotus/", "description": "Fortran wrapper around the C-API of the Lua scripting language", "categories": "interfaces", "tags": "lua", "license": "MIT", "version": "none"}, {"name": "fortran-lua53", "github": "interkosmos/fortran-lua53", "description": "Fortran 2008 interface bindings to Lua 5.3", "categories": "interfaces", "tags": "lua", "license": "ISC License", "version": "none", "forks": 3, "issues": 0, "stars": 10, "last_commit": "July 2022"}, {"name": "tcp-client-server", "github": "modern-fortran/tcp-client-server", "description": "A minimal Fortran TCP client and server demonstrating c interoperability", "categories": "interfaces examples", "tags": null, "version": "none", "license": "MIT License", "forks": 7, "issues": 2, "stars": 78, "last_commit": "June 2020"}, {"name": "clfortran", "github": "cass-support/clfortran", "description": "Fortran interfaces to Khronos OpenCL 1.2 API", "categories": "interfaces", "tags": "gpu compute accelerator", "version": "none", "license": "GNU Lesser General Public License v3.0", "forks": 11, "issues": 1, "stars": 55, "last_commit": "May 2016"}, {"name": "M_process", "github": "urbanjost/M_process", "description": "Read and write lines to or from a process from Fortran via a C wrapper", "categories": "interfaces", "tags": null, "version": "none", "license": "The Unlicense", "forks": 0, "issues": 0, "stars": 9, "last_commit": "June 2022"}, {"name": "M_system", "github": "urbanjost/M_system", "description": "Call C system routines from Fortran", "categories": "interfaces", "tags": "posix putenv getenv setenv environment file system mkdir rename rmdir chmod rand uname", "version": "none", "license": "The Unlicense", "forks": 1, "issues": 1, "stars": 10, "last_commit": "May 2022"}, {"name": "Focal", "github": "LKedward/focal", "description": "A module library which wraps calls to the OpenCL runtime API with a higher abstraction level", "categories": "interfaces", "tags": "gpu compute accelerator", "license": "MIT License", "forks": 7, "issues": 4, "stars": 35, "last_commit": "July 2021", "release": "v1.0.1"}, {"name": "fortyxima", "url": "https://bitbucket.org/aradi/fortyxima/src/develop/", "description": "File system manipulation and unit testing framework", "categories": "interfaces programming", "tags": "posix libc", "license": "BSD-2-clause"}, {"name": "node-fortran", "github": "IonicaBizau/node-fortran", "description": "Fortran bridge for Node.js which allows you to run Fortran code from Node.js", "categories": "interfaces", "license": "MIT License", "forks": 10, "issues": 2, "stars": 89, "last_commit": "August 2020", "release": "1.0.1"}, {"name": "node.fortran", "github": "IonicaBizau/node.fortran", "description": "Execute Node.js in your Fortran programs", "categories": "interfaces", "license": "MIT License", "forks": 2, "issues": 0, "stars": 32, "last_commit": "August 2020", "release": "1.0.8"}, {"name": "sqliteff", "gitlab": "everythingfunctional/sqliteff", "description": "A thin wrapper around the SQLite library", "categories": "interfaces", "tags": "sql database"}, {"name": "fortran-curl", "github": "interkosmos/fortran-curl", "description": "Fortran 2008 interface bindings to libcurl", "categories": "interfaces", "tags": "https curl imap libcurl smtp gopher", "license": "ISC License", "forks": 5, "issues": 0, "stars": 24, "last_commit": "July 2022", "release": "0.3.0"}, {"name": "mpifx", "github": "dftbplus/mpifx", "description": "Modern Fortran wrappers around MPI routines", "categories": "interfaces", "tags": "mpi fypp", "license": "BSD 2-Clause \"Simplified\" License", "forks": 12, "issues": 5, "stars": 28, "last_commit": "May 2022", "release": "1.3.1"}, {"name": "scalapackfx", "github": "dftbplus/scalapackfx", "description": "Modern Fortran wrappers around ScaLAPACK routines", "categories": "interfaces", "tags": "mpi fypp pblas blacs", "license": "BSD 2-Clause \"Simplified\" License", "forks": 5, "issues": 3, "stars": 15, "last_commit": "May 2022", "release": "1.1"}, {"name": "ELSI", "gitlab": "elsi_project/elsi_interface", "description": "A software interface designed for electronic structure codes to connect with ELPA, libOMM, PEXSI, EigenExa, SLEPc, NTPoly, BSEPACK, LAPACK, MAGMA, and other solver libraries.", "categories": "interfaces", "tags": "electronic-structure mpi gpu", "license": "BSD-3-Clause"}, {"name": "FKB", "github": "scientific-computing/FKB", "description": "Fortran Keras Bridge - A two-way deep learning bridge between Keras and Fortran", "categories": "interfaces", "tags": "deep-learning data-science machine-learning neural-networks", "version": "none", "license": "MIT License", "forks": 28, "issues": 9, "stars": 130, "last_commit": "April 2021"}, {"name": "flibcpp", "github": "swig-fortran/flibcpp", "description": "Fortran bindings to the C++ Standard Library", "categories": "interfaces", "tags": "cpp", "license": "MIT License", "forks": 1, "issues": 0, "stars": 31, "last_commit": "June 2022", "release": "v1.0.2"}, {"name": "arrayfire-fortran", "github": "arrayfire/arrayfire-fortran", "description": "Fortran binding to the ArrayFire general purpose GPU library", "categories": "interfaces", "tags": "cpp gpu opencl", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 5, "issues": 4, "stars": 23, "last_commit": "August 2016"}, {"name": "librsb", "url": "http://librsb.sourceforge.net/", "description": "A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format implementing the Sparse BLAS standard", "categories": "numerical interfaces scientific", "tags": "linear-algebra openmp", "license": "LGPL-3.0-or-later", "version": 1.3}, {"name": "f03gl", "url": "http://www-stone.ch.cam.ac.uk/pub/f03gl/index.xhtml", "description": "Fortran 2003 interface to OpenGL", "categories": "graphics interfaces", "tags": "graphics interface opengl", "license": "GPL-3.0"}, {"name": "PLplot", "url": "http://plplot.sourceforge.net/", "description": "Library for scientific plotting", "categories": "graphics interfaces", "tags": "plot surface contour interface", "license": "LGPL-3.0", "version": "5.15.0"}, {"name": "pyplot-fortran", "github": "jacobwilliams/pyplot-fortran", "description": "For generating plots from Fortran using Python's matplotlib.pyplot", "categories": "graphics interfaces", "tags": "pyplot matplotlib contour histogram", "license": "Other", "forks": 42, "issues": 4, "stars": 137, "last_commit": "June 2022", "release": "3.2.0"}, {"name": "ogpf", "github": "kookma/ogpf", "description": "Object based interface to GnuPlot for Fortran", "categories": "graphics interfaces", "tags": "animation plot surface contour", "license": "Other", "forks": 39, "issues": 2, "stars": 127, "last_commit": "May 2022", "release": "0.4.0"}, {"name": "gtk-fortran", "github": "vmagnin/gtk-fortran", "description": "A cross-platform library to build Graphical User Interfaces (GUI)", "categories": "graphics interfaces", "tags": "gui gtk graphical user interface", "license": "GNU General Public License v3.0", "forks": 46, "issues": 15, "stars": 202, "last_commit": "July 2022", "release": "v4.2.1"}, {"name": "fortran-xlib", "github": "interkosmos/fortran-xlib", "description": "A collection of ISO C binding interfaces to Xlib for Fortran 2003", "categories": "graphics interfaces", "tags": "x11 mandelbrot raycast wireframe", "version": "none", "license": "ISC License", "forks": 0, "issues": 0, "stars": 8, "last_commit": "October 2021"}, {"name": "fortran-sdl2", "github": "interkosmos/fortran-sdl2", "description": "A collection of ISO C binding interfaces to Simple DirectMedia Layer 2.0 (SDL 2.0), for multimedia and game programming in Fortran", "categories": "graphics interfaces", "tags": null, "version": "none", "license": "ISC License", "forks": 4, "issues": 0, "stars": 26, "last_commit": "January 2022"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "fgsl", "github": "reinh-bader/fgsl", "description": "Fortran interface to the GNU Scientific Library", "categories": "numerical interfaces", "tags": null, "license": "GNU General Public License v2.0", "forks": 18, "issues": 3, "stars": 76, "last_commit": "July 2021", "release": "1.5.0"}, {"name": "OpenFFT", "url": "http://www.openmx-square.org/openfft/", "description": "Open source parallel package for computing multi-dimensional Fast Fourier Transforms (3-D and 4-D FFTs)", "categories": "numerical interfaces", "tags": "fft openmpi domain-decomposition-method", "license": "GPL-3.0-or-later", "version": 1.2}], "graphics": [{"name": "f03gl", "url": "http://www-stone.ch.cam.ac.uk/pub/f03gl/index.xhtml", "description": "Fortran 2003 interface to OpenGL", "categories": "graphics interfaces", "tags": "graphics interface opengl", "license": "GPL-3.0"}, {"name": "PLplot", "url": "http://plplot.sourceforge.net/", "description": "Library for scientific plotting", "categories": "graphics interfaces", "tags": "plot surface contour interface", "license": "LGPL-3.0", "version": "5.15.0"}, {"name": "pyplot-fortran", "github": "jacobwilliams/pyplot-fortran", "description": "For generating plots from Fortran using Python's matplotlib.pyplot", "categories": "graphics interfaces", "tags": "pyplot matplotlib contour histogram", "license": "Other", "forks": 42, "issues": 4, "stars": 137, "last_commit": "June 2022", "release": "3.2.0"}, {"name": "ogpf", "github": "kookma/ogpf", "description": "Object based interface to GnuPlot for Fortran", "categories": "graphics interfaces", "tags": "animation plot surface contour", "license": "Other", "forks": 39, "issues": 2, "stars": 127, "last_commit": "May 2022", "release": "0.4.0"}, {"name": "gtk-fortran", "github": "vmagnin/gtk-fortran", "description": "A cross-platform library to build Graphical User Interfaces (GUI)", "categories": "graphics interfaces", "tags": "gui gtk graphical user interface", "license": "GNU General Public License v3.0", "forks": 46, "issues": 15, "stars": 202, "last_commit": "July 2022", "release": "v4.2.1"}, {"name": "M_draw", "github": "urbanjost/M_draw", "description": "Low-level vector graphics library", "categories": "graphics", "tags": null, "version": "none", "license": "The Unlicense", "forks": 1, "issues": 1, "stars": 3, "last_commit": "June 2022"}, {"name": "fortran-xlib", "github": "interkosmos/fortran-xlib", "description": "A collection of ISO C binding interfaces to Xlib for Fortran 2003", "categories": "graphics interfaces", "tags": "x11 mandelbrot raycast wireframe", "version": "none", "license": "ISC License", "forks": 0, "issues": 0, "stars": 8, "last_commit": "October 2021"}, {"name": "fortran-sdl2", "github": "interkosmos/fortran-sdl2", "description": "A collection of ISO C binding interfaces to Simple DirectMedia Layer 2.0 (SDL 2.0), for multimedia and game programming in Fortran", "categories": "graphics interfaces", "tags": null, "version": "none", "license": "ISC License", "forks": 4, "issues": 0, "stars": 26, "last_commit": "January 2022"}, {"name": "Illustrate", "github": "ccsb-scripps/illustrate", "description": "Biomolecular Illustration Tool", "categories": "graphics", "tags": "pdb", "version": "none", "license": "Apache License 2.0", "forks": 15, "issues": 2, "stars": 89, "last_commit": "September 2020"}], "programming": [{"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "fortyxima", "url": "https://bitbucket.org/aradi/fortyxima/src/develop/", "description": "File system manipulation and unit testing framework", "categories": "interfaces programming", "tags": "posix libc", "license": "BSD-2-clause"}, {"name": "hipfort", "github": "ROCmSoftwarePlatform/hipfort", "description": "Fortran interfaces for ROCm libraries", "categories": "programming", "tags": "hip rocm", "license": "Other", "forks": 19, "issues": 14, "stars": 33, "last_commit": "April 2022", "release": "rocm-5.2.1"}, {"name": "fpm", "github": "fortran-lang/fpm", "description": "Fortran Package Manager", "categories": "programming", "tags": "build-system package-manager", "version": "none", "license": "MIT License", "forks": 53, "issues": 144, "stars": 554, "last_commit": "July 2022", "release": "v0.6.0"}, {"name": "FORD", "github": "Fortran-FOSS-Programmers/ford", "description": "Automatic documentation generator for modern Fortran programs", "categories": "programming preview", "tags": "documentation", "license": "GNU General Public License v3.0", "forks": 112, "issues": 65, "stars": 315, "last_commit": "July 2022", "release": "v6.1.15"}, {"name": "fparser", "github": "stfc/fparser", "description": "Fortran parser written purely in Python which supports Fortran 2003 and some Fortran 2008", "categories": "programming", "tags": "parser", "license": "Other", "forks": 17, "issues": 78, "stars": 40, "last_commit": "July 2022", "release": "0.0.16"}, {"name": "fypp", "github": "aradi/fypp", "description": "Python powered Fortran preprocessor", "categories": "programming", "license": "BSD 2-Clause \"Simplified\" License", "tags": "metaprogramming", "forks": 19, "issues": 2, "stars": 135, "last_commit": "November 2021", "release": "3.1"}, {"name": "vegetables", "gitlab": "everythingfunctional/vegetables", "description": "A Fortran testing framework written using functional programming principles.", "categories": "programming", "tags": "testing assert"}, {"name": "pFUnit", "github": "Goddard-Fortran-Ecosystem/pFUnit", "description": "Parallel Fortran Unit Testing Framework", "categories": "programming", "tags": "unit testing", "license": "Other", "forks": 32, "issues": 56, "stars": 143, "last_commit": "June 2022", "release": "v4.4.1"}, {"name": "erloff", "gitlab": "everythingfunctional/erloff", "description": "Errors and logging for fortran", "categories": "programming", "tags": "errors logging"}, {"name": "fytest", "url": "https://bitbucket.org/aradi/fytest/src/develop/", "description": "a lightweight unit testing framework for Fortran", "categories": "programming", "tags": "unit testing", "license": "BSD-2-clause"}, {"name": "FortranCallGraph", "github": "fortesg/fortrancallgraph", "description": "Static source code analysis tool for Fortran", "categories": "programming", "tags": null, "license": "GNU General Public License v3.0", "forks": 0, "issues": 9, "stars": 23, "last_commit": "September 2020", "release": "v1.8.4"}, {"name": "Tapenade", "url": "https://gitlab.inria.fr/tapenade/tapenade", "description": "A tool for automatic differentiation (forward/reverse) of Fortran and c programs", "categories": "programming numerical", "tags": "algorithmic derivative ad", "license": "MIT", "version": "3.16-v2"}, {"name": "camfort", "github": "camfort/camfort", "description": "Light-weight verification and transformation tools for Fortran", "categories": "programming", "tags": "refactoring", "license": "Other", "forks": 13, "issues": 28, "stars": 110, "last_commit": "January 2022", "release": "v1.1.2"}, {"name": "findent", "url": "https://sourceforge.net/projects/findent/", "description": "Indents/beautifies/converts Fortran sources", "categories": "programming", "tags": "formatter converter", "license": "BSD-3-Clause", "version": "3.1.7"}, {"name": "fprettify", "github": "pseewald/fprettify", "description": "auto-formatter for modern fortran source code", "categories": "programming", "tags": "formatter", "license": "Other", "forks": 51, "issues": 36, "stars": 263, "last_commit": "January 2021", "release": "v0.3.7"}, {"name": "shroud", "github": "LLNL/shroud", "description": "generate Fortran and Python wrappers for C and C++ libraries", "categories": "programming", "tags": "interface-generator c++", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 6, "issues": 8, "stars": 75, "last_commit": "June 2022", "release": "v0.12.2"}, {"name": "SWIG-Fortran", "github": "swig-fortran/swig", "description": "SWIG for C++ to Fortran interface generation", "categories": "programming", "tags": "interface-generator c++", "license": "Other", "forks": 10, "issues": 12, "stars": 37, "last_commit": "June 2022", "release": "v4.0.2+fortran"}, {"name": "f90wrap", "github": "jameskermode/f90wrap", "description": "F90 to Python interface generator with derived type support", "categories": "programming", "tags": "interface-generator python", "license": "GNU Lesser General Public License v3.0", "version": "none", "forks": 78, "issues": 53, "stars": 194, "last_commit": "July 2022"}, {"name": "convert_FORTRAN_case", "github": "dav05/convert_FORTRAN_case", "description": "Case conversion of files written in fixed form Fortran", "categories": "programming", "tags": "formatter converter", "version": "none", "license": "GNU General Public License v3.0", "forks": 0, "issues": 0, "stars": 6, "last_commit": "July 2021"}, {"name": "fortran-error-handler", "github": "samharrison7/fortran-error-handler", "description": "Comprehensive error handling framework for Modern Fortran", "categories": "programming", "tags": "errors logging fpm", "license": "MIT License", "forks": 2, "issues": 0, "stars": 18, "last_commit": "Febuary 2022", "release": "1.0.4"}, {"name": "gFTL", "github": "Goddard-Fortran-Ecosystem/gFTL", "description": "Templates for STL-like Fortran implementations of containers for arbitrary types (Vector, Set, Map, Deque, Stack, Queue, ...)", "categories": "programming", "tags": "container template", "license": "Apache License 2.0", "forks": 8, "issues": 10, "stars": 29, "last_commit": "June 2022", "release": "v1.8.1"}, {"name": "gFTL-shared", "github": "Goddard-Fortran-Ecosystem/gFTL-shared", "description": "Instantiations of gFTL templates of common containers for intrinsic types", "categories": "programming", "tags": "container template", "license": "Apache License 2.0", "forks": 8, "issues": 7, "stars": 4, "last_commit": "May 2022", "release": "v1.5.0"}], "strings": [{"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "StringiFor", "github": "szaghi/StringiFor", "description": "Fortran strings manipulator", "categories": "strings", "tags": "split join basename search concat", "license": "GPL-3.0", "forks": 17, "issues": 5, "stars": 79, "last_commit": "July 2022", "release": "v1.1.4"}, {"name": "M_strings", "github": "urbanjost/M_strings", "description": "Fortran string manipulations", "categories": "strings", "tags": "upper lower quoted join replace white space string conversion tokens split", "version": "none", "license": "The Unlicense", "forks": 2, "issues": 1, "stars": 15, "last_commit": "May 2022", "release": "V2.0.0"}, {"name": "strff", "gitlab": "everythingfunctional/strff", "description": "Strings for Fortran - A library of string functions for Fortran.", "categories": "strings"}, {"name": "iso_varying_string", "gitlab": "everythingfunctional/iso_varying_string", "description": "Implementation of the Fortran ISO_VARYING_STRING module in accordance with the standard", "categories": "strings", "tags": "varying length character strings"}, {"name": "Fortran Equation Parser", "github": "FluidNumerics/feq-parse", "description": "An equation parser class for interpreting and evaluating equations provided as strings.", "categories": "strings io", "tags": "equation parser", "version": "none", "license": "Other", "forks": 2, "issues": 1, "stars": 18, "last_commit": "July 2022", "release": "v1.0.2"}], "data_types": [{"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "Fortran template library", "github": "SCM-NV/ftl", "description": "Generic containers, versatile algorithms, easy string manipulation, and more", "categories": "data-types", "tags": "resizeable array container linked list hash map regex string shared pointer", "version": "none", "license": "GNU General Public License v3.0", "forks": 15, "issues": 7, "stars": 89, "last_commit": "Febuary 2022"}, {"name": "PENF", "github": "szaghi/PENF", "description": "Provides portable kind-parameters and many useful procedures to deal with them", "categories": "data-types numerical", "tags": "kinds integer real ieee floating point floats precision", "license": "GPL-3.0", "forks": 21, "issues": 2, "stars": 36, "last_commit": "July 2022", "release": "v1.2.3"}, {"name": "M_time", "github": "urbanjost/M_time", "description": "Procedures that expand on the Fortran DATE_AND_TIME intrinsic", "categories": "data-types", "tags": "date weekday unix epoch month convert moon phases duration", "version": "none", "license": "The Unlicense", "forks": 0, "issues": 0, "stars": 2, "last_commit": "May 2022", "release": "v2.0.0"}, {"name": "fdict", "github": "zerothi/fdict", "description": "Variable and type-free dictionary", "categories": "data-types", "tags": "hash table", "license": "Mozilla Public License 2.0", "forks": 13, "issues": 3, "stars": 61, "last_commit": "October 2021", "release": "v0.8.0"}, {"name": "kdtree2", "github": "jmhodges/kdtree2", "description": "A kd-tree implementation in fortran", "categories": "data-types", "version": "none", "license": "Other", "forks": 35, "issues": 0, "stars": 48, "last_commit": "January 2018"}, {"name": "datetime-fortran", "github": "wavebitscientific/datetime-fortran", "description": "Date and time manipulation", "categories": "data-types", "tags": "day year month calendar weekday clock", "license": "MIT License", "version": "none", "forks": 40, "issues": 7, "stars": 115, "last_commit": "May 2021", "release": "v1.7.0"}, {"name": "qContainers", "github": "darmar-lt/qcontainers", "description": "Store any intrinsic or derived data type to a container", "categories": "data-types", "tags": "qlibc tree table hash table linked list vector dynamic array unique set", "license": "Other", "version": "none", "forks": 4, "issues": 0, "stars": 27, "last_commit": "September 2018"}, {"name": "Lookup Table Fortran", "github": "jannisteunissen/lookup_table_fortran", "description": "Linear lookup table implemented in modern Fortran", "categories": "data-types", "tags": null, "version": "none", "license": "GNU General Public License v3.0", "forks": 5, "issues": 0, "stars": 19, "last_commit": "May 2022"}, {"name": "FyCollections", "url": "https://bitbucket.org/aradi/fycollections/src/develop/", "description": "generic collection templates for Fortran", "categories": "data-types", "tags": null, "license": "BSD-2-Clause"}, {"name": "PSBLAS", "github": "sfilippone/psblas3", "description": "Parallel Sparse BLAS", "categories": "numerical data-types", "tags": "linear-algebra mpi", "license": "Other", "forks": 11, "issues": 7, "stars": 41, "last_commit": "August 2022", "release": "v3.8.0-1"}], "libraries": [{"name": "functional-fortran", "github": "wavebitscientific/functional-fortran", "description": "Functional programming for modern Fortran", "categories": "libraries", "tags": "functional filter fold map", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 31, "issues": 3, "stars": 348, "last_commit": "June 2022", "release": "0.6.1"}, {"name": "fortran-utils", "github": "certik/fortran-utils", "description": "Various utilities for Fortran programs", "categories": "libraries io", "tags": "constants types sorting mesh spline ppm hdf5 lapack", "version": "none", "license": "MIT License", "forks": 64, "issues": 4, "stars": 181, "last_commit": "October 2019"}, {"name": "Open Coarrays", "github": "sourceryinstitute/OpenCoarrays", "description": "A parallel application binary interface for Fortran 2018 compilers.", "categories": "libraries", "tags": "mpi openshmem gfortran", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 54, "issues": 37, "stars": 188, "last_commit": "July 2022", "release": "2.10.0"}, {"name": "FLAP", "github": "szaghi/FLAP", "description": "Fortran command Line Arguments Parser", "categories": "libraries", "tags": "command line cli argument parser", "license": "GPL-3.0", "forks": 33, "issues": 16, "stars": 126, "last_commit": "July 2022", "release": "v1.2.5"}, {"name": "Fortran Standard Library (stdlib)", "github": "fortran-lang/stdlib", "description": "A community driven and agreed upon de facto standard library for Fortran", "categories": "libraries", "version": "none", "license": "MIT License", "forks": 110, "issues": 215, "stars": 678, "last_commit": "August 2022", "release": "v0.2.1"}, {"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "M_CLI", "github": "urbanjost/M_CLI", "description": "Unix-like command line argument parsing", "categories": "libraries", "tags": "namelist args", "version": "none", "license": "The Unlicense", "forks": 1, "issues": 0, "stars": 9, "last_commit": "January 2022"}, {"name": "M_history", "github": "urbanjost/M_history", "description": "Subroutine to give a line-mode command history to interactive programs", "categories": "libraries", "tags": "redo", "version": "none", "license": "MIT License", "forks": 0, "issues": 0, "stars": 4, "last_commit": "May 2022"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "Fortran Astrodynamics Toolkit", "github": "jacobwilliams/Fortran-Astrodynamics-Toolkit", "description": "A Modern Fortran Library for Astrodynamics", "categories": "libraries", "license": "Other", "forks": 38, "issues": 2, "stars": 120, "last_commit": "July 2022", "release": "0.3"}, {"name": "The NJOY Nuclear Data Processing System", "github": "njoy/NJOY2016", "description": "Package for producing pointwise and multigroup nuclear cross sections and related quantities from evaluated nuclear data in the ENDF format", "categories": "libraries", "license": "Other", "forks": 65, "issues": 69, "stars": 70, "last_commit": "May 2022", "release": "2016.67"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "yaFyaml", "github": "Goddard-Fortran-Ecosystem/yaFyaml", "description": "Yet another Fortran YAML library", "categories": "libraries", "tags": "configuration yaml", "license": "Apache License 2.0", "forks": 7, "issues": 7, "stars": 9, "last_commit": "June 2022", "release": "v1.0.4"}], "tags": ["mpi", "electronic-structure", "molecular-dynamics", "quantum-chemistry", "linear-algebra", "openmp", "hpc", "ode", "density-functional-theory", "python", "gpu", "interpolation", "parallel", "runge", "kutta", "physics", "cfd", "computational-fluid-dynamics", "computational-chemistry", "parser", "testing", "lua", "integral", "integration", "finite", "fft", "spline", "hdf5", "array", "errors", "random", "unit", "list", "posix", "cpp", "formatter", "interface-generator", "container", "hash", "table", "split", "json", "interface", "contour", "pde", "coarray", "acm-toms", "element", "turbulence", "fluid-dynamics"]} \ No newline at end of file diff --git a/_data/learning.yml b/_data/learning.yml index 2fdbc19af..5d5f6a487 100644 --- a/_data/learning.yml +++ b/_data/learning.yml @@ -1,15 +1,9 @@ # Categories group mini-books on the 'Learn' landing page # -# 'fa-icon' refers to the font-awesome icon to display -# next to the category on the landing page -# + categories: - name: Getting started - fa-icon: fas fa-cubes - name: Fortran Documentation - fa-icon: fas fa-cubes - # - name: Advanced programming methods - # fa-icon: fas fa-laptop-code diff --git a/contributor.json b/contributor.json new file mode 100644 index 000000000..52b2e3744 --- /dev/null +++ b/contributor.json @@ -0,0 +1 @@ +{"repo": "fortran-lang", "contributor": ["14NGiestas", "AlexisPerry", "Aman-Godara", "Beliavsky", "ChetanKarwa", "EverLookNeverSee", "Irvise", "JHenneberg", "Jim-215-Fisher", "LKedward", "Leonard-Reuter", "MarDiehl", "Sideboard", "St-Maxwell", "aktech", "aradi", "arjenmarkus", "arteevraina", "ashirrwad", "ashwinvis", "aslozada", "awvwgk", "carlosune", "certik", "dav05", "degawa", "dev-zero", "ejovo13", "epagone", "everythingfunctional", "fiolj", "fluidnumerics-joe", "freevryheid", "gareth-nx", "ghbrown", "henilp105", "hsnyder", "ibara", "imjasonmiller", "interkosmos", "ivan-pi", "jacobwilliams", "jme52", "jvdp1", "kubajj", "lewisfish", "marshallward", "milancurcic", "noisegul", "nshaffer", "p-costa", "pdebuyl", "rouson", "sakamoti", "sblionel", "scivision", "shahmoradi", "smeskos", "tclune", "thchang", "urbanjost", "vmagnin", "wclodius2", "wiremoons", "wyphan", "zbeekman", "zjibben", "zmoon", "zoziha"]} \ No newline at end of file diff --git a/fortran_learn.json b/fortran_learn.json new file mode 100644 index 000000000..3b3cea1ea --- /dev/null +++ b/fortran_learn.json @@ -0,0 +1 @@ +{"categories": [{"name": "Getting started", "fa-icon": "fas fa-cubes"}, {"name": "Fortran Documentation", "fa-icon": "fas fa-cubes"}], "books": [{"title": "Quickstart Fortran Tutorial", "description": "An introduction to the Fortran syntax and its capabilities", "category": "Getting started", "link": "/learn/quickstart", "pages": [{"link": "/learn/quickstart/hello_world"}, {"link": "/learn/quickstart/variables"}, {"link": "/learn/quickstart/arrays_strings"}, {"link": "/learn/quickstart/operators_control_flow"}, {"link": "/learn/quickstart/organising_code"}, {"link": "/learn/quickstart/derived_types"}]}, {"title": "Building programs", "description": "How to use the compiler to build an executable program", "category": "Getting started", "link": "/learn/building_programs", "pages": [{"link": "/learn/building_programs/compiling_source"}, {"link": "/learn/building_programs/linking_pieces"}, {"link": "/learn/building_programs/runtime_libraries"}, {"link": "/learn/building_programs/include_files"}, {"link": "/learn/building_programs/managing_libraries"}, {"link": "/learn/building_programs/build_tools"}, {"link": "/learn/building_programs/project_make"}, {"link": "/learn/building_programs/distributing"}]}, {"title": "Setting up your OS", "description": "How to install a Fortran compiler and set up a development environment in Windows, Linux and macOS.", "category": "Getting started", "link": "/learn/os_setup", "pages": [{"link": "/learn/os_setup/choose_compiler"}, {"link": "/learn/os_setup/install_gfortran"}, {"link": "/learn/os_setup/text_editors"}, {"link": "/learn/os_setup/ides"}, {"link": "/learn/os_setup/tips"}]}, {"title": "Fortran Best Practices", "description": "This tutorial collects a modern canonical way of doing things in Fortran.", "category": "Getting started", "link": "/learn/best_practices", "pages": [{"link": "/learn/best_practices/style_guide"}, {"link": "/learn/best_practices/floating_point"}, {"link": "/learn/best_practices/integer_division"}, {"link": "/learn/best_practices/modules_programs"}, {"link": "/learn/best_practices/arrays"}, {"link": "/learn/best_practices/multidim_arrays"}, {"link": "/learn/best_practices/element_operations"}, {"link": "/learn/best_practices/allocatable_arrays"}, {"link": "/learn/best_practices/file_io"}, {"link": "/learn/best_practices/callbacks"}, {"link": "/learn/best_practices/type_casting"}]}, {"title": "Fortran Intrinsics", "description": "man-pages for the Fortran Intrinsics", "category": "Fortran Documentation", "link": "/learn/intrinsics", "pages": [{"link": "/learn/intrinsics/ABS"}, {"link": "/learn/intrinsics/ACHAR"}, {"link": "/learn/intrinsics/ACOSH"}, {"link": "/learn/intrinsics/ACOS"}, {"link": "/learn/intrinsics/ADJUSTL"}, {"link": "/learn/intrinsics/ADJUSTR"}, {"link": "/learn/intrinsics/AIMAG"}, {"link": "/learn/intrinsics/AINT"}, {"link": "/learn/intrinsics/ALL"}, {"link": "/learn/intrinsics/ALLOCATED"}, {"link": "/learn/intrinsics/ANINT"}, {"link": "/learn/intrinsics/ANY"}, {"link": "/learn/intrinsics/ASINH"}, {"link": "/learn/intrinsics/ASIN"}, {"link": "/learn/intrinsics/ASSOCIATED"}, {"link": "/learn/intrinsics/ATAN2"}, {"link": "/learn/intrinsics/ATANH"}, {"link": "/learn/intrinsics/ATAN"}, {"link": "/learn/intrinsics/ATOMIC_ADD"}, {"link": "/learn/intrinsics/ATOMIC_AND"}, {"link": "/learn/intrinsics/ATOMIC_CAS"}, {"link": "/learn/intrinsics/ATOMIC_DEFINE"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_ADD"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_AND"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_OR"}, {"link": "/learn/intrinsics/ATOMIC_FETCH_XOR"}, {"link": "/learn/intrinsics/ATOMIC_OR"}, {"link": "/learn/intrinsics/ATOMIC_REF"}, {"link": "/learn/intrinsics/ATOMIC_XOR"}, {"link": "/learn/intrinsics/BESSEL_J0"}, {"link": "/learn/intrinsics/BESSEL_J1"}, {"link": "/learn/intrinsics/BESSEL_JN"}, {"link": "/learn/intrinsics/BESSEL_Y0"}, {"link": "/learn/intrinsics/BESSEL_Y1"}, {"link": "/learn/intrinsics/BESSEL_YN"}, {"link": "/learn/intrinsics/BGE"}, {"link": "/learn/intrinsics/BGT"}, {"link": "/learn/intrinsics/BIT_SIZE"}, {"link": "/learn/intrinsics/BLE"}, {"link": "/learn/intrinsics/BLT"}, {"link": "/learn/intrinsics/BTEST"}, {"link": "/learn/intrinsics/C_ASSOCIATED"}, {"link": "/learn/intrinsics/CEILING"}, {"link": "/learn/intrinsics/C_F_POINTER"}, {"link": "/learn/intrinsics/C_F_PROCPOINTER"}, {"link": "/learn/intrinsics/C_FUNLOC"}, {"link": "/learn/intrinsics/CHAR"}, {"link": "/learn/intrinsics/C_LOC"}, {"link": "/learn/intrinsics/CMPLX"}, {"link": "/learn/intrinsics/CO_BROADCAST"}, {"link": "/learn/intrinsics/CO_LBOUND"}, {"link": "/learn/intrinsics/CO_MAX"}, {"link": "/learn/intrinsics/CO_MIN"}, {"link": "/learn/intrinsics/COMMAND_ARGUMENT_COUNT"}, {"link": "/learn/intrinsics/COMPILER_OPTIONS"}, {"link": "/learn/intrinsics/COMPILER_VERSION"}, {"link": "/learn/intrinsics/CONJG"}, {"link": "/learn/intrinsics/CO_REDUCE"}, {"link": "/learn/intrinsics/COSH"}, {"link": "/learn/intrinsics/COS"}, {"link": "/learn/intrinsics/CO_SUM"}, {"link": "/learn/intrinsics/CO_UBOUND"}, {"link": "/learn/intrinsics/COUNT"}, {"link": "/learn/intrinsics/CPU_TIME"}, {"link": "/learn/intrinsics/CSHIFT"}, {"link": "/learn/intrinsics/C_SIZEOF"}, {"link": "/learn/intrinsics/DATE_AND_TIME"}, {"link": "/learn/intrinsics/DBLE"}, {"link": "/learn/intrinsics/DIGITS"}, {"link": "/learn/intrinsics/DIM"}, {"link": "/learn/intrinsics/DOT_PRODUCT"}, {"link": "/learn/intrinsics/DPROD"}, {"link": "/learn/intrinsics/DSHIFTL"}, {"link": "/learn/intrinsics/DSHIFTR"}, {"link": "/learn/intrinsics/EOSHIFT"}, {"link": "/learn/intrinsics/EPSILON"}, {"link": "/learn/intrinsics/ERFC"}, {"link": "/learn/intrinsics/ERFC_SCALED"}, {"link": "/learn/intrinsics/ERF"}, {"link": "/learn/intrinsics/EVENT_QUERY"}, {"link": "/learn/intrinsics/EXECUTE_COMMAND_LINE"}, {"link": "/learn/intrinsics/EXP"}, {"link": "/learn/intrinsics/EXPONENT"}, {"link": "/learn/intrinsics/EXTENDS_TYPE_OF"}, {"link": "/learn/intrinsics/FINDLOC"}, {"link": "/learn/intrinsics/FLOAT"}, {"link": "/learn/intrinsics/FLOOR"}, {"link": "/learn/intrinsics/FRACTION"}, {"link": "/learn/intrinsics/GAMMA"}, {"link": "/learn/intrinsics/GET_COMMAND_ARGUMENT"}, {"link": "/learn/intrinsics/GET_COMMAND"}, {"link": "/learn/intrinsics/GET_ENVIRONMENT_VARIABLE"}, {"link": "/learn/intrinsics/HUGE"}, {"link": "/learn/intrinsics/HYPOT"}, {"link": "/learn/intrinsics/IACHAR"}, {"link": "/learn/intrinsics/IALL"}, {"link": "/learn/intrinsics/IAND"}, {"link": "/learn/intrinsics/IANY"}, {"link": "/learn/intrinsics/IBCLR"}, {"link": "/learn/intrinsics/IBITS"}, {"link": "/learn/intrinsics/IBSET"}, {"link": "/learn/intrinsics/ICHAR"}, {"link": "/learn/intrinsics/IEOR"}, {"link": "/learn/intrinsics/IMAGE_INDEX"}, {"link": "/learn/intrinsics/INDEX"}, {"link": "/learn/intrinsics/INT"}, {"link": "/learn/intrinsics/IOR"}, {"link": "/learn/intrinsics/IPARITY"}, {"link": "/learn/intrinsics/IS_CONTIGUOUS"}, {"link": "/learn/intrinsics/ISHFTC"}, {"link": "/learn/intrinsics/ISHFT"}, {"link": "/learn/intrinsics/IS_IOSTAT_END"}, {"link": "/learn/intrinsics/IS_IOSTAT_EOR"}, {"link": "/learn/intrinsics/KIND"}, {"link": "/learn/intrinsics/LBOUND"}, {"link": "/learn/intrinsics/LEADZ"}, {"link": "/learn/intrinsics/LEN"}, {"link": "/learn/intrinsics/LEN_TRIM"}, {"link": "/learn/intrinsics/LGE"}, {"link": "/learn/intrinsics/LGT"}, {"link": "/learn/intrinsics/LLE"}, {"link": "/learn/intrinsics/LLT"}, {"link": "/learn/intrinsics/LOG10"}, {"link": "/learn/intrinsics/LOG_GAMMA"}, {"link": "/learn/intrinsics/LOGICAL"}, {"link": "/learn/intrinsics/LOG"}, {"link": "/learn/intrinsics/MASKL"}, {"link": "/learn/intrinsics/MASKR"}, {"link": "/learn/intrinsics/MATMUL"}, {"link": "/learn/intrinsics/MAXEXPONENT"}, {"link": "/learn/intrinsics/MAXLOC"}, {"link": "/learn/intrinsics/MAX"}, {"link": "/learn/intrinsics/MAXVAL"}, {"link": "/learn/intrinsics/MERGE_BITS"}, {"link": "/learn/intrinsics/MERGE"}, {"link": "/learn/intrinsics/MINEXPONENT"}, {"link": "/learn/intrinsics/MINLOC"}, {"link": "/learn/intrinsics/MIN"}, {"link": "/learn/intrinsics/MINVAL"}, {"link": "/learn/intrinsics/MOD"}, {"link": "/learn/intrinsics/MODULO"}, {"link": "/learn/intrinsics/MOVE_ALLOC"}, {"link": "/learn/intrinsics/MVBITS"}, {"link": "/learn/intrinsics/NEAREST"}, {"link": "/learn/intrinsics/NEW_LINE"}, {"link": "/learn/intrinsics/NINT"}, {"link": "/learn/intrinsics/NORM2"}, {"link": "/learn/intrinsics/NOT"}, {"link": "/learn/intrinsics/NULL"}, {"link": "/learn/intrinsics/NUM_IMAGES"}, {"link": "/learn/intrinsics/PACK"}, {"link": "/learn/intrinsics/PARITY"}, {"link": "/learn/intrinsics/POPCNT"}, {"link": "/learn/intrinsics/POPPAR"}, {"link": "/learn/intrinsics/PRECISION"}, {"link": "/learn/intrinsics/PRESENT"}, {"link": "/learn/intrinsics/PRODUCT"}, {"link": "/learn/intrinsics/RADIX"}, {"link": "/learn/intrinsics/RANDOM_NUMBER"}, {"link": "/learn/intrinsics/RANDOM_SEED"}, {"link": "/learn/intrinsics/RANGE"}, {"link": "/learn/intrinsics/RANK"}, {"link": "/learn/intrinsics/REAL"}, {"link": "/learn/intrinsics/REPEAT"}, {"link": "/learn/intrinsics/RESHAPE"}, {"link": "/learn/intrinsics/RRSPACING"}, {"link": "/learn/intrinsics/SAME_TYPE_AS"}, {"link": "/learn/intrinsics/SCALE"}, {"link": "/learn/intrinsics/SCAN"}, {"link": "/learn/intrinsics/SELECTED_CHAR_KIND"}, {"link": "/learn/intrinsics/SELECTED_INT_KIND"}, {"link": "/learn/intrinsics/SELECTED_REAL_KIND"}, {"link": "/learn/intrinsics/SET_EXPONENT"}, {"link": "/learn/intrinsics/SHAPE"}, {"link": "/learn/intrinsics/SHIFTA"}, {"link": "/learn/intrinsics/SHIFTL"}, {"link": "/learn/intrinsics/SHIFTR"}, {"link": "/learn/intrinsics/SIGN"}, {"link": "/learn/intrinsics/SINH"}, {"link": "/learn/intrinsics/SIN"}, {"link": "/learn/intrinsics/SIZE"}, {"link": "/learn/intrinsics/SNGL"}, {"link": "/learn/intrinsics/SPACING"}, {"link": "/learn/intrinsics/SPREAD"}, {"link": "/learn/intrinsics/SQRT"}, {"link": "/learn/intrinsics/STORAGE_SIZE"}, {"link": "/learn/intrinsics/SUM"}, {"link": "/learn/intrinsics/SYSTEM_CLOCK"}, {"link": "/learn/intrinsics/TANH"}, {"link": "/learn/intrinsics/TAN"}, {"link": "/learn/intrinsics/THIS_IMAGE"}, {"link": "/learn/intrinsics/TINY"}, {"link": "/learn/intrinsics/TRAILZ"}, {"link": "/learn/intrinsics/TRANSFER"}, {"link": "/learn/intrinsics/TRANSPOSE"}, {"link": "/learn/intrinsics/TRIM"}, {"link": "/learn/intrinsics/UBOUND"}, {"link": "/learn/intrinsics/UNPACK"}, {"link": "/learn/intrinsics/VERIFY"}]}], "reference-links": [{"name": "Fortran wiki", "url": "http://fortranwiki.org/", "description": "A rich collection of Fortran articles and resources in an editable wiki format"}, {"name": "Fortran 90 org", "url": "https://www.fortran90.org/", "description": "Fortran Best Practices guide, Python/Fortran Rosetta Stone, Fortran FAQ"}, {"name": "Fortran 2018 Standard Interpretation Document", "url": "https://j3-fortran.org/doc/year/18/18-007r1.pdf", "description": "J3/18-007r1 F2018, specification of the base Fortran 2018 language"}, {"name": "J3 Fortran Proposals", "url": "https://github.com/j3-fortran/fortran_proposals", "description": "a repository for community collaboration on proposals for the Fortran Standards Committee"}, {"name": "J3: US Fortran Standards Committee", "url": "https://j3-fortran.org/", "description": "J3 is the US National Body for the international Fortran standards committee"}, {"name": "WG5: International Fortran Standards Committee", "url": "https://wg5-fortran.org/", "description": null}, {"name": "Scivision Fortran 2018 Examples", "url": "https://github.com/scivision/fortran2018-examples", "description": "A github repository containing code samples for various Fortran 2018 features"}, {"name": "Doctor Fortran Blog", "url": "https://stevelionel.com/drfortran", "description": "A collection of posts on interesting or little-understood aspects of the Fortran language"}], "reference-courses": [{"name": "Programming in Fortran", "url": "https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran", "description": "course offered at the Leibniz-Rechenzentrum"}, {"name": "PRACE Course: Fortran for Scientific Computing", "url": "https://www.futurelearn.com/courses/fortran-for-scientific-computing"}, {"name": "PRACE Course: Advanced Fortran Topics", "url": "https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics"}, {"name": "The 'F' Word - Programming in Fortran", "url": "https://www.youtube.com/playlist?list=PLRO4xf5MdhAv9CNTETor75rANZtBqPVgQ", "description": "modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods"}, {"name": "Kursmaterial f\u00fcr Wissenschaftliches Programmieren (Modern Fortran, 2017)", "url": "https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017", "description": "from B\u00e1lint Aradi at Bremen Center for Computational Materials Science (German)"}, {"name": "Formations Fortran", "url": "http://www.idris.fr/formations/fortran/", "description": "Fortran course from beginner to expert level (French)"}, {"name": "Modern Fortran Programming for Chemists and Physicists", "url": "http://www.chem.helsinki.fi/~manninen/fortran2014/", "description": "course by Pekka Manninen from University of Helsinki (includes coarrays)"}, {"name": "Expressing Object-Oriented Concepts in Fortran90", "url": "http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html"}, {"name": "Coarray tutorial", "url": "https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md", "description": "by Thomas Koenig"}, {"name": "Parallel Programming Workshop", "url": "https://fs.hlrs.de/projects/par/par_prog_ws/", "description": "materials from the High-Performance Computing Center in Stuttgart"}, {"name": "Programming in Modern Fortran", "url": "https://cyber.dabamos.de/programming/modernfortran/", "description": "by Philipp Engel"}, {"name": "2018 Workshop on Fortran Modernization for Scientific Applications", "url": "https://tcevents.chem.uzh.ch/event/3/"}, {"name": "Introduction to Programming using Fortran 95/2003/2008", "url": "http://www.egr.unlv.edu/~ed/fortran.html"}, {"name": "Scientific Programing and Numerical Computation", "url": "http://homepage.ntu.edu.tw/~wttsai/fortran/", "description": "course by Wu-ting Tsai from National Taiwan University"}, {"name": "Introduction to Modern Fortran", "url": "https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/", "description": "course given by Nick Maclaren from the University of Cambridge Computing Service, derived from a course by Steve Morgan from the University of Liverpool"}, {"name": "User Notes on Fortran Programming (UNFP)", "url": "http://www.ibiblio.org/pub/languages/fortran/unfp.html"}, {"name": "Designing and Building Parallel Programs", "url": "https://www.mcs.anl.gov/~itf/dbpp/", "description": "by Ian Foster, contains descriptions of several non-standard Fortran dialects like Fortran M and High Performance Fortran)"}, {"name": "Parallel programming with Fortran 2008 and 2018 coarrays", "url": "https://coarrays.sourceforge.io/doc.html", "description": "course by Anton Shterenlikht from the University of Bristol"}, {"name": "Professional Programmer's Guide to Fortran77", "url": "https://www.star.le.ac.uk/~cgp/prof77.html", "description": "by Clive G. Page, University of Leicester, UK"}, {"name": "Fortran90 for Fortran77 Programmers", "url": "https://www.star.le.ac.uk/~cgp/f90course/f90.html", "description": "by Clive G. Page"}, {"name": "Introduction to Computer Programming Using Fortran 95", "url": "https://www.archer.ac.uk/training/course-material/2014/08/F95_CCFE/Fortran95CourseNotes.pdf", "description": "training materials from ARCHER, the UK National Supercomputing Service"}, {"name": "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008", "url": "https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf", "description": "by Robert W. Numrich"}, {"name": "Parallel programming in Fortran with Coarrays", "url": "ftp://ftp.numerical.rl.ac.uk/pub/talks/jkr.reading.5XI08.pdf", "description": "by John Reid"}, {"name": "Introduction to Co-Array Fortran", "url": "https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf", "description": "by Robert W. Numrich"}, {"name": "Fortran 90 for the Fortran 77 Programmer", "url": "https://www.nsc.liu.se/~boein/f77to90/f77to90.html", "description": "by Bo Einarsson and Yurij Shokin"}, {"name": "Fortran Tutorial", "url": "https://www.tat.physik.uni-tuebingen.de/~kley/lehre/ftn77/tutorial/", "description": "older tutorial by Erik Boman, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://web.stanford.edu/class/me200c/tutorial_90/", "description": "older tutorial by Paul Hargrove and Sarah Whitlock, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://pages.mtu.edu/%7eshene/COURSES/cs201/NOTES/fortran.html", "description": "by C.-K. Shene, Michigan Technologial University"}, {"name": "Exploring Modern Fortran Basics", "url": "https://www.manning.com/books/exploring-modern-fortran-basics", "description": "by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications"}], "reference-books": [{"author": "Ramkarthik, M. S., and Solanki, P. D.", "year": 2021, "title": "Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90", "url": "https://www.routledge.com/Numerical-Recipes-in-Quantum-Information-Theory-and-Quantum-Computing-An/Ramkarthik-Solanki/p/book/9780367759285", "edition": "1st ed", "location": "Boca Raton", "publisher": "CRC Press"}, {"author": "Metcalf, M., Reid, J. and Cohen, M.", "year": 2018, "title": "Modern Fortran Explained", "url": "https://global.oup.com/academic/product/modern-fortran-explained-9780198811893", "edition": "5th ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Curcic, M.", "year": 2020, "title": "Modern Fortran: Building Efficient Parallel Applications", "url": "https://www.manning.com/books/modern-fortran", "edition": "1st ed", "location": "Shelter Island, NY", "publisher": "Manning Publications"}, {"author": "Fehr, H. and Kindermann, F.", "year": 2020, "title": "Introduction to Computational Economics Using Fortran", "url": "https://www.ce-fortran.com/", "edition": "1st ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Markus, A.", "year": 2012, "title": "Modern Fortran in Practice", "url": "https://www.cambridge.org/core/books/modern-fortran-in-practice/BC5BD23B2E478B4D457C5D6265BA9363", "edition": "1st ed", "location": "Cambridge, UK", "publisher": "Cambridge University Press"}, {"author": "Chivers, I. and Sleightholme, J.", "year": 2018, "title": "Introduction to Programming with Fortran", "url": "https://doi.org/10.1007/978-3-319-75502-1", "edition": "4th ed", "publisher": "Springer International Publishing"}, {"author": "Chapman, S. J.", "year": 2018, "title": "Fortran for Scientists and Engineers", "url": "https://www.mheducation.com/highered/product/fortran-scientists-engineers-chapman/M9780073385891.html", "edition": "4th ed", "location": "New York", "publisher": "McGraw-Hill Education"}, {"author": "Ray, S.", "year": 2019, "title": "Fortran 2018 with Parallel Programming", "url": "https://www.routledge.com/Fortran-2018-with-Parallel-Programming/Ray/p/book/9780367218430", "edition": "1st ed", "publisher": "Chapman and Hall/CRC"}, {"author": "Brainerd, W. S.", "year": 2015, "title": "Guide to Fortran 2008 Programming", "url": "https://doi.org/10.1007/978-1-4471-6759-4", "edition": "1st ed", "location": "London", "publisher": "Springer-Verlag"}, {"author": "Numrich, R. W.", "year": 2018, "title": "Parallel Programming with Co-arrays", "url": "https://doi.org/10.1201/9780429437182", "edition": "1st ed", "location": "New York", "publisher": "Chapman and Hall/CRC"}, {"author": "Akin, E.", "year": 2003, "title": "Object-Oriented Programming via Fortran 90/95", "url": "https://doi.org/10.1017/CBO9780511530111", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "McCormack, D.", "year": 2009, "title": "Scientific Software Development with Fortran", "url": "https://www.lulu.com/en/gb/shop/drew-mccormack/scientific-software-development-in-fortran/ebook/product-1gvmw8p6.html", "edition": "1st ed", "location": null, "publisher": "Lulu Press"}, {"author": "Rouson, D., Xia, J., and Xiaofeng, X.", "year": 2014, "title": "Scientific Software Design: The Object-Oriented Way", "url": "https://www.cambridge.org/gb/academic/subjects/engineering/engineering-general-interest/scientific-software-design-object-oriented-way", "edition": "2nd ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Chirila, D. B., and Lohmann, G.", "year": 2015, "title": "Introduction to Modern Fortran for the Earth System Sciences", "url": "https://doi.org/10.1007/978-3-642-37009-0", "edition": "1st ed", "location": "Berlin", "publisher": "Springer-Verlag"}, {"author": "Clerman, N. S. and Spector, W.", "year": 2011, "title": "Modern Fortran: Style and Usage", "url": "https://doi.org/10.1017/CBO9781139027687", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Hanson, R. J. and Hopkins, T.", "year": 2013, "title": "Numerical Computing with Modern Fortran", "url": "https://doi.org/10.1137/1.9781611973129.fm", "edition": "1st ed", "location": "Philadelphia", "publisher": "SIAM"}, {"author": "Oliveira, S. and Steward, D.", "year": 2006, "title": "Writing Scientific Software: A Guide to Good Style", "url": "https://www.cambridge.org/gb/academic/subjects/computer-science/scientific-computing-scientific-software/writing-scientific-software-guide-good-style", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Kernighan, B. and Pike, R.", "year": 1999, "title": "The Practice of Programming", "url": "https://www.oreilly.com/library/view/the-practice-of/9780133133448/", "edition": "1st ed", "location": "Reading", "publisher": "Addison-Wesley Professional"}], "reference_books": [{"author": "Ramkarthik, M. S., and Solanki, P. D.", "year": 2021, "title": "Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90", "url": "https://www.routledge.com/Numerical-Recipes-in-Quantum-Information-Theory-and-Quantum-Computing-An/Ramkarthik-Solanki/p/book/9780367759285", "edition": "1st ed", "location": "Boca Raton", "publisher": "CRC Press"}, {"author": "Metcalf, M., Reid, J. and Cohen, M.", "year": 2018, "title": "Modern Fortran Explained", "url": "https://global.oup.com/academic/product/modern-fortran-explained-9780198811893", "edition": "5th ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Curcic, M.", "year": 2020, "title": "Modern Fortran: Building Efficient Parallel Applications", "url": "https://www.manning.com/books/modern-fortran", "edition": "1st ed", "location": "Shelter Island, NY", "publisher": "Manning Publications"}, {"author": "Fehr, H. and Kindermann, F.", "year": 2020, "title": "Introduction to Computational Economics Using Fortran", "url": "https://www.ce-fortran.com/", "edition": "1st ed", "location": "Oxford, UK", "publisher": "Oxford University Press"}, {"author": "Markus, A.", "year": 2012, "title": "Modern Fortran in Practice", "url": "https://www.cambridge.org/core/books/modern-fortran-in-practice/BC5BD23B2E478B4D457C5D6265BA9363", "edition": "1st ed", "location": "Cambridge, UK", "publisher": "Cambridge University Press"}, {"author": "Chivers, I. and Sleightholme, J.", "year": 2018, "title": "Introduction to Programming with Fortran", "url": "https://doi.org/10.1007/978-3-319-75502-1", "edition": "4th ed", "publisher": "Springer International Publishing"}, {"author": "Chapman, S. J.", "year": 2018, "title": "Fortran for Scientists and Engineers", "url": "https://www.mheducation.com/highered/product/fortran-scientists-engineers-chapman/M9780073385891.html", "edition": "4th ed", "location": "New York", "publisher": "McGraw-Hill Education"}, {"author": "Ray, S.", "year": 2019, "title": "Fortran 2018 with Parallel Programming", "url": "https://www.routledge.com/Fortran-2018-with-Parallel-Programming/Ray/p/book/9780367218430", "edition": "1st ed", "publisher": "Chapman and Hall/CRC"}, {"author": "Brainerd, W. S.", "year": 2015, "title": "Guide to Fortran 2008 Programming", "url": "https://doi.org/10.1007/978-1-4471-6759-4", "edition": "1st ed", "location": "London", "publisher": "Springer-Verlag"}, {"author": "Numrich, R. W.", "year": 2018, "title": "Parallel Programming with Co-arrays", "url": "https://doi.org/10.1201/9780429437182", "edition": "1st ed", "location": "New York", "publisher": "Chapman and Hall/CRC"}, {"author": "Akin, E.", "year": 2003, "title": "Object-Oriented Programming via Fortran 90/95", "url": "https://doi.org/10.1017/CBO9780511530111", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "McCormack, D.", "year": 2009, "title": "Scientific Software Development with Fortran", "url": "https://www.lulu.com/en/gb/shop/drew-mccormack/scientific-software-development-in-fortran/ebook/product-1gvmw8p6.html", "edition": "1st ed", "location": null, "publisher": "Lulu Press"}, {"author": "Rouson, D., Xia, J., and Xiaofeng, X.", "year": 2014, "title": "Scientific Software Design: The Object-Oriented Way", "url": "https://www.cambridge.org/gb/academic/subjects/engineering/engineering-general-interest/scientific-software-design-object-oriented-way", "edition": "2nd ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Chirila, D. B., and Lohmann, G.", "year": 2015, "title": "Introduction to Modern Fortran for the Earth System Sciences", "url": "https://doi.org/10.1007/978-3-642-37009-0", "edition": "1st ed", "location": "Berlin", "publisher": "Springer-Verlag"}, {"author": "Clerman, N. S. and Spector, W.", "year": 2011, "title": "Modern Fortran: Style and Usage", "url": "https://doi.org/10.1017/CBO9781139027687", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Hanson, R. J. and Hopkins, T.", "year": 2013, "title": "Numerical Computing with Modern Fortran", "url": "https://doi.org/10.1137/1.9781611973129.fm", "edition": "1st ed", "location": "Philadelphia", "publisher": "SIAM"}, {"author": "Oliveira, S. and Steward, D.", "year": 2006, "title": "Writing Scientific Software: A Guide to Good Style", "url": "https://www.cambridge.org/gb/academic/subjects/computer-science/scientific-computing-scientific-software/writing-scientific-software-guide-good-style", "edition": "1st ed", "location": "Cambridge", "publisher": "Cambridge University Press"}, {"author": "Kernighan, B. and Pike, R.", "year": 1999, "title": "The Practice of Programming", "url": "https://www.oreilly.com/library/view/the-practice-of/9780133133448/", "edition": "1st ed", "location": "Reading", "publisher": "Addison-Wesley Professional"}], "reference_courses": [{"name": "Programming in Fortran", "url": "https://doku.lrz.de/display/PUBLIC/Programming+with+Fortran", "description": "course offered at the Leibniz-Rechenzentrum"}, {"name": "PRACE Course: Fortran for Scientific Computing", "url": "https://www.futurelearn.com/courses/fortran-for-scientific-computing"}, {"name": "PRACE Course: Advanced Fortran Topics", "url": "https://doku.lrz.de/display/PUBLIC/PRACE+Course%3A+Advanced+Fortran+Topics"}, {"name": "The 'F' Word - Programming in Fortran", "url": "https://www.youtube.com/playlist?list=PLRO4xf5MdhAv9CNTETor75rANZtBqPVgQ", "description": "modern Fortran for developing an extensible library that can be used to solve conservation laws (PDEs) using spectral and spectral element methods"}, {"name": "Kursmaterial f\u00fcr Wissenschaftliches Programmieren (Modern Fortran, 2017)", "url": "https://www.bccms.uni-bremen.de/cms/people/b-aradi/wissen-progr/modern-fortran/2017", "description": "from B\u00e1lint Aradi at Bremen Center for Computational Materials Science (German)"}, {"name": "Formations Fortran", "url": "http://www.idris.fr/formations/fortran/", "description": "Fortran course from beginner to expert level (French)"}, {"name": "Modern Fortran Programming for Chemists and Physicists", "url": "http://www.chem.helsinki.fi/~manninen/fortran2014/", "description": "course by Pekka Manninen from University of Helsinki (includes coarrays)"}, {"name": "Expressing Object-Oriented Concepts in Fortran90", "url": "http://www.cs.rpi.edu/~szymansk/OOF90/Forum.html"}, {"name": "Coarray tutorial", "url": "https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md", "description": "by Thomas Koenig"}, {"name": "Parallel Programming Workshop", "url": "https://fs.hlrs.de/projects/par/par_prog_ws/", "description": "materials from the High-Performance Computing Center in Stuttgart"}, {"name": "Programming in Modern Fortran", "url": "https://cyber.dabamos.de/programming/modernfortran/", "description": "by Philipp Engel"}, {"name": "2018 Workshop on Fortran Modernization for Scientific Applications", "url": "https://tcevents.chem.uzh.ch/event/3/"}, {"name": "Introduction to Programming using Fortran 95/2003/2008", "url": "http://www.egr.unlv.edu/~ed/fortran.html"}, {"name": "Scientific Programing and Numerical Computation", "url": "http://homepage.ntu.edu.tw/~wttsai/fortran/", "description": "course by Wu-ting Tsai from National Taiwan University"}, {"name": "Introduction to Modern Fortran", "url": "https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/", "description": "course given by Nick Maclaren from the University of Cambridge Computing Service, derived from a course by Steve Morgan from the University of Liverpool"}, {"name": "User Notes on Fortran Programming (UNFP)", "url": "http://www.ibiblio.org/pub/languages/fortran/unfp.html"}, {"name": "Designing and Building Parallel Programs", "url": "https://www.mcs.anl.gov/~itf/dbpp/", "description": "by Ian Foster, contains descriptions of several non-standard Fortran dialects like Fortran M and High Performance Fortran)"}, {"name": "Parallel programming with Fortran 2008 and 2018 coarrays", "url": "https://coarrays.sourceforge.io/doc.html", "description": "course by Anton Shterenlikht from the University of Bristol"}, {"name": "Professional Programmer's Guide to Fortran77", "url": "https://www.star.le.ac.uk/~cgp/prof77.html", "description": "by Clive G. Page, University of Leicester, UK"}, {"name": "Fortran90 for Fortran77 Programmers", "url": "https://www.star.le.ac.uk/~cgp/f90course/f90.html", "description": "by Clive G. Page"}, {"name": "Introduction to Computer Programming Using Fortran 95", "url": "https://www.archer.ac.uk/training/course-material/2014/08/F95_CCFE/Fortran95CourseNotes.pdf", "description": "training materials from ARCHER, the UK National Supercomputing Service"}, {"name": "Combining Object-Oriented Techniques with Co-arrays in Fortran 2008", "url": "https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf", "description": "by Robert W. Numrich"}, {"name": "Parallel programming in Fortran with Coarrays", "url": "ftp://ftp.numerical.rl.ac.uk/pub/talks/jkr.reading.5XI08.pdf", "description": "by John Reid"}, {"name": "Introduction to Co-Array Fortran", "url": "https://faculty.csbsju.edu/mheroux/fall2011_csci317/NumrichCafTalk.pdf", "description": "by Robert W. Numrich"}, {"name": "Fortran 90 for the Fortran 77 Programmer", "url": "https://www.nsc.liu.se/~boein/f77to90/f77to90.html", "description": "by Bo Einarsson and Yurij Shokin"}, {"name": "Fortran Tutorial", "url": "https://www.tat.physik.uni-tuebingen.de/~kley/lehre/ftn77/tutorial/", "description": "older tutorial by Erik Boman, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://web.stanford.edu/class/me200c/tutorial_90/", "description": "older tutorial by Paul Hargrove and Sarah Whitlock, Stanford University"}, {"name": "Fortran 90 Tutorial", "url": "https://pages.mtu.edu/%7eshene/COURSES/cs201/NOTES/fortran.html", "description": "by C.-K. Shene, Michigan Technologial University"}, {"name": "Exploring Modern Fortran Basics", "url": "https://www.manning.com/books/exploring-modern-fortran-basics", "description": "by Milan Curcic, excerpt (Chapters 2, 3, and 4) from Modern Fortran - Building Efficient Parallel Applications"}], "reference_links": [{"name": "Fortran wiki", "url": "http://fortranwiki.org/", "description": "A rich collection of Fortran articles and resources in an editable wiki format"}, {"name": "Fortran 90 org", "url": "https://www.fortran90.org/", "description": "Fortran Best Practices guide, Python/Fortran Rosetta Stone, Fortran FAQ"}, {"name": "Fortran 2018 Standard Interpretation Document", "url": "https://j3-fortran.org/doc/year/18/18-007r1.pdf", "description": "J3/18-007r1 F2018, specification of the base Fortran 2018 language"}, {"name": "J3 Fortran Proposals", "url": "https://github.com/j3-fortran/fortran_proposals", "description": "a repository for community collaboration on proposals for the Fortran Standards Committee"}, {"name": "J3: US Fortran Standards Committee", "url": "https://j3-fortran.org/", "description": "J3 is the US National Body for the international Fortran standards committee"}, {"name": "WG5: International Fortran Standards Committee", "url": "https://wg5-fortran.org/", "description": null}, {"name": "Scivision Fortran 2018 Examples", "url": "https://github.com/scivision/fortran2018-examples", "description": "A github repository containing code samples for various Fortran 2018 features"}, {"name": "Doctor Fortran Blog", "url": "https://stevelionel.com/drfortran", "description": "A collection of posts on interesting or little-understood aspects of the Fortran language"}]} \ No newline at end of file diff --git a/fortran_package.json b/fortran_package.json new file mode 100644 index 000000000..ac5c0e87b --- /dev/null +++ b/fortran_package.json @@ -0,0 +1 @@ +{"fortran_tags": "tags", "numerical": [{"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "librsb", "url": "http://librsb.sourceforge.net/", "description": "A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format implementing the Sparse BLAS standard", "categories": "numerical interfaces scientific", "tags": "linear-algebra openmp", "license": "LGPL-3.0-or-later", "version": 1.3}, {"name": "Tapenade", "url": "https://gitlab.inria.fr/tapenade/tapenade", "description": "A tool for automatic differentiation (forward/reverse) of Fortran and c programs", "categories": "programming numerical", "tags": "algorithmic derivative ad", "license": "MIT", "version": "3.16-v2"}, {"name": "PENF", "github": "szaghi/PENF", "description": "Provides portable kind-parameters and many useful procedures to deal with them", "categories": "data-types numerical", "tags": "kinds integer real ieee floating point floats precision", "license": "GPL-3.0", "forks": 21, "issues": 2, "stars": 36, "last_commit": "July 2022", "release": "v1.2.3"}, {"name": "OpenBLAS", "github": "xianyi/OpenBLAS", "description": "Optimized BLAS library based on GotoBLAS2", "categories": "numerical", "tags": "blas linear-algebra", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 1203, "issues": 132, "stars": 4664, "last_commit": "July 2022", "release": "v0.3.20"}, {"name": "LAPACK", "github": "Reference-LAPACK/lapack", "description": "Routines for numerical linear algebra", "categories": "numerical", "tags": "blas linear-algebra", "license": "Other", "forks": 319, "issues": 110, "stars": 984, "last_commit": "July 2022", "release": "v3.10.1"}, {"name": "PROPACK", "url": "http://sun.stanford.edu/~rmunk/PROPACK/", "description": "Software package for computing the singular value decomposition of large and sparse or structured matrices", "categories": "numerical", "tags": "linear-algebra svd lanczos-bidiagonalization openmp", "license": "BSD-3-Clause", "version": 2.1}, {"name": "FATODE", "github": "ComputationalScienceLaboratory/FATODE", "description": "A Fortran library for the integration of ordinary differential equations with direct and adjoint sensitivity analysis capabilities", "categories": "numerical scientific", "tags": "ode-solver", "license": "Other", "version": 1.2, "forks": 1, "issues": 0, "stars": 8, "last_commit": "October 2019"}, {"name": "SLICOT", "github": "SLICOT/SLICOT-Reference", "description": "A Fortran subroutines library for systems and control", "categories": "numerical scientific", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 7, "issues": 2, "stars": 19, "last_commit": "May 2022", "release": "v5.8"}, {"name": "ElmerFEM", "github": "ElmerCSC/elmerfem", "description": "Finite element software for numerical solution of partial differential equations", "categories": "numerical", "tags": "pde fe", "license": "GPL-2.0", "version": "none", "forks": 237, "issues": 34, "stars": 716, "last_commit": "August 2022"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "SHTOOLS", "github": "SHTOOLS/SHTOOLS", "description": "A Fortran-95/Python library that can be used to perform spherical harmonic transforms", "categories": "numerical", "tags": "spectral analysis Slepian bases gravitational magnetic field openmp", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 91, "issues": 24, "stars": 251, "last_commit": "April 2022", "release": "v4.10"}, {"name": "ARPACK", "github": "opencollab/arpack-ng", "description": "Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.", "categories": "numerical", "tags": "eigenvalue eigenvector singular value decomposition svd", "license": "Other", "version": "none", "forks": 89, "issues": 43, "stars": 184, "last_commit": "July 2022"}, {"name": "neural-fortran", "github": "modern-fortran/neural-fortran", "description": "A parallel neural net microframework.", "categories": "numerical", "tags": "back propagation coarray", "version": "none", "license": "MIT License", "forks": 49, "issues": 19, "stars": 229, "last_commit": "July 2022", "release": "v0.6.0"}, {"name": "ParaMonte", "github": "cdslaborg/paramonte", "description": "A general-purpose high-performance MPI/Coarray-parallel Monte Carlo simulation library implemented in Fortran 2018 with interfaces to C/C++/Fortran/MATLAB/Python", "categories": "numerical", "tags": "parallel mpi coarray monte carlo mcmc c cpp matlab python statistics bayesian stochastic optimization sampling integration machine learning", "version": "1.0.0", "license": "MIT License", "forks": 20, "issues": 2, "stars": 171, "last_commit": "July 2021", "release": "v1.5.1"}, {"name": "bspline-fortran", "github": "jacobwilliams/bspline-fortran", "description": "Multidimensional B-Spline interpolation of data on a regular grid", "categories": "numerical", "tags": "spline interpolation extrapolation integration integral", "license": "Other", "forks": 41, "issues": 9, "stars": 129, "last_commit": "May 2022", "release": "7.0.0"}, {"name": "PCHIP", "github": "jacobwilliams/PCHIP", "description": "Piecewise Cubic Hermite Interpolation Package", "categories": "numerical", "tags": "hermite spline interpolation integration integral", "license": "Other", "forks": 1, "issues": 0, "stars": 15, "last_commit": "May 2022", "release": "1.1.0"}, {"name": "regridpack", "github": "jacobwilliams/regridpack", "description": "Suite of Fortran routines for interpolating values between one-, two-, three-, and four-dimensional arrays defined on uniform or nonuniform orthogonal grids", "categories": "numerical", "tags": "linear cubic interpolation", "license": "Other", "forks": 0, "issues": 1, "stars": 9, "last_commit": "May 2022", "release": "1.0.0"}, {"name": "FOODIE", "github": "Fortran-FOSS-Programmers/FOODIE", "description": "Fortran Object-Oriented Differential-equations Integration Environment", "categories": "numerical", "tags": "ode pde euler runge kutta", "license": "GPL-3.0", "forks": 29, "issues": 14, "stars": 110, "last_commit": "April 2022", "release": "v0.3.6"}, {"name": "ddeabm", "github": "jacobwilliams/ddeabm", "description": "Modern Fortran implementation of the DDEABM Adams-Bashforth algorithm", "categories": "numerical", "tags": "ode adams-bashforth", "license": "Other", "forks": 6, "issues": 2, "stars": 24, "last_commit": "May 2022", "release": "3.0.0"}, {"name": "dop853", "github": "jacobwilliams/dop853", "description": "Modern Fortran Edition of Hairer's DOP853 ODE Solver", "categories": "numerical", "tags": "ode runge kutta", "license": "Other", "forks": 11, "issues": 3, "stars": 34, "last_commit": "May 2022", "release": "1.2.0"}, {"name": "FLINT", "github": "princemahajan/FLINT", "description": "Fortran Library for numerical INTegration of differential equations", "categories": "numerical", "tags": "ode runge kutta", "license": "Apache License 2.0", "forks": 7, "issues": 5, "stars": 31, "last_commit": "October 2021", "release": "v0.9.8-beta"}, {"name": "ODEPACK", "url": "https://computing.llnl.gov/projects/odepack/software", "description": "A Systematized Collection of ODE Solvers (FORTRAN 77)", "categories": "numerical", "tags": "ode runge kutta adams-bashforth", "license": "Public domain"}, {"name": "fgsl", "github": "reinh-bader/fgsl", "description": "Fortran interface to the GNU Scientific Library", "categories": "numerical interfaces", "tags": null, "license": "GNU General Public License v2.0", "forks": 18, "issues": 3, "stars": 76, "last_commit": "July 2021", "release": "1.5.0"}, {"name": "SciFortran", "github": "aamaricci/SciFortran", "description": "collection of fortran modules and procedures for scientific calculations.", "categories": "numerical", "tags": null, "version": "none", "license": "GNU Lesser General Public License v3.0", "forks": 32, "issues": 2, "stars": 114, "last_commit": "July 2022"}, {"name": "Los Alamos Grid Toolbox (LaGriT)", "github": "lanl/LaGriT", "description": "a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance", "categories": "numerical", "tags": null, "license": "Other", "forks": 45, "issues": 113, "stars": 84, "last_commit": "July 2022", "release": "v3.3.2"}, {"name": "DBCSR", "github": "cp2k/dbcsr", "description": "Distributed block compresseed sparse row matrix library", "categories": "numerical", "tags": "linear-algebra parallel mpi openmp cuda hip", "license": "GNU General Public License v2.0", "forks": 32, "issues": 56, "stars": 71, "last_commit": "July 2022", "release": "v2.3.0"}, {"name": "PSBLAS", "github": "sfilippone/psblas3", "description": "Parallel Sparse BLAS", "categories": "numerical data-types", "tags": "linear-algebra mpi", "license": "Other", "forks": 11, "issues": 7, "stars": 41, "last_commit": "August 2022", "release": "v3.8.0-1"}, {"name": "GALAHAD", "github": "ralna/GALAHAD", "description": "Modules for nonlinear optimization", "categories": "numerical", "tags": "least squares active set quadratic-programming interior point convex-programming linear-programming", "license": "Other", "forks": 9, "issues": 0, "stars": 62, "last_commit": "August 2022", "release": "v4.0.0"}, {"name": "slsqp", "github": "jacobwilliams/slsqp", "description": "SLSQP nonlinear constrained optimizer", "categories": "numerical", "tags": "nonlinear-programming equality inequality constraints", "license": "Other", "forks": 15, "issues": 2, "stars": 54, "last_commit": "May 2022", "release": "1.2.3"}, {"name": "NumDiff", "github": "jacobwilliams/NumDiff", "description": "a modern Fortran interface for computing the Jacobian (derivative) matrix of m nonlinear functions which depend on n variables", "categories": "numerical", "tags": "finite difference", "license": "Other", "forks": 5, "issues": 0, "stars": 49, "last_commit": "May 2022", "release": "1.6.0"}, {"name": "quaff", "gitlab": "everythingfunctional/quaff", "description": "Quantities for Fortran. Make math with units more convenient", "categories": "numerical", "tags": null}, {"name": "rng_fortran", "github": "jannisteunissen/rng_fortran", "description": "Pseudo random number generator in Fortran, internally using xoroshiro128+", "categories": "numerical", "tags": "uniform normal poisson distributed", "license": "GNU General Public License v3.0", "version": "none", "forks": 1, "issues": 0, "stars": 21, "last_commit": "May 2021"}, {"name": "libnegf", "github": "libnegf/libnegf", "description": "A general library for Non Equilibrium Green's Functions", "categories": "numerical", "tags": "transport electronic-structure", "license": "Other", "forks": 9, "issues": 7, "stars": 8, "last_commit": "May 2022", "release": "v1.1.2"}, {"name": "ddPCM", "github": "filippolipparini/ddPCM", "description": "A fast domain decomposition based implementation of the COSMO solvation model", "categories": "numerical", "tags": "continuum-solvation cosmo pcm cpcm", "license": "GNU Lesser General Public License v3.0", "forks": 16, "issues": 0, "stars": 12, "last_commit": "April 2018", "release": "v1.0"}, {"name": "PoisFFT", "github": "LadaF/PoisFFT", "description": "Library to solve Poisson equation on a uniform Cartesian grid using the Fast Fourier Transform", "categories": "numerical", "tags": "fft poisson", "license": "Other", "version": "none", "forks": 15, "issues": 0, "stars": 45, "last_commit": "April 2022"}, {"name": "ELPA", "url": "https://gitlab.mpcdf.mpg.de/elpa/elpa", "description": "Eigenvalue Solvers for Petaflop Applications", "categories": "numerical", "tags": "mpi gpu", "version": "2020.05.001", "license": "LGPL-3.0"}, {"name": "NTPoly", "github": "william-dawson/ntpoly", "description": "A massively parallel library for computing the functions of sparse matrices.", "categories": "numerical", "tags": "mpi", "license": "MIT License", "forks": 8, "issues": 6, "stars": 15, "last_commit": "January 2022", "release": "ntpoly-v2.7.1"}, {"name": "QMD-PROGRESS", "github": "lanl/qmd-progress", "description": "Parallel, Rapid O(N) and Graph-based Recursive Electronic Structure Solver.", "categories": "numerical", "tags": "mpi", "license": "Other", "forks": 12, "issues": 14, "stars": 12, "last_commit": "July 2022", "release": "v1.2.0"}, {"name": "DelaunaySparse", "github": "vtopt/DelaunaySparse", "description": "Multivariate Interpolation via a Sparse Subset of the Delaunay Triangulation in Medium to High Dimensions.", "categories": "numerical", "tags": "interpolation openmp acm-toms", "license": "Other", "version": "none", "forks": 2, "issues": 0, "stars": 14, "last_commit": "May 2022"}, {"name": "MapTran3D", "github": "geospace-code/maptran3d", "description": "Geodesy, 3D coordinate conversions for ECEF, ENU, ECI, ...", "categories": "numerical", "license": "BSD 2-Clause \"Simplified\" License", "forks": 3, "issues": 0, "stars": 9, "last_commit": "July 2022", "release": "v1.2.0"}, {"name": "RPNcalc", "github": "scivision/rpn-calc-fortran", "description": "Reverse Polish Notation calculator for interactive console use", "categories": "numerical", "license": "MIT License", "forks": 1, "issues": 0, "stars": 17, "last_commit": "July 2022", "release": "v1.4.0"}, {"name": "Incompact3d", "github": "xcompact3d/incompact3d", "description": "Solver for the incompressible Navier-Stokes equations", "categories": "numerical", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 76, "issues": 16, "stars": 58, "last_commit": "August 2022", "release": "v4.0"}, {"name": "2DECOMP&FFT", "url": "http://www.2decomp.org/", "description": "Library for 2D pencil decomposition and distributed Fast Fourier Transform", "categories": "numerical scientific", "tags": "fft parallel distributed-memory openmpi", "license": "BSD-3-Clause", "version": "1.5.847"}, {"name": "OpenFFT", "url": "http://www.openmx-square.org/openfft/", "description": "Open source parallel package for computing multi-dimensional Fast Fourier Transforms (3-D and 4-D FFTs)", "categories": "numerical interfaces", "tags": "fft openmpi domain-decomposition-method", "license": "GPL-3.0-or-later", "version": 1.2}, {"name": "NUFFT", "url": "https://cims.nyu.edu/cmcl/nufft/nufft.html", "description": "Non-Uniform Fast Fourier Transforms", "categories": "numerical", "tags": "non-uniform-fft fft", "license": "GPL-2.0-or-later"}, {"name": "HANDE", "github": "hande-qmc/hande", "description": "Open source stochastic quantum chemistry", "categories": "numerical scientific", "tags": "qmc electronic-structure", "version": "none", "license": "GNU Lesser General Public License v2.1", "forks": 16, "issues": 2, "stars": 60, "last_commit": "June 2022"}, {"name": "FMM3D", "github": "flatironinstitute/FMM3D", "description": "Compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a multi-core shared-memory machine.", "categories": "numerical", "tags": "fast-multipole-method", "license": "Other", "forks": 22, "issues": 2, "stars": 60, "last_commit": "June 2022", "release": "v1.0.1"}, {"name": "fmm2d", "github": "flatironinstitute/fmm2d", "description": "Compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in two dimensions, on a multi-core shared-memory machine.", "categories": "numerical", "tags": "fast-multipole-method", "license": "Apache License 2.0", "forks": 5, "issues": 2, "stars": 15, "last_commit": "August 2022"}, {"name": "Numerical methods in fortran", "github": "planelles20/numerical-methods-fortran", "description": "Solving linear, nonlinear equations, ordinary differential equations", "categories": "examples numerical", "tags": "ode pde integral stochastic quadrature plotting", "version": "none", "license": "GNU General Public License v2.0", "forks": 15, "issues": 0, "stars": 71, "last_commit": "March 2021"}, {"name": "VTMOP", "github": "vtopt/VTMOP", "description": "Solver for Blackbox Multiobjective Optimization Problems.", "categories": "numerical", "tags": "global-optimization simulation-optimization blackbox-optimization multiobjective-optimization multicriteria-optimization response-surface-methodology acm-toms", "license": "MIT License", "version": "none", "forks": 0, "issues": 0, "stars": 1, "last_commit": "May 2022"}, {"name": "QNSTOP", "github": "vtopt/qnstop", "description": "Quasi-Newton Algorithm for Stochastic Optimization.", "categories": "numerical", "tags": "quasi-newton-optimization stochastic-optimization acm-toms", "license": "MIT License", "version": "none", "forks": 2, "issues": 0, "stars": 10, "last_commit": "May 2022"}], "io": [{"name": "fortran-utils", "github": "certik/fortran-utils", "description": "Various utilities for Fortran programs", "categories": "libraries io", "tags": "constants types sorting mesh spline ppm hdf5 lapack", "version": "none", "license": "MIT License", "forks": 64, "issues": 4, "stars": 181, "last_commit": "October 2019"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "atomsk", "github": "pierrehirel/atomsk", "description": "A Tool For Manipulating And Converting Atomic Data Files", "categories": "io", "tags": "file-formats", "version": "none", "license": "GNU General Public License v3.0", "forks": 57, "issues": 1, "stars": 107, "last_commit": "July 2022"}, {"name": "FortJSON", "gitlab": "elsi_project/fortjson", "description": "A JSON library designed with portability across HPC architectures in mind", "categories": "io", "tags": "json hpc", "license": "BSD-3-Clause", "version": "none"}, {"name": "pFlogger", "github": "Goddard-Fortran-Ecosystem/pFlogger", "description": "A parallel Fortran logger (based on the design of the Python logger)", "categories": "io", "tags": "logger mpi", "license": "Other", "forks": 5, "issues": 9, "stars": 11, "last_commit": "June 2022", "release": "v1.9.1"}, {"name": "json-fortran", "github": "jacobwilliams/json-fortran", "description": "A Fortran 2008 JSON API", "categories": "io", "tags": "json", "license": "Other", "forks": 68, "issues": 22, "stars": 263, "last_commit": "May 2022", "release": "8.3.0"}, {"name": "VTKFortran", "github": "szaghi/VTKFortran", "description": "Library to parse and emit files conforming VTK (XML) standard", "categories": "io", "tags": null, "license": "GPL-3.0", "version": "none", "forks": 40, "issues": 11, "stars": 111, "last_commit": "July 2022", "release": "v2.0.3"}, {"name": "netCDF-Fortran", "github": "Unidata/netcdf-fortran", "description": "Fortran interfaces for netCDF C library.", "categories": "io", "tags": "netcdf", "license": "Other", "forks": 82, "issues": 91, "stars": 167, "last_commit": "July 2022", "release": "v4.6.0"}, {"name": "fox", "github": "andreww/fox", "description": "A Fortran XML library", "categories": "io", "tags": null, "license": "Other", "version": "none", "forks": 57, "issues": 32, "stars": 52, "last_commit": "Febuary 2021"}, {"name": "FEconv", "github": "victorsndvg/FEconv", "description": "utility and library for converting between mesh and finite element field formats", "categories": "io", "tags": "ansys msh nastran bdf vtk", "version": "none", "license": "GNU General Public License v3.0", "forks": 21, "issues": 4, "stars": 64, "last_commit": "September 2020"}, {"name": "h5fortran", "github": "geospace-code/h5fortran", "description": "Simple, robust, thin HDF5 polymorphic read/write interface", "categories": "io", "tags": "hdf5", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 17, "issues": 1, "stars": 70, "last_commit": "July 2022", "release": "v4.8.0"}, {"name": "nc4fortran", "github": "geospace-code/nc4fortran", "description": "Object-oriented interface for NetCDF4 in Fortran", "categories": "io", "tags": "netcdf", "license": "MIT License", "forks": 5, "issues": 0, "stars": 31, "last_commit": "July 2022", "release": "v1.7.0"}, {"name": "fortran-csv-module", "github": "jacobwilliams/fortran-csv-module", "description": "Read and write CSV Files using modern Fortran", "categories": "io", "tags": "csv", "license": "Other", "forks": 23, "issues": 7, "stars": 68, "last_commit": "April 2022", "release": "1.5.0"}, {"name": "M_IO", "github": "urbanjost/M_io", "description": "Fortran module for common I/O tasks", "categories": "io", "tags": "delete slurp swallow dirname split path", "license": "The Unlicense", "version": "none", "forks": 1, "issues": 1, "stars": 4, "last_commit": "May 2022"}, {"name": "jsonff", "gitlab": "everythingfunctional/jsonff", "description": "Routines for building JSON structures in Fortran", "categories": "io", "tags": "json"}, {"name": "NPY for Fortran", "github": "MRedies/NPY-for-Fortran", "description": "Allows saving numerical Fortran arrays in Numpy's .npy or .npz format", "categories": "io", "tags": "python", "license": "MIT License", "forks": 8, "issues": 2, "stars": 32, "last_commit": "Febuary 2022", "release": "v0.1"}, {"name": "FiNeR", "github": "szaghi/FiNeR", "description": "INI ParseR and generator", "categories": "io", "tags": "config", "license": "GPL-3.0", "forks": 4, "issues": 9, "stars": 34, "last_commit": "July 2022", "release": "v2.0.4"}, {"name": "config_fortran", "github": "jannisteunissen/config_fortran", "description": "Configuration file parser for Fortran", "categories": "io", "tags": null, "version": "none", "license": "GNU General Public License v3.0", "forks": 5, "issues": 1, "stars": 30, "last_commit": "January 2022"}, {"name": "parff", "gitlab": "everythingfunctional/parff", "description": "The foundations of a functional style parser combinator library", "categories": "io", "tags": "parser"}, {"name": "Serialbox", "github": "GridTools/serialbox", "description": "A serialization library and tools for C/C++, Python3 and Fortran", "categories": "io", "tags": "validation", "license": "BSD 2-Clause \"Simplified\" License", "forks": 27, "issues": 33, "stars": 19, "last_commit": "June 2022", "release": "v2.6.1"}, {"name": "toml-f", "github": "toml-f/toml-f", "description": "A TOML parser implementation for data serialization and deserialization in Fortran", "categories": "io", "tags": "toml", "license": "Apache License 2.0", "forks": 14, "issues": 23, "stars": 55, "last_commit": "August 2022", "release": "v0.3.0"}, {"name": "os", "github": "MarDiehl/stdlib_os", "description": "Selected routines from python's os module (meant for stdlib)", "categories": "io", "tags": "file C-interface directory access", "license": "MIT License", "forks": 2, "issues": 10, "stars": 10, "last_commit": "Febuary 2021"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "Fortran Equation Parser", "github": "FluidNumerics/feq-parse", "description": "An equation parser class for interpreting and evaluating equations provided as strings.", "categories": "strings io", "tags": "equation parser", "version": "none", "license": "Other", "forks": 2, "issues": 1, "stars": 18, "last_commit": "July 2022", "release": "v1.0.2"}], "scientific": [{"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "librsb", "url": "http://librsb.sourceforge.net/", "description": "A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format implementing the Sparse BLAS standard", "categories": "numerical interfaces scientific", "tags": "linear-algebra openmp", "license": "LGPL-3.0-or-later", "version": 1.3}, {"name": "FATODE", "github": "ComputationalScienceLaboratory/FATODE", "description": "A Fortran library for the integration of ordinary differential equations with direct and adjoint sensitivity analysis capabilities", "categories": "numerical scientific", "tags": "ode-solver", "license": "Other", "version": 1.2, "forks": 1, "issues": 0, "stars": 8, "last_commit": "October 2019"}, {"name": "SLICOT", "github": "SLICOT/SLICOT-Reference", "description": "A Fortran subroutines library for systems and control", "categories": "numerical scientific", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 7, "issues": 2, "stars": 19, "last_commit": "May 2022", "release": "v5.8"}, {"name": "2DECOMP&FFT", "url": "http://www.2decomp.org/", "description": "Library for 2D pencil decomposition and distributed Fast Fourier Transform", "categories": "numerical scientific", "tags": "fft parallel distributed-memory openmpi", "license": "BSD-3-Clause", "version": "1.5.847"}, {"name": "DFTB+", "github": "dftbplus/dftbplus", "description": "DFTB+ general package for performing fast atomistic simulations", "categories": "scientific", "license": "Other", "tags": "tight-binding quantum-mechanics density-functional-theory", "forks": 134, "issues": 94, "stars": 223, "last_commit": "July 2022", "release": "22.1"}, {"name": "Elk", "url": "https://elk.sourceforge.io/", "description": "An all-electron full-potential linearised augmented-plane wave (LAPW) code with many advanced features", "categories": "scientific", "license": "GPL-3.0", "tags": "density-functional-theory"}, {"name": "LATTE", "github": "lanl/LATTE", "description": "Open source density functional tight binding molecular dynamics", "categories": "scientific", "license": "Other", "tags": "tight-binding molecular-dynamics", "forks": 20, "issues": 21, "stars": 31, "last_commit": "April 2020", "release": "v1.2.2"}, {"name": "WRF", "github": "wrf-model/WRF", "description": "Weather Research and Forecasting model", "categories": "scientific", "license": "Other", "forks": 506, "issues": 131, "stars": 806, "last_commit": "April 2022", "release": "v4.4"}, {"name": "lesgo", "github": "lesgo-jhu/lesgo", "descriptipon": "The Large-Eddy Simulation framework from the Turbulence Research Group at Johns Hopkins University", "categories": "scientific", "version": "none", "license": "GNU General Public License v3.0", "forks": 57, "issues": 5, "stars": 92, "last_commit": "January 2021"}, {"name": "Tracmass", "github": "TRACMASS/tracmass", "description": "Lagrangian particle tracking code", "categories": "scientific", "license": "MIT License", "forks": 9, "issues": 0, "stars": 6, "last_commit": "May 2022"}, {"name": "fds", "github": "firemodels/fds", "description": "Large-eddy simulation code for low-speed flows, with an emphasis on smoke and heat transport from fires.", "categories": "scientific", "license": "Other", "forks": 449, "issues": 83, "stars": 425, "last_commit": "August 2022", "release": "FDS6.7.9"}, {"name": "Quantum ESPRESSO", "github": "QEF/q-e", "description": "Quantum ESPRESSO is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale", "categories": "scientific", "tags": "electronic-structure quantum-chemistry physics molecular-dynamics mpi", "license": "GNU General Public License v2.0", "forks": 250, "issues": 0, "stars": 477, "last_commit": "July 2022", "release": "qe-7.0"}, {"name": "BandUP", "github": "band-unfolding/bandup", "description": "Band Unfolding code for Plane-wave based calculations", "categories": "scientific", "license": "GNU General Public License v3.0", "forks": 43, "issues": 11, "stars": 76, "last_commit": "April 2021", "release": "v2.9.0"}, {"name": "fluidity", "github": "FluidityProject/fluidity", "description": "Computational fluid dynamics code with adaptive unstructured mesh capabilities", "categories": "scientific", "tags": "cfd computational-fluid-dynamics unstructured", "license": "Other", "forks": 102, "issues": 36, "stars": 303, "last_commit": "July 2022", "release": "4.1.19"}, {"name": "Nek5000", "github": "Nek5000/Nek5000", "description": "MPI parallel higher-order spectral element CFD solver", "categories": "scientific", "tags": "cfd computational-fluid-dynamics spectral element higher order mpi parallel les rans", "license": "Other", "forks": 199, "issues": 58, "stars": 278, "last_commit": "April 2022", "release": "v19.0"}, {"name": "cp2k", "github": "cp2k/cp2k", "description": "quantum chemistry and solid state physics software package that can perform atomistic simulations", "categories": "scientific", "tags": "quantum-chemistry physics molecular-dynamics metadynamics mpi cuda", "license": "GNU General Public License v2.0", "forks": 270, "issues": 95, "stars": 482, "last_commit": "July 2022", "release": "v2022.1"}, {"name": "Castro", "github": "AMReX-Astro/Castro", "description": "An adaptive mesh, astrophysical radiation hydrodynamics simulation code", "categories": "scientific", "tags": "adaptive mesh astrophysics radiation hydrodynamics", "license": "Other", "forks": 80, "issues": 101, "stars": 211, "last_commit": "August 2022", "release": "22.08"}, {"name": "QUIP", "github": "libAtoms/QUIP", "description": "The QUIP package is a collection of software tools to carry out molecular dynamics simulations.", "categories": "scientific", "tags": "electronic-structure quantum-chemistry physics molecular-dynamics mpi qm-mm", "license": "GPL-2", "forks": 98, "issues": 64, "stars": 239, "last_commit": "July 2022", "release": "py2"}, {"name": "ABINIT", "github": "abinit/abinit", "description": "ABINIT is a software suite to calculate the optical, mechanical, vibrational, and other observable properties of materials", "categories": "scientific", "tags": "electronic-structure quantum-chemistry physics molecular-dynamics mpi", "license": "GNU General Public License v3.0", "forks": 72, "issues": 14, "stars": 165, "last_commit": "November 2021", "release": "9.6.2"}, {"name": "NASTRAN 93", "github": "nasa/NASTRAN-93", "description": "NASTRAN is the NASA Structural Analysis System, a finite element analysis program (FEA)", "categories": "scientific", "tags": "finite element structural", "license": "NASA-1.3", "version": "none", "forks": 73, "issues": 0, "stars": 126, "last_commit": "December 2015"}, {"name": "NASTRAN 95", "github": "nasa/NASTRAN-95", "description": "NASA Structural Analysis System, a finite element analysis program (FEA) completed in the early 1970's", "categories": "scientific", "tags": "finite element structural eigne stability loads", "license": "NASA-1.3", "version": "none", "forks": 190, "issues": 14, "stars": 318, "last_commit": "December 2015"}, {"name": "NWChem", "github": "nwchemgit/nwchem", "description": "Open Source High-Performance Computational Chemistry", "categories": "scientific", "tags": "computational-chemistry parallel-computing electronic-structure molecular-simulations density-functional-theory hartree-fock quantum-chemistry", "license": "Other", "forks": 133, "issues": 46, "stars": 342, "last_commit": "July 2022", "release": "v7.0.2-release"}, {"name": "QUICK", "github": "merzlab/QUICK", "description": "A GPU-enabled ab initio quantum chemistry software package", "categories": "scientific", "tags": "computational-chemistry parallel-computing electronic-structure molecular-simulations density-functional-theory hartree-fock quantum-chemistry", "license": "Mozilla Public License 2.0", "forks": 31, "issues": 24, "stars": 58, "last_commit": "July 2022", "release": "QUICK-22.03"}, {"name": "OFF", "github": "szaghi/OFF", "description": "Finite volume fluid dynamics", "categories": "scientific", "tags": "godunov riemann euler runge kutta structured", "license": "GPL-3.0", "version": "none", "forks": 56, "issues": 7, "stars": 111, "last_commit": "May 2017"}, {"name": "freeCappuccino", "github": "nikola-m/freeCappuccino", "description": "A three-dimensional unstructured finite volume code for fluid flow simulations.", "categories": "scientific", "tags": "finite volume turbulent turbulence", "license": "GNU General Public License v3.0", "version": "none", "forks": 22, "issues": 3, "stars": 44, "last_commit": "March 2022"}, {"name": "CaNS", "github": "p-costa/CaNS", "description": "A code for fast, massively-parallel direct numerical simulations (DNS) of canonical flows", "categories": "scientific", "tags": "fluid-dynamics fluid-simulation computational-fluid-dynamics turbulence high-performance-computing hpc cfd", "license": "MIT License", "forks": 47, "issues": 0, "stars": 121, "last_commit": "July 2022", "release": "v1.3.1"}, {"name": "ICAR", "github": "NCAR/icar", "description": "The Intermediate Complexity Atmospheric Research model", "categories": "scientific", "version": "none", "license": "MIT License", "forks": 46, "issues": 6, "stars": 55, "last_commit": "October 2021", "release": "2.0"}, {"name": "aenet", "github": "atomisticnet/aenet", "description": "Atomic interaction potentials based on artificial neural networks", "categories": "scientific", "version": "none", "license": "Mozilla Public License 2.0", "forks": 41, "issues": 4, "stars": 84, "last_commit": "March 2022"}, {"name": "ADflow", "github": "mdolab/adflow", "description": "A finite volume RANS solver tailored for gradient-based aerodynamic design optimization", "categories": "scientific", "tags": "simulation computational-fluid-dynamics automatic-differentiation adjoint structured multiblock overset python hpc cfd mpi", "license": "Other", "forks": 84, "issues": 38, "stars": 128, "last_commit": "July 2022", "release": "v2.7.4"}, {"name": "Truchas", "gitlab": "truchas/truchas", "description": "3D Multiphysics Simulation of Metal Casting and Processing", "categories": "scientific", "tags": "fluid-dynamics metal-casting multiphysics hpc", "license": "BSD-3-Clause"}, {"name": "dftatom", "github": "certik/dftatom", "description": "Routines for Radial Integration of Dirac, Schr\u00f6dinger, and Poisson Equations", "categories": "scientific", "tags": "electronic-structure atomic", "license": "MIT License", "version": "1.0.4", "forks": 15, "issues": 9, "stars": 47, "last_commit": "September 2019"}, {"name": "MESA", "url": "http://mesa.sourceforge.net/", "description": "Modules for Experiments in Stellar Astrophysics", "categories": "scientific", "tags": "stellar astrophysics", "license": "GPL-2", "version": 15140}, {"name": "Wannier90", "github": "wannier-developers/wannier90", "description": "The Maximally-Localised Generalised Wannier Functions Code", "categories": "scientific", "tags": "electronic-structure", "version": "none", "license": "GNU General Public License v2.0", "forks": 113, "issues": 60, "stars": 169, "last_commit": "May 2022"}, {"name": "WHIZARD", "url": "https://whizard.hepforge.org/", "description": "Particle Physics Monte Carlo Event Generator", "categories": "scientific", "tags": "particle physics parallel mpi monte carlo optimization sampling integration", "license": "GPL-2.0-or-later", "version": "2.8.5"}, {"name": "HANDE", "github": "hande-qmc/hande", "description": "Open source stochastic quantum chemistry", "categories": "numerical scientific", "tags": "qmc electronic-structure", "version": "none", "license": "GNU Lesser General Public License v2.1", "forks": 16, "issues": 2, "stars": 60, "last_commit": "June 2022"}, {"name": "OpenMolcas", "gitlab": "Molcas/OpenMolcas", "description": "Quantum chemistry software package for multiconfigurational approaches to the electronic structure", "categories": "scientific", "tags": "electronic-structure casscf caspt2", "license": "LGPL-2.1"}, {"name": "Octopus", "gitlab": "octopus-code/octopus", "description": "Real-space Time-Dependent Density Functional Theory code", "categories": "scientific", "tags": "electronic-structure", "license": "GPL-2.0", "version": "none"}, {"name": "pencil-code", "github": "pencil-code/pencil-code", "description": "A high-order finite-difference code for compressible hydrodynamic flows with magnetic fields and particles", "categories": "scientific", "tags": "finite-difference hydrodynamics magnetic-field particles", "license": "GPL-2.0", "forks": 82, "issues": 4, "stars": 145, "last_commit": "August 2022", "release": "v2021.02.20"}, {"name": "MOM6", "github": "NOAA-GFDL/MOM6", "description": "Modular Ocean Model", "categories": "scientific", "license": "Other", "version": "none", "forks": 11, "issues": 8, "stars": 2, "last_commit": "July 2022"}, {"name": "FMS", "github": "NOAA-GFDL/FMS", "description": "Flexible Modeling System", "categories": "scientific", "license": "Other", "forks": 107, "issues": 55, "stars": 62, "last_commit": "July 2022", "release": "2022.03"}, {"name": "SNAP", "github": "lanl/SNAP", "description": "proxy application to model the performance of a modern discrete ordinates neutral particle transport application", "categories": "scientific", "license": "BSD-3-Clause", "version": "none", "forks": 29, "issues": 2, "stars": 42, "last_commit": "September 2021"}, {"name": "CTSM", "github": "ESCOMP/CTSM", "description": "The Community Terrestrial Systems Model", "categories": "scientific", "license": "Other", "forks": 237, "issues": 545, "stars": 189, "last_commit": "July 2022", "release": "release-clm5.0.35"}, {"name": "MPAS-Model", "github": "MPAS-Dev/MPAS-Model", "description": "collaborative project for developing atmosphere, ocean, and other earth-system simulation components for use in climate, regional climate, and weather studies", "categories": "scientific", "license": "BSD-3-Clause", "forks": 252, "issues": 100, "stars": 166, "last_commit": "March 2022", "release": "v7.3"}, {"name": "CFL3D", "github": "nasa/CFL3D", "description": "Structured-grid, cell-centered, upwind-biased, Reynolds-averaged Navier-Stokes (RANS) code", "categories": "scientific", "license": "Apache License 2.0", "version": "none", "forks": 161, "issues": 8, "stars": 223, "last_commit": "July 2022"}, {"name": "CompDam_DGD", "github": "nasa/CompDam_DGD", "description": "continuum damage mechanics (CDM) material model intended for use with the Abaqus finite element code", "categories": "scientific", "license": "Other", "forks": 53, "issues": 4, "stars": 68, "last_commit": "May 2022", "release": "v2.5.0"}, {"name": "OpenSWPC", "github": "tktmyd/OpenSWPC", "description": "A Seismic Wave Propagation Code by Parallel Finite Difference Method", "categories": "scientific", "license": "MIT License", "forks": 41, "issues": 2, "stars": 85, "last_commit": "August 2021", "release": "5.2.0"}, {"name": "flexi", "github": "flexi-framework/flexi", "description": "Open Source High-Order Unstructured Discontinuous Galerkin Fluid Dynamics Solver", "categories": "scientific", "version": "none", "license": "GNU General Public License v3.0", "forks": 51, "issues": 1, "stars": 111, "last_commit": "July 2022"}, {"name": "MITgcm", "github": "MITgcm/MITgcm", "description": "M.I.T General Circulation Model master code and documentation repository", "categories": "scientific", "keywords": "ocean-modelling gfd automatic-differentiation data-assimilation exoplanets climate-science", "license": "MIT License", "forks": 198, "issues": 127, "stars": 249, "last_commit": "July 2022", "release": "checkpoint68i"}, {"name": "Specfem3D", "github": "geodynamics/specfem3d", "description": "Simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured or not)", "categories": "scientific", "version": "none", "license": "GNU General Public License v3.0", "forks": 191, "issues": 86, "stars": 248, "last_commit": "July 2021"}, {"name": "DFT-D4", "github": "dftd4/dftd4", "description": "A Generally Applicable Atomic-Charge Dependent London Dispersion Correction", "categories": "scientific", "tags": "dft-d dispersion-correction", "license": "GNU Lesser General Public License v3.0", "forks": 34, "issues": 18, "stars": 99, "last_commit": "May 2022", "release": "v3.4.0"}, {"name": "libmbd", "github": "libmbd/libmbd", "description": "Many-body dispersion library", "categories": "scientific", "tags": "dispersion-correction", "license": "Mozilla Public License 2.0", "forks": 16, "issues": 6, "stars": 37, "last_commit": "May 2022", "release": "0.12.5"}, {"name": "xtb", "github": "grimme-lab/xtb", "description": "Semiempirical Extended Tight-Binding Program Package", "categories": "scientific", "tags": "quantum-chemistry computational-chemistry atomistic-simulations", "license": "GNU Lesser General Public License v3.0", "forks": 101, "issues": 86, "stars": 342, "last_commit": "July 2022", "release": "v6.5.1"}, {"name": "qcxms", "github": "qcxms/qcxms", "description": "Quantum mechanic mass spectrometry calculation program", "categories": "scientific", "tags": "computational-chemistry molecular-dynamics mass-spectrometry", "license": "GNU Lesser General Public License v3.0", "forks": 10, "issues": 3, "stars": 25, "last_commit": "July 2022", "release": "v.5.2.0"}, {"name": "crest", "github": "grimme-lab/crest", "description": "Conformer-rotamer ensemble search tool", "categories": "scientific", "tags": "computational-chemistry atomistic-simulations conformational-analysis metadynamics", "license": "GNU Lesser General Public License v3.0", "forks": 0, "issues": 0, "stars": 5, "last_commit": "June 2022"}, {"name": "eT", "gitlab": "eT-program/eT", "description": "electronic structure program with coupled cluster, multiscale and multilevel methods", "categories": "scientific", "tags": "electronic-structure coupled-cluster", "license": "GPL-3.0"}, {"name": "tinker", "github": "TinkerTools/tinker", "description": "Software Tools for Molecular Design", "categories": "scientific", "tags": "molecular-modeling", "license": "Other", "version": "none", "forks": 50, "issues": 4, "stars": 81, "last_commit": "July 2022"}, {"name": "siesta", "gitlab": "siesta-project/siesta", "description": "A first-principles materials simulation code using DFT", "categories": "scientific", "tags": "electronic-structure density-functional-theory molecular-dynamics mpi", "license": "GPL-3.0"}, {"name": "Dalton", "gitlab": "dalton/dalton", "description": "Powerful molecular electronic structure program", "categories": "scientific", "tags": "electronic-structure relativistic", "license": "LGPL-2.1"}, {"name": "LSDalton", "gitlab": "dalton/lsdalton", "description": "Linear scaling molecular electronic structure program", "categories": "scientific", "tags": "electronic-structure relativistic", "license": "LGPL-2.1"}, {"name": "BigDFT", "gitlab": "l_sim/bigdft-suite", "description": "fast, precise, and flexible DFT code for ab-initio atomistic simulation", "categories": "scientific", "tags": "electronic-structure wavelets density-functional-theory", "license": "custom"}, {"name": "DL_POLY_4", "gitlab": "ccp5/dl-poly", "description": "classical molecular dynamics code developed at Daresbury Laboratory since 1992", "categories": "scientific", "tags": "molecular-dynamics mpi", "version": 5.0, "license": "LGPL-3.0"}, {"name": "Gemini3D", "github": "gemini3d/gemini3d", "description": "3D ionospheric model covering local (> 10 gyroradii) to global scales.", "categories": "scientific", "license": "Apache License 2.0", "forks": 21, "issues": 17, "stars": 42, "last_commit": "July 2022", "release": "v1.6.1"}, {"name": "SNaC", "github": "p-costa/SNaC", "description": "A multi-block solver for massively parallel direct numerical simulations (DNS) of fluid flows", "categories": "scientific", "tags": "fluid-dynamics fluid-simulation computational-fluid-dynamics turbulence high-performance-computing hpc cfd", "version": "none", "license": "MIT License", "forks": 7, "issues": 11, "stars": 26, "last_commit": "July 2022", "release": "v0.2.0"}, {"name": "DAMASK", "github": "eisenforschung/DAMASK", "description": "A unified multi-physics crystal plasticity simulation package", "categories": "scientific", "tags": "plasticity simulation material multi-physics", "license": "Other", "forks": 22, "issues": 0, "stars": 50, "last_commit": "August 2022"}, {"name": "Cantera", "github": "Cantera/cantera", "description": "Chemical kinetics, thermodynamics, and transport tool suite", "categories": "scientific", "license": "Other", "forks": 282, "issues": 83, "stars": 420, "last_commit": "July 2022", "release": "v2.6.0"}, {"name": "SeisSol", "github": "SeisSol/SeisSol", "description": "A software for the numerical simulation of seismic wave phenomena and earthquake dynamics", "categories": "scientific", "tags": "hpc earthquakes dynamic-rupture", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 84, "issues": 53, "stars": 166, "last_commit": "July 2022", "release": "sc21revision"}], "examples": [{"name": "tcp-client-server", "github": "modern-fortran/tcp-client-server", "description": "A minimal Fortran TCP client and server demonstrating c interoperability", "categories": "interfaces examples", "tags": null, "version": "none", "license": "MIT License", "forks": 7, "issues": 2, "stars": 78, "last_commit": "June 2020"}, {"name": "Fortran 2018 examples", "github": "scivision/fortran2018-examples", "description": "Easy examples of scientific computing with modern, powerful, easy Fortran 2018 standard", "categories": "examples", "tags": "block coarray contiguous namelist openmp random submodule iso_fortran_env", "license": "MIT License", "forks": 55, "issues": 0, "stars": 319, "last_commit": "August 2022", "release": "v1.4.0"}, {"name": "Fortran patterns", "github": "farhanjk/FortranPatterns", "description": "Popular design patterns implemented in Fortran", "categories": "examples", "tags": null, "version": "none", "license": "MIT License", "forks": 20, "issues": 4, "stars": 64, "last_commit": "October 2015"}, {"name": "Numerical methods in fortran", "github": "planelles20/numerical-methods-fortran", "description": "Solving linear, nonlinear equations, ordinary differential equations", "categories": "examples numerical", "tags": "ode pde integral stochastic quadrature plotting", "version": "none", "license": "GNU General Public License v2.0", "forks": 15, "issues": 0, "stars": 71, "last_commit": "March 2021"}, {"name": "Tsunami", "github": "modern-fortran/tsunami", "description": "A parallel shallow water equations solver", "categories": "examples", "version": "none", "license": "MIT License", "forks": 29, "issues": 3, "stars": 109, "last_commit": "January 2022"}, {"name": "Blocktran", "github": "fortran-gaming/blocktran", "description": "Object-oriented Fortran falling block game using Curses console graphics", "categories": "examples", "tags": "game", "license": "Apache License 2.0", "forks": 1, "issues": 0, "stars": 18, "last_commit": "July 2022", "release": "v1.6.0"}], "interfaces": [{"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "forpy", "github": "ylikx/forpy", "description": "allows you to use Python features in Fortran", "categories": "interfaces", "tags": "dict list tuple numpy python matplotlib scipy", "license": "GNU Lesser General Public License v3.0", "version": "none", "forks": 36, "issues": 15, "stars": 163, "last_commit": "July 2020"}, {"name": "flook", "github": "ElectronicStructureLibrary/flook", "desciption": "Library for running an embedded Lua interpreter", "categories": "interfaces", "tags": "lua", "license": "Mozilla Public License 2.0", "forks": 4, "issues": 1, "stars": 8, "last_commit": "October 2021", "release": "v0.8.1"}, {"name": "LuaF", "url": "https://chiselapp.com/user/vadimz/repository/luaf/", "description": "Fortran 2003/2008 bindings to Lua 5.1", "categories": "interfaces", "tags": "lua", "license": "MIT", "version": "none"}, {"name": "aotus", "url": "https://osdn.net/projects/apes/scm/hg/aotus/", "description": "Fortran wrapper around the C-API of the Lua scripting language", "categories": "interfaces", "tags": "lua", "license": "MIT", "version": "none"}, {"name": "fortran-lua53", "github": "interkosmos/fortran-lua53", "description": "Fortran 2008 interface bindings to Lua 5.3", "categories": "interfaces", "tags": "lua", "license": "ISC License", "version": "none", "forks": 3, "issues": 0, "stars": 10, "last_commit": "July 2022"}, {"name": "tcp-client-server", "github": "modern-fortran/tcp-client-server", "description": "A minimal Fortran TCP client and server demonstrating c interoperability", "categories": "interfaces examples", "tags": null, "version": "none", "license": "MIT License", "forks": 7, "issues": 2, "stars": 78, "last_commit": "June 2020"}, {"name": "clfortran", "github": "cass-support/clfortran", "description": "Fortran interfaces to Khronos OpenCL 1.2 API", "categories": "interfaces", "tags": "gpu compute accelerator", "version": "none", "license": "GNU Lesser General Public License v3.0", "forks": 11, "issues": 1, "stars": 55, "last_commit": "May 2016"}, {"name": "M_process", "github": "urbanjost/M_process", "description": "Read and write lines to or from a process from Fortran via a C wrapper", "categories": "interfaces", "tags": null, "version": "none", "license": "The Unlicense", "forks": 0, "issues": 0, "stars": 9, "last_commit": "June 2022"}, {"name": "M_system", "github": "urbanjost/M_system", "description": "Call C system routines from Fortran", "categories": "interfaces", "tags": "posix putenv getenv setenv environment file system mkdir rename rmdir chmod rand uname", "version": "none", "license": "The Unlicense", "forks": 1, "issues": 1, "stars": 10, "last_commit": "May 2022"}, {"name": "Focal", "github": "LKedward/focal", "description": "A module library which wraps calls to the OpenCL runtime API with a higher abstraction level", "categories": "interfaces", "tags": "gpu compute accelerator", "license": "MIT License", "forks": 7, "issues": 4, "stars": 35, "last_commit": "July 2021", "release": "v1.0.1"}, {"name": "fortyxima", "url": "https://bitbucket.org/aradi/fortyxima/src/develop/", "description": "File system manipulation and unit testing framework", "categories": "interfaces programming", "tags": "posix libc", "license": "BSD-2-clause"}, {"name": "node-fortran", "github": "IonicaBizau/node-fortran", "description": "Fortran bridge for Node.js which allows you to run Fortran code from Node.js", "categories": "interfaces", "license": "MIT License", "forks": 10, "issues": 2, "stars": 89, "last_commit": "August 2020", "release": "1.0.1"}, {"name": "node.fortran", "github": "IonicaBizau/node.fortran", "description": "Execute Node.js in your Fortran programs", "categories": "interfaces", "license": "MIT License", "forks": 2, "issues": 0, "stars": 32, "last_commit": "August 2020", "release": "1.0.8"}, {"name": "sqliteff", "gitlab": "everythingfunctional/sqliteff", "description": "A thin wrapper around the SQLite library", "categories": "interfaces", "tags": "sql database"}, {"name": "fortran-curl", "github": "interkosmos/fortran-curl", "description": "Fortran 2008 interface bindings to libcurl", "categories": "interfaces", "tags": "https curl imap libcurl smtp gopher", "license": "ISC License", "forks": 5, "issues": 0, "stars": 24, "last_commit": "July 2022", "release": "0.3.0"}, {"name": "mpifx", "github": "dftbplus/mpifx", "description": "Modern Fortran wrappers around MPI routines", "categories": "interfaces", "tags": "mpi fypp", "license": "BSD 2-Clause \"Simplified\" License", "forks": 12, "issues": 5, "stars": 28, "last_commit": "May 2022", "release": "1.3.1"}, {"name": "scalapackfx", "github": "dftbplus/scalapackfx", "description": "Modern Fortran wrappers around ScaLAPACK routines", "categories": "interfaces", "tags": "mpi fypp pblas blacs", "license": "BSD 2-Clause \"Simplified\" License", "forks": 5, "issues": 3, "stars": 15, "last_commit": "May 2022", "release": "1.1"}, {"name": "ELSI", "gitlab": "elsi_project/elsi_interface", "description": "A software interface designed for electronic structure codes to connect with ELPA, libOMM, PEXSI, EigenExa, SLEPc, NTPoly, BSEPACK, LAPACK, MAGMA, and other solver libraries.", "categories": "interfaces", "tags": "electronic-structure mpi gpu", "license": "BSD-3-Clause"}, {"name": "FKB", "github": "scientific-computing/FKB", "description": "Fortran Keras Bridge - A two-way deep learning bridge between Keras and Fortran", "categories": "interfaces", "tags": "deep-learning data-science machine-learning neural-networks", "version": "none", "license": "MIT License", "forks": 28, "issues": 9, "stars": 130, "last_commit": "April 2021"}, {"name": "flibcpp", "github": "swig-fortran/flibcpp", "description": "Fortran bindings to the C++ Standard Library", "categories": "interfaces", "tags": "cpp", "license": "MIT License", "forks": 1, "issues": 0, "stars": 31, "last_commit": "June 2022", "release": "v1.0.2"}, {"name": "arrayfire-fortran", "github": "arrayfire/arrayfire-fortran", "description": "Fortran binding to the ArrayFire general purpose GPU library", "categories": "interfaces", "tags": "cpp gpu opencl", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 5, "issues": 4, "stars": 23, "last_commit": "August 2016"}, {"name": "librsb", "url": "http://librsb.sourceforge.net/", "description": "A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format implementing the Sparse BLAS standard", "categories": "numerical interfaces scientific", "tags": "linear-algebra openmp", "license": "LGPL-3.0-or-later", "version": 1.3}, {"name": "f03gl", "url": "http://www-stone.ch.cam.ac.uk/pub/f03gl/index.xhtml", "description": "Fortran 2003 interface to OpenGL", "categories": "graphics interfaces", "tags": "graphics interface opengl", "license": "GPL-3.0"}, {"name": "PLplot", "url": "http://plplot.sourceforge.net/", "description": "Library for scientific plotting", "categories": "graphics interfaces", "tags": "plot surface contour interface", "license": "LGPL-3.0", "version": "5.15.0"}, {"name": "pyplot-fortran", "github": "jacobwilliams/pyplot-fortran", "description": "For generating plots from Fortran using Python's matplotlib.pyplot", "categories": "graphics interfaces", "tags": "pyplot matplotlib contour histogram", "license": "Other", "forks": 42, "issues": 4, "stars": 137, "last_commit": "June 2022", "release": "3.2.0"}, {"name": "ogpf", "github": "kookma/ogpf", "description": "Object based interface to GnuPlot for Fortran", "categories": "graphics interfaces", "tags": "animation plot surface contour", "license": "Other", "forks": 39, "issues": 2, "stars": 127, "last_commit": "May 2022", "release": "0.4.0"}, {"name": "gtk-fortran", "github": "vmagnin/gtk-fortran", "description": "A cross-platform library to build Graphical User Interfaces (GUI)", "categories": "graphics interfaces", "tags": "gui gtk graphical user interface", "license": "GNU General Public License v3.0", "forks": 46, "issues": 15, "stars": 202, "last_commit": "July 2022", "release": "v4.2.1"}, {"name": "fortran-xlib", "github": "interkosmos/fortran-xlib", "description": "A collection of ISO C binding interfaces to Xlib for Fortran 2003", "categories": "graphics interfaces", "tags": "x11 mandelbrot raycast wireframe", "version": "none", "license": "ISC License", "forks": 0, "issues": 0, "stars": 8, "last_commit": "October 2021"}, {"name": "fortran-sdl2", "github": "interkosmos/fortran-sdl2", "description": "A collection of ISO C binding interfaces to Simple DirectMedia Layer 2.0 (SDL 2.0), for multimedia and game programming in Fortran", "categories": "graphics interfaces", "tags": null, "version": "none", "license": "ISC License", "forks": 4, "issues": 0, "stars": 26, "last_commit": "January 2022"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "fgsl", "github": "reinh-bader/fgsl", "description": "Fortran interface to the GNU Scientific Library", "categories": "numerical interfaces", "tags": null, "license": "GNU General Public License v2.0", "forks": 18, "issues": 3, "stars": 76, "last_commit": "July 2021", "release": "1.5.0"}, {"name": "OpenFFT", "url": "http://www.openmx-square.org/openfft/", "description": "Open source parallel package for computing multi-dimensional Fast Fourier Transforms (3-D and 4-D FFTs)", "categories": "numerical interfaces", "tags": "fft openmpi domain-decomposition-method", "license": "GPL-3.0-or-later", "version": 1.2}], "graphics": [{"name": "f03gl", "url": "http://www-stone.ch.cam.ac.uk/pub/f03gl/index.xhtml", "description": "Fortran 2003 interface to OpenGL", "categories": "graphics interfaces", "tags": "graphics interface opengl", "license": "GPL-3.0"}, {"name": "PLplot", "url": "http://plplot.sourceforge.net/", "description": "Library for scientific plotting", "categories": "graphics interfaces", "tags": "plot surface contour interface", "license": "LGPL-3.0", "version": "5.15.0"}, {"name": "pyplot-fortran", "github": "jacobwilliams/pyplot-fortran", "description": "For generating plots from Fortran using Python's matplotlib.pyplot", "categories": "graphics interfaces", "tags": "pyplot matplotlib contour histogram", "license": "Other", "forks": 42, "issues": 4, "stars": 137, "last_commit": "June 2022", "release": "3.2.0"}, {"name": "ogpf", "github": "kookma/ogpf", "description": "Object based interface to GnuPlot for Fortran", "categories": "graphics interfaces", "tags": "animation plot surface contour", "license": "Other", "forks": 39, "issues": 2, "stars": 127, "last_commit": "May 2022", "release": "0.4.0"}, {"name": "gtk-fortran", "github": "vmagnin/gtk-fortran", "description": "A cross-platform library to build Graphical User Interfaces (GUI)", "categories": "graphics interfaces", "tags": "gui gtk graphical user interface", "license": "GNU General Public License v3.0", "forks": 46, "issues": 15, "stars": 202, "last_commit": "July 2022", "release": "v4.2.1"}, {"name": "M_draw", "github": "urbanjost/M_draw", "description": "Low-level vector graphics library", "categories": "graphics", "tags": null, "version": "none", "license": "The Unlicense", "forks": 1, "issues": 1, "stars": 3, "last_commit": "June 2022"}, {"name": "fortran-xlib", "github": "interkosmos/fortran-xlib", "description": "A collection of ISO C binding interfaces to Xlib for Fortran 2003", "categories": "graphics interfaces", "tags": "x11 mandelbrot raycast wireframe", "version": "none", "license": "ISC License", "forks": 0, "issues": 0, "stars": 8, "last_commit": "October 2021"}, {"name": "fortran-sdl2", "github": "interkosmos/fortran-sdl2", "description": "A collection of ISO C binding interfaces to Simple DirectMedia Layer 2.0 (SDL 2.0), for multimedia and game programming in Fortran", "categories": "graphics interfaces", "tags": null, "version": "none", "license": "ISC License", "forks": 4, "issues": 0, "stars": 26, "last_commit": "January 2022"}, {"name": "Illustrate", "github": "ccsb-scripps/illustrate", "description": "Biomolecular Illustration Tool", "categories": "graphics", "tags": "pdb", "version": "none", "license": "Apache License 2.0", "forks": 15, "issues": 2, "stars": 89, "last_commit": "September 2020"}], "programming": [{"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "fortyxima", "url": "https://bitbucket.org/aradi/fortyxima/src/develop/", "description": "File system manipulation and unit testing framework", "categories": "interfaces programming", "tags": "posix libc", "license": "BSD-2-clause"}, {"name": "hipfort", "github": "ROCmSoftwarePlatform/hipfort", "description": "Fortran interfaces for ROCm libraries", "categories": "programming", "tags": "hip rocm", "license": "Other", "forks": 19, "issues": 14, "stars": 33, "last_commit": "April 2022", "release": "rocm-5.2.1"}, {"name": "fpm", "github": "fortran-lang/fpm", "description": "Fortran Package Manager", "categories": "programming", "tags": "build-system package-manager", "version": "none", "license": "MIT License", "forks": 53, "issues": 144, "stars": 554, "last_commit": "July 2022", "release": "v0.6.0"}, {"name": "FORD", "github": "Fortran-FOSS-Programmers/ford", "description": "Automatic documentation generator for modern Fortran programs", "categories": "programming preview", "tags": "documentation", "license": "GNU General Public License v3.0", "forks": 112, "issues": 65, "stars": 315, "last_commit": "July 2022", "release": "v6.1.15"}, {"name": "fparser", "github": "stfc/fparser", "description": "Fortran parser written purely in Python which supports Fortran 2003 and some Fortran 2008", "categories": "programming", "tags": "parser", "license": "Other", "forks": 17, "issues": 78, "stars": 40, "last_commit": "July 2022", "release": "0.0.16"}, {"name": "fypp", "github": "aradi/fypp", "description": "Python powered Fortran preprocessor", "categories": "programming", "license": "BSD 2-Clause \"Simplified\" License", "tags": "metaprogramming", "forks": 19, "issues": 2, "stars": 135, "last_commit": "November 2021", "release": "3.1"}, {"name": "vegetables", "gitlab": "everythingfunctional/vegetables", "description": "A Fortran testing framework written using functional programming principles.", "categories": "programming", "tags": "testing assert"}, {"name": "pFUnit", "github": "Goddard-Fortran-Ecosystem/pFUnit", "description": "Parallel Fortran Unit Testing Framework", "categories": "programming", "tags": "unit testing", "license": "Other", "forks": 32, "issues": 56, "stars": 143, "last_commit": "June 2022", "release": "v4.4.1"}, {"name": "erloff", "gitlab": "everythingfunctional/erloff", "description": "Errors and logging for fortran", "categories": "programming", "tags": "errors logging"}, {"name": "fytest", "url": "https://bitbucket.org/aradi/fytest/src/develop/", "description": "a lightweight unit testing framework for Fortran", "categories": "programming", "tags": "unit testing", "license": "BSD-2-clause"}, {"name": "FortranCallGraph", "github": "fortesg/fortrancallgraph", "description": "Static source code analysis tool for Fortran", "categories": "programming", "tags": null, "license": "GNU General Public License v3.0", "forks": 0, "issues": 9, "stars": 23, "last_commit": "September 2020", "release": "v1.8.4"}, {"name": "Tapenade", "url": "https://gitlab.inria.fr/tapenade/tapenade", "description": "A tool for automatic differentiation (forward/reverse) of Fortran and c programs", "categories": "programming numerical", "tags": "algorithmic derivative ad", "license": "MIT", "version": "3.16-v2"}, {"name": "camfort", "github": "camfort/camfort", "description": "Light-weight verification and transformation tools for Fortran", "categories": "programming", "tags": "refactoring", "license": "Other", "forks": 13, "issues": 28, "stars": 110, "last_commit": "January 2022", "release": "v1.1.2"}, {"name": "findent", "url": "https://sourceforge.net/projects/findent/", "description": "Indents/beautifies/converts Fortran sources", "categories": "programming", "tags": "formatter converter", "license": "BSD-3-Clause", "version": "3.1.7"}, {"name": "fprettify", "github": "pseewald/fprettify", "description": "auto-formatter for modern fortran source code", "categories": "programming", "tags": "formatter", "license": "Other", "forks": 51, "issues": 36, "stars": 263, "last_commit": "January 2021", "release": "v0.3.7"}, {"name": "shroud", "github": "LLNL/shroud", "description": "generate Fortran and Python wrappers for C and C++ libraries", "categories": "programming", "tags": "interface-generator c++", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 6, "issues": 8, "stars": 75, "last_commit": "June 2022", "release": "v0.12.2"}, {"name": "SWIG-Fortran", "github": "swig-fortran/swig", "description": "SWIG for C++ to Fortran interface generation", "categories": "programming", "tags": "interface-generator c++", "license": "Other", "forks": 10, "issues": 12, "stars": 37, "last_commit": "June 2022", "release": "v4.0.2+fortran"}, {"name": "f90wrap", "github": "jameskermode/f90wrap", "description": "F90 to Python interface generator with derived type support", "categories": "programming", "tags": "interface-generator python", "license": "GNU Lesser General Public License v3.0", "version": "none", "forks": 78, "issues": 53, "stars": 194, "last_commit": "July 2022"}, {"name": "convert_FORTRAN_case", "github": "dav05/convert_FORTRAN_case", "description": "Case conversion of files written in fixed form Fortran", "categories": "programming", "tags": "formatter converter", "version": "none", "license": "GNU General Public License v3.0", "forks": 0, "issues": 0, "stars": 6, "last_commit": "July 2021"}, {"name": "fortran-error-handler", "github": "samharrison7/fortran-error-handler", "description": "Comprehensive error handling framework for Modern Fortran", "categories": "programming", "tags": "errors logging fpm", "license": "MIT License", "forks": 2, "issues": 0, "stars": 18, "last_commit": "Febuary 2022", "release": "1.0.4"}, {"name": "gFTL", "github": "Goddard-Fortran-Ecosystem/gFTL", "description": "Templates for STL-like Fortran implementations of containers for arbitrary types (Vector, Set, Map, Deque, Stack, Queue, ...)", "categories": "programming", "tags": "container template", "license": "Apache License 2.0", "forks": 8, "issues": 10, "stars": 29, "last_commit": "June 2022", "release": "v1.8.1"}, {"name": "gFTL-shared", "github": "Goddard-Fortran-Ecosystem/gFTL-shared", "description": "Instantiations of gFTL templates of common containers for intrinsic types", "categories": "programming", "tags": "container template", "license": "Apache License 2.0", "forks": 8, "issues": 7, "stars": 4, "last_commit": "May 2022", "release": "v1.5.0"}], "strings": [{"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "StringiFor", "github": "szaghi/StringiFor", "description": "Fortran strings manipulator", "categories": "strings", "tags": "split join basename search concat", "license": "GPL-3.0", "forks": 17, "issues": 5, "stars": 79, "last_commit": "July 2022", "release": "v1.1.4"}, {"name": "M_strings", "github": "urbanjost/M_strings", "description": "Fortran string manipulations", "categories": "strings", "tags": "upper lower quoted join replace white space string conversion tokens split", "version": "none", "license": "The Unlicense", "forks": 2, "issues": 1, "stars": 15, "last_commit": "May 2022", "release": "V2.0.0"}, {"name": "strff", "gitlab": "everythingfunctional/strff", "description": "Strings for Fortran - A library of string functions for Fortran.", "categories": "strings"}, {"name": "iso_varying_string", "gitlab": "everythingfunctional/iso_varying_string", "description": "Implementation of the Fortran ISO_VARYING_STRING module in accordance with the standard", "categories": "strings", "tags": "varying length character strings"}, {"name": "Fortran Equation Parser", "github": "FluidNumerics/feq-parse", "description": "An equation parser class for interpreting and evaluating equations provided as strings.", "categories": "strings io", "tags": "equation parser", "version": "none", "license": "Other", "forks": 2, "issues": 1, "stars": 18, "last_commit": "July 2022", "release": "v1.0.2"}], "data_types": [{"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "Fortran template library", "github": "SCM-NV/ftl", "description": "Generic containers, versatile algorithms, easy string manipulation, and more", "categories": "data-types", "tags": "resizeable array container linked list hash map regex string shared pointer", "version": "none", "license": "GNU General Public License v3.0", "forks": 15, "issues": 7, "stars": 89, "last_commit": "Febuary 2022"}, {"name": "PENF", "github": "szaghi/PENF", "description": "Provides portable kind-parameters and many useful procedures to deal with them", "categories": "data-types numerical", "tags": "kinds integer real ieee floating point floats precision", "license": "GPL-3.0", "forks": 21, "issues": 2, "stars": 36, "last_commit": "July 2022", "release": "v1.2.3"}, {"name": "M_time", "github": "urbanjost/M_time", "description": "Procedures that expand on the Fortran DATE_AND_TIME intrinsic", "categories": "data-types", "tags": "date weekday unix epoch month convert moon phases duration", "version": "none", "license": "The Unlicense", "forks": 0, "issues": 0, "stars": 2, "last_commit": "May 2022", "release": "v2.0.0"}, {"name": "fdict", "github": "zerothi/fdict", "description": "Variable and type-free dictionary", "categories": "data-types", "tags": "hash table", "license": "Mozilla Public License 2.0", "forks": 13, "issues": 3, "stars": 61, "last_commit": "October 2021", "release": "v0.8.0"}, {"name": "kdtree2", "github": "jmhodges/kdtree2", "description": "A kd-tree implementation in fortran", "categories": "data-types", "version": "none", "license": "Other", "forks": 35, "issues": 0, "stars": 48, "last_commit": "January 2018"}, {"name": "datetime-fortran", "github": "wavebitscientific/datetime-fortran", "description": "Date and time manipulation", "categories": "data-types", "tags": "day year month calendar weekday clock", "license": "MIT License", "version": "none", "forks": 40, "issues": 7, "stars": 115, "last_commit": "May 2021", "release": "v1.7.0"}, {"name": "qContainers", "github": "darmar-lt/qcontainers", "description": "Store any intrinsic or derived data type to a container", "categories": "data-types", "tags": "qlibc tree table hash table linked list vector dynamic array unique set", "license": "Other", "version": "none", "forks": 4, "issues": 0, "stars": 27, "last_commit": "September 2018"}, {"name": "Lookup Table Fortran", "github": "jannisteunissen/lookup_table_fortran", "description": "Linear lookup table implemented in modern Fortran", "categories": "data-types", "tags": null, "version": "none", "license": "GNU General Public License v3.0", "forks": 5, "issues": 0, "stars": 19, "last_commit": "May 2022"}, {"name": "FyCollections", "url": "https://bitbucket.org/aradi/fycollections/src/develop/", "description": "generic collection templates for Fortran", "categories": "data-types", "tags": null, "license": "BSD-2-Clause"}, {"name": "PSBLAS", "github": "sfilippone/psblas3", "description": "Parallel Sparse BLAS", "categories": "numerical data-types", "tags": "linear-algebra mpi", "license": "Other", "forks": 11, "issues": 7, "stars": 41, "last_commit": "August 2022", "release": "v3.8.0-1"}], "libraries": [{"name": "functional-fortran", "github": "wavebitscientific/functional-fortran", "description": "Functional programming for modern Fortran", "categories": "libraries", "tags": "functional filter fold map", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 31, "issues": 3, "stars": 348, "last_commit": "June 2022", "release": "0.6.1"}, {"name": "fortran-utils", "github": "certik/fortran-utils", "description": "Various utilities for Fortran programs", "categories": "libraries io", "tags": "constants types sorting mesh spline ppm hdf5 lapack", "version": "none", "license": "MIT License", "forks": 64, "issues": 4, "stars": 181, "last_commit": "October 2019"}, {"name": "Open Coarrays", "github": "sourceryinstitute/OpenCoarrays", "description": "A parallel application binary interface for Fortran 2018 compilers.", "categories": "libraries", "tags": "mpi openshmem gfortran", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 54, "issues": 37, "stars": 188, "last_commit": "July 2022", "release": "2.10.0"}, {"name": "FLAP", "github": "szaghi/FLAP", "description": "Fortran command Line Arguments Parser", "categories": "libraries", "tags": "command line cli argument parser", "license": "GPL-3.0", "forks": 33, "issues": 16, "stars": 126, "last_commit": "July 2022", "release": "v1.2.5"}, {"name": "Fortran Standard Library (stdlib)", "github": "fortran-lang/stdlib", "description": "A community driven and agreed upon de facto standard library for Fortran", "categories": "libraries", "version": "none", "license": "MIT License", "forks": 110, "issues": 215, "stars": 678, "last_commit": "August 2022", "release": "v0.2.1"}, {"name": "coretran", "github": "leonfoks/coretran", "description": "Core fortran routines and object-oriented classes for sorting, kD-Trees, and other algorithms to handle scientific data and concepts", "categories": "libraries strings data-types programming", "tags": "dynamic array formatting debugging errors kdtree sorting random binary search strings unit testing timing", "license": "BSD 3-Clause \"New\" or \"Revised\" License", "forks": 10, "issues": 11, "stars": 74, "last_commit": "Febuary 2021", "release": "1.0.1"}, {"name": "M_CLI", "github": "urbanjost/M_CLI", "description": "Unix-like command line argument parsing", "categories": "libraries", "tags": "namelist args", "version": "none", "license": "The Unlicense", "forks": 1, "issues": 0, "stars": 9, "last_commit": "January 2022"}, {"name": "M_history", "github": "urbanjost/M_history", "description": "Subroutine to give a line-mode command history to interactive programs", "categories": "libraries", "tags": "redo", "version": "none", "license": "MIT License", "forks": 0, "issues": 0, "stars": 4, "last_commit": "May 2022"}, {"name": "Futility", "github": "CASL/Futility", "description": "Fortran utilities including unit test harness, arbitrary length strings, parameter list objects, timers, geometry definitions, file wrappers, linear algebra tools, and parallel computing support", "categories": "libraries interfaces programming strings io numerical scientific", "version": "none", "license": "Other", "forks": 19, "issues": 0, "stars": 35, "last_commit": "May 2022"}, {"name": "Fortran Astrodynamics Toolkit", "github": "jacobwilliams/Fortran-Astrodynamics-Toolkit", "description": "A Modern Fortran Library for Astrodynamics", "categories": "libraries", "license": "Other", "forks": 38, "issues": 2, "stars": 120, "last_commit": "July 2022", "release": "0.3"}, {"name": "The NJOY Nuclear Data Processing System", "github": "njoy/NJOY2016", "description": "Package for producing pointwise and multigroup nuclear cross sections and related quantities from evaluated nuclear data in the ENDF format", "categories": "libraries", "license": "Other", "forks": 65, "issues": 69, "stars": 70, "last_commit": "May 2022", "release": "2016.67"}, {"name": "fortranlib", "github": "astrofrog/fortranlib", "description": "Collection of personal scientific routines in Fortran", "categories": "libraries numerical io interfaces", "tags": "solver integral integrate interpolation histogram constants hdf5 error random posix angles probability stokes vectors", "version": "none", "license": "BSD 2-Clause \"Simplified\" License", "forks": 78, "issues": 3, "stars": 267, "last_commit": "January 2019"}, {"name": "yaFyaml", "github": "Goddard-Fortran-Ecosystem/yaFyaml", "description": "Yet another Fortran YAML library", "categories": "libraries", "tags": "configuration yaml", "license": "Apache License 2.0", "forks": 7, "issues": 7, "stars": 9, "last_commit": "June 2022", "release": "v1.0.4"}], "tags": ["mpi", "electronic-structure", "molecular-dynamics", "quantum-chemistry", "linear-algebra", "openmp", "hpc", "ode", "density-functional-theory", "python", "gpu", "interpolation", "parallel", "runge", "kutta", "physics", "cfd", "computational-fluid-dynamics", "computational-chemistry", "parser", "testing", "lua", "integral", "integration", "finite", "fft", "spline", "hdf5", "array", "errors", "random", "unit", "list", "posix", "cpp", "formatter", "interface-generator", "container", "hash", "table", "split", "json", "interface", "contour", "pde", "coarray", "acm-toms", "element", "turbulence", "fluid-dynamics"]} \ No newline at end of file diff --git a/fortran_package.py b/fortran_package.py new file mode 100644 index 000000000..370f68f98 --- /dev/null +++ b/fortran_package.py @@ -0,0 +1,177 @@ +import sys +import yaml +from pathlib import Path +from collections import Counter +import json +import requests +from requests.structures import CaseInsensitiveDict +from datetime import datetime +import pytz +from collections import OrderedDict + +months = ["Unknown", "January","Febuary","March", "April","May","June","July","August","September","October","November","December"] +#print("learn section") +f = open('_data/package_index.yml') +fortran_index = yaml.safe_load(f) +f = open('_data/learning.yml') +conf = yaml.safe_load(f) +#print(conf) +headers = CaseInsensitiveDict() +headers["Authorization"] = str(sys.argv[1]) +" " +str(sys.argv[2]) + +fortran_index_tags = [] +fortran_index_tags_50 = [] +fortran_index_categories = [] +fortran_index_libraries = [] +fortran_index_data_types = [] +fortran_index_strings = [] +fortran_index_programming = [] +fortran_index_graphics = [] +fortran_index_interfaces = [] +fortran_index_examples = [] +fortran_index_scientific = [] +fortran_index_io = [] +fortran_index_numerical = [] + +for i in fortran_index: + try: + for j in str(i['tags']).split(): + fortran_index_tags.append(j) + except KeyError: + print("") + if "libraries" in i['categories'].split(): + fortran_index_libraries.append(i) + if "data-types" in i['categories'].split(): + fortran_index_data_types.append(i) + if "strings" in i['categories'].split(): + fortran_index_strings.append(i) + if "programming" in i['categories'].split(): + fortran_index_programming.append(i) + if "graphics" in i['categories'].split(): + fortran_index_graphics.append(i) + if "interfaces" in i['categories'].split(): + fortran_index_interfaces.append(i) + if "examples" in i['categories'].split(): + fortran_index_examples.append(i) + if "scientific" in i['categories'].split(): + fortran_index_scientific.append(i) + if "io" in i['categories'].split(): + fortran_index_io.append(i) + if "numerical" in i['categories'].split(): + fortran_index_numerical.append(i) + +fortran_tags = { + "fortran_tags": "tags" +} +fortran_index_tags = Counter(fortran_index_tags) +a = sorted(fortran_index_tags.items(), key=lambda x: x[1],reverse=True) +for i in a: + if i[0]=="None": + a.remove(i) + +#print(fortran_index_libraries) +for k in range(50): + fortran_index_tags_50.append(a[k][0]) + +for i in fortran_index: + for j in i['categories'].split(): + fortran_index_categories.append(j) + +fortran_index_categories = list(set(fortran_index_categories)) + +def github_info(list): + for i in list: + try: + info = requests.get('https://api.github.com/repos/'+i['github'], headers=headers).text + d = json.loads(info) + if type(d['forks_count']) is type(None): + d['forks_count'] = 0 + if type(d['open_issues_count']) is type(None): + d['open_issues_count'] = 0 + if type(d['stargazers_count']) is type(None): + d['stargazers_count'] = 0 + try: + if str(d['license']['name']) =='null': + print('hello') + d['license']['name'] = 'null' + i['license'] = d['license']['name'] + except TypeError: + print("") + d['license'] = 'null' + #print(d['forks_count'],d['open_issues_count'],d['stargazers_count']) + i['forks'] = d['forks_count'] + i['issues'] = d['open_issues_count'] + i['stars'] = d['stargazers_count'] + info = requests.get('https://api.github.com/repos/'+i['github']+'/commits/'+d['default_branch'], headers=headers).text + d = json.loads(info) + monthinteger = int(d['commit']['author']['date'][5:7]) + month = months[monthinteger] + i['last_commit'] = month+" "+d['commit']['author']['date'][:4] + info = requests.get('https://api.github.com/repos/'+i['github']+'/releases/latest', headers=headers).text + d = json.loads(info) + #print(d) + try: + i['release'] = d['tag_name'] + except KeyError: + print("") + except KeyError: + print("") + +github_info(fortran_index_data_types) +github_info(fortran_index_numerical) +github_info(fortran_index_io) +github_info(fortran_index_scientific) +github_info(fortran_index_examples) +github_info(fortran_index_interfaces) +github_info(fortran_index_graphics) +github_info(fortran_index_programming) +github_info(fortran_index_strings) +github_info(fortran_index_libraries) +print(fortran_index_data_types) +fortran_tags['numerical'] = fortran_index_numerical +fortran_tags['io'] = fortran_index_io +fortran_tags['scientific'] = fortran_index_scientific +fortran_tags['examples'] = fortran_index_examples +fortran_tags['interfaces'] = fortran_index_interfaces +fortran_tags['graphics'] = fortran_index_graphics +fortran_tags['programming'] = fortran_index_programming +fortran_tags['strings'] = fortran_index_strings +fortran_tags['data_types'] = fortran_index_data_types +fortran_tags['libraries'] = fortran_index_libraries +fortran_tags['tags'] = fortran_index_tags_50 +conf['reference_books'] = conf['reference-books'] +conf['reference_courses'] = conf['reference-courses'] +conf['reference_links'] = conf['reference-links'] + +with open("_data/fortran_package.json", "w") as f: + json.dump(fortran_tags, f) +with open("_data/fortran_learn.json", "w") as f: + json.dump(conf, f) + +fortran_monthly =[] +fortran_commits =[] +fpm_monthly =[] +fpm_commits =[] +stdlib_monthly =[] +stdlib_commits =[] + +contributor =[] +contributor_repo={ + "repo":'fortran-lang', +} +def contributors(repo): + info = requests.get('https://api.github.com/repos/'+repo+'/contributors', headers=headers).text + d = json.loads(info) + for i in d: + contributor.append(i['login']) + +graphs =["fortran-lang/fortran-lang.org","fortran-lang/fpm","fortran-lang/stdlib","j3-fortran/fortran_proposals"] +for i in graphs: + contributors(i) + +contributor = list(set(contributor)) +contributor.sort() +contributor_repo['contributor'] = contributor + +with open("_data/contributor.json", "w") as f: + json.dump(contributor_repo, f) diff --git a/locale/de/LC_MESSAGES/community.po b/locale/de/LC_MESSAGES/community.po new file mode 100644 index 000000000..2168602ec --- /dev/null +++ b/locale/de/LC_MESSAGES/community.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/community.rst:17 +msgid "Community - The Fortran Programming Language" +msgstr "" + +#: ../../source/community.rst:21 +msgid "Fortran-lang Community" +msgstr "" + +#: ../../source/community.rst:25 +msgid "Collaboration for the advancement of Fortran" +msgstr "" + +#: ../../source/community.rst:30 +msgid "Fortran-lang Community Projects" +msgstr "" + +#: ../../source/community.rst:40 +msgid "Fortran Standard Library (stdlib)" +msgstr "" + +#: ../../source/community.rst:42 +msgid "" +"A community-driven project for a de facto 'standard' library for Fortran." +" The stdlib project is both a specification and a reference " +"implementation, developed in cooperation with the Fortran Standards " +"Committee." +msgstr "" + +#: ../../source/community.rst:44 +msgid "" +"`GitHub `_ `Documentation " +"`_ `Contributing `_" +msgstr "" + +#: ../../source/community.rst:48 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/community.rst:50 +msgid "" +"A prototype project to develop a common build system for Fortran packages" +" and their dependencies." +msgstr "" + +#: ../../source/community.rst:52 +msgid "" +"`GitHub `_ `Documentation " +"`_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:56 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/community.rst:58 +msgid "This website is open source and contributions are welcome!." +msgstr "" + +#: ../../source/community.rst:60 +msgid "" +"`GitHub `_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:82 +msgid "Get Involved" +msgstr "" + +#: ../../source/community.rst:97 +msgid "Join the Discussion" +msgstr "" + +#: ../../source/community.rst:98 +msgid "" +"The easiest way to join the community and contribute is by commenting on " +"issues and pull requests in the project repositories." +msgstr "" + +#: ../../source/community.rst:102 +msgid "" +"Whether Fortran beginner or seasoned veteran, your feedback and comments " +"are most welcome in guiding the future of Fortran-lang." +msgstr "" + +#: ../../source/community.rst:110 +msgid "Contributor Guide" +msgstr "" + +#: ../../source/community.rst:112 +msgid "" +"Want to contribute code and content? Check out the contributor guides in " +"each repository for information on the project workflow and recommended " +"practices. Contributor guide for stdlib" +msgstr "" + +#: ../../source/community.rst:117 +msgid "" +"`Contributor guide for stdlib `_ |br| `Contributor guide for fpm " +"`_ |br| " +"`Contributor guide for fortran-lang.org `_" +msgstr "" + +#: ../../source/community.rst:132 +msgid "Build and Test" +msgstr "" + +#: ../../source/community.rst:134 +msgid "" +"Get more involved with each project by cloning, building and testing it " +"on your own machine(s) and with your own codes; if something doesn't " +"work, create an issue to let us know! We value user feedback highly, be " +"it a bug report, feature request, or suggestion for documentation." +msgstr "" + +#: ../../source/community.rst:145 +msgid "Community Conduct" +msgstr "" + +#: ../../source/community.rst:147 +msgid "" +"As a community, we strive to make participation in our discussions and " +"projects a friendly and harassment-free experience for everyone. See the " +"full `Code of Conduct `_" +msgstr "" + +#: ../../source/community.rst:156 +msgid "Fortran-lang Contributors" +msgstr "" + +#: ../../source/community.rst:158 +msgid "" +"We are grateful for every contribution made by all members of the " +"community." +msgstr "" + +#: ../../source/community.rst:167 +msgid "source: https://git-contributor.com/" +msgstr "" + +#: ../../source/community.rst:171 +msgid "Contributors:" +msgstr "" + +#: ../../source/community.rst +msgid "card-img-top" +msgstr "" + diff --git a/locale/de/LC_MESSAGES/compilers.po b/locale/de/LC_MESSAGES/compilers.po new file mode 100644 index 000000000..eb39a0123 --- /dev/null +++ b/locale/de/LC_MESSAGES/compilers.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/compilers.md:10 +msgid "Compilers" +msgstr "" + +#: ../../source/compilers.md:16 +msgid "" +"[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a " +"mature free and open source compiler, part of the GNU Compiler " +"Collection." +msgstr "" + +#: ../../source/compilers.md:19 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler " +"wrapper around gfortran which enables the parallel programming features " +"of Fortran 2018 with gfortran." +msgstr "" + +#: ../../source/compilers.md:25 +msgid "" +"[Flang](https://github.com/llvm/llvm-project/tree/main/flang) is a new " +"front-end for Fortran 2018 that has been recently added to LLVM. It is " +"implemented in modern C++ and uses a Fortran-oriented MLIR dialect for " +"lowering to LLVM IR. This project is under active development." +msgstr "" + +#: ../../source/compilers.md:34 +msgid "" +"[Flang](https://github.com/flang-compiler/flang) is an open source " +"compiler based on the NVIDIA/PGI commercial compiler." +msgstr "" + +#: ../../source/compilers.md:40 +msgid "" +"[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based " +"Fortran compiler." +msgstr "" + +#: ../../source/compilers.md:48 +msgid "" +"[Intel " +"oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi" +"/all-toolkits.html) is Intel's suite of compilers, tools, and libraries " +"for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides [two " +"Fortran " +"compilers](https://software.intel.com/content/www/us/en/develop/articles" +"/intel-oneapi-fortran-compiler-release-notes.html):" +msgstr "" + +#: ../../source/compilers.md:53 +msgid "" +"Intel Fortran Compiler Classic (`ifort`), a mature compiler with full " +"Fortran 2018 support; and" +msgstr "" + +#: ../../source/compilers.md:55 +msgid "" +"Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler that " +"supports Fortran 95 and partially newer versions of the standard." +msgstr "" + +#: ../../source/compilers.md:58 +msgid "" +"Intel oneAPI is available for free. Currently the compiler supports " +"Linux, MacOS and Windows platforms and x86\\_64 architectures. Community " +"support is available for the free version at the [Intel Developer " +"forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p" +"/fortran-compiler)." +msgstr "" + +#: ../../source/compilers.md:65 +msgid "" +"The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) " +"release (7.0) has extensive support for legacy and modern Fortran " +"features including parallel programming with coarrays, as well as " +"additional support for programming with OpenMP." +msgstr "" + +#: ../../source/compilers.md:68 +msgid "" +"The Compiler also provides significant support for Fortran 2018 (atomic " +"operations, events and tasks, plus other smaller features), almost all of" +" Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. " +"All platforms include supporting tools for software development: source " +"file polishers, dependency generator for module and include files, call-" +"graph generator, interface builder and a precision unifier." +msgstr "" + +#: ../../source/compilers.md:77 +msgid "" +"The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and " +"Fortran compilers, former [PGI " +"compilers](https://www.pgroup.com/products/index.htm), support GPU " +"acceleration of HPC modeling and simulation applications with standard " +"C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math " +"libraries maximize performance on common HPC algorithms, and optimized " +"communications libraries enable standards-based multi-GPU and scalable " +"systems programming." +msgstr "" + +#: ../../source/compilers.md:79 +msgid "" +"NVHPC compilers are available free of charge. Currently the compiler " +"supports Linux platforms and x86\\_64, ppc64le and aarch64 architectures." +" Community support is available at the [HPC compiler " +"forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-" +"compilers/nvc-nvc-and-nvfortran/313)." +msgstr "" + +#: ../../source/compilers.md:86 +msgid "" +"The [Cray Compiling Environment " +"(CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-" +"Environment.pdf) is the cornerstone innovation of Cray's adaptive " +"computing paradigm. CCE builds on a well-developed and sophisticated Cray" +" technology base that identifies regions of computation that are either " +"sequential scalar, vector parallel or highly multithreaded. It includes " +"optimizing compilers that automatically exploit the scalar, vector and " +"multithreading hardware capabilities of the Cray system. CCE supports " +"Fortran, C and C++." +msgstr "" + +#: ../../source/compilers.md:96 +msgid "" +"[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-" +"compiler-power) for Linux is an industry standards-based programming tool" +" used to develop large and complex applications in the Fortran " +"programming language. It generates code that leverages the capabilities " +"of the latest POWER9 architecture and maximizes your hardware " +"utilization. IBM XL Fortran for Linux optimizes your infrastructure on " +"IBM Power Systems™ in support of extensive numerical, scientific and " +"high-performance computing." +msgstr "" + +#: ../../source/compilers.md:104 +msgid "" +"A community edition of the IBM XL compilers are available free of charge." +" The compilers support Linux and AIX platforms and ppc64le architectures." +msgstr "" + +#: ../../source/compilers.md:110 +msgid "" +"The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-" +"aocc/) compiler system is a high performance, production quality code " +"generation tool. The AOCC environment provides various options to " +"developers when building and optimizing C, C++, and Fortran applications " +"targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system " +"offers a high level of advanced optimizations, multi-threading and " +"processor support that includes global optimization, vectorization, " +"inter-procedural analyses, loop transformations, and code generation. AMD" +" also provides highly optimized libraries, which extract the optimal " +"performance from each x86 processor core when utilized. The AOCC Compiler" +" Suite simplifies and accelerates development and tuning for x86 " +"applications." +msgstr "" + +#: ../../source/compilers.md:122 +msgid "" +"The AOCC compilers are available free of charge and support Linux " +"platforms with x86\\_64 architectures." +msgstr "" + +#: ../../source/compilers.md:127 +msgid "" +"[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-" +"software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-" +"compiler). Tailored for HPC and scientific codes, with support for " +"popular Fortran and OpenMP standards and tuned for leading server-class " +"Arm-based platforms. Built on the open source Flang front-end, and the " +"LLVM‑based optimization and code generation back-end. Available as part " +"of the Arm Compiler for Linux package." +msgstr "" + +#: ../../source/compilers.md:135 +msgid "" +"[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran " +"delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, " +"extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical" +" debugger, native tool suite integration, AMDAL HPC scientific and " +"engineering library, and more. Pro Fortran includes Fast Data " +"Visualization, an Absoft exclusive technology for graphical rendering and" +" data output." +msgstr "" + +#: ../../source/compilers.md:144 +msgid "" +"[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-" +"development/technologies/developerstudio-features.html) is highly " +"optimized for Oracle systems, on-premise and in the cloud" +msgstr "" + +#: ../../source/compilers.md:147 +msgid "" +"Advanced code generation technology for the latest Oracle SPARC and x86 " +"based systems" +msgstr "" + +#: ../../source/compilers.md:148 +msgid "" +"Support for the latest industry standards, including C++14, C++11, C11 " +"and OpenMP 4.0 and extensive GCC compatibility features" +msgstr "" + +#: ../../source/compilers.md:149 +msgid "" +"Automatic code analysis during compilation and automatic stack overflow " +"protection at application runtime" +msgstr "" + +#: ../../source/compilers.md:154 +msgid "" +"LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the" +" classic [Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier " +"has full Fortran 95/90/77 compliance with extensive support for the " +"Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class " +"diagnostics. Includes the automatic-parallelizing GFortran compiler, " +"Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, " +"Winteracter WiSK Graphics package, and more." +msgstr "" + +#: ../../source/compilers.md:163 +msgid "" +"[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 " +"standards compliant compiler, capable of producing fast executables for " +"Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime " +"checking and a great range of supporting software. All standard and many " +"vendor-specific legacy language features are supported, so that Fortran " +"projects may be any combination of Fortran 77, Fortran 90 and Fortran 95." +" Some features of Fortran 2003 and 2008 have been " +"[added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx)." +" Silverfrost Fortran runs on Windows / x86_64. There is a free personal " +"edition." +msgstr "" + +#: ../../source/compilers.md:175 +msgid "" +"[The Fortran " +"compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) " +"conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports " +"many features from Fortran-2008 (ISO/IEC 1539-1:2010)." +msgstr "" + +#: ../../source/compilers.md:181 +msgid "" +"[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of " +"Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 " +"(ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 " +"(ISO/IEC 1539:2018). Used for russian processor architectures Elbrus " +"(e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture " +"is available." +msgstr "" + +#: ../../source/compilers.md:189 +msgid "" +"The following is a list of Fortran compilers that seem discontinued, so " +"we do not list them above:" +msgstr "" + +#: ../../source/compilers.md:192 +msgid "Apogee" +msgstr "" + +#: ../../source/compilers.md:193 +msgid "Edinburgh Portable Compilers" +msgstr "" + +#: ../../source/compilers.md:194 +msgid "Hewlett Packard" +msgstr "" + +#: ../../source/compilers.md:195 +msgid "Watcom" +msgstr "" + +#: ../../source/compilers.md:196 +msgid "PathScale" +msgstr "" + +#: ../../source/compilers.md:197 +msgid "G95" +msgstr "" + +#: ../../source/compilers.md:198 +msgid "Open64" +msgstr "" + +#: ../../source/compilers.md:199 +msgid "Unisys" +msgstr "" + +#: ../../source/compilers.md:203 +msgid "" +"Please let us know if there is any compiler that is not listed, or if we " +"listed a compiler in the Discontinued section and it is in fact actively " +"maintained." +msgstr "" + diff --git a/locale/de/LC_MESSAGES/index.po b/locale/de/LC_MESSAGES/index.po new file mode 100644 index 000000000..ccd9f86c4 --- /dev/null +++ b/locale/de/LC_MESSAGES/index.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/index.rst:3 ../../source/index.rst:8 +msgid "The Fortran Programming Language" +msgstr "" + +#: ../../source/index.rst:3 +msgid "Fortran, High-performance, parallel programming language" +msgstr "" + +#: ../../source/index.rst:14 +msgid "High-performance parallel programming language" +msgstr "" + +#: ../../source/index.rst:16 +msgid "Get started" +msgstr "" + +#: ../../source/index.rst:24 +msgid "Features" +msgstr "" + +#: ../../source/index.rst:28 +msgid "High performance" +msgstr "" + +#: ../../source/index.rst:30 +msgid "" +"Fortran has been designed from the ground up for computationally " +"intensive applications in science and engineering. Mature and battle-" +"tested compilers and libraries allow you to write code that runs close to" +" the metal, fast." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Statically and strongly typed" +msgstr "" + +#: ../../source/index.rst:36 +msgid "" +"Fortran is statically and strongly typed, which allows the compiler to " +"catch many programming errors early on for you. This also allows the " +"compiler to generate efficient binary code." +msgstr "" + +#: ../../source/index.rst:40 +msgid "Easy to learn and use" +msgstr "" + +#: ../../source/index.rst:42 +msgid "" +"Fortran is a relatively small language that is surprisingly easy to learn" +" and use. Expressing most mathematical and arithmetic operations over " +"large arrays is as simple as writing them as equations on a whiteboard." +msgstr "" + +#: ../../source/index.rst:46 +msgid "Versatile" +msgstr "" + +#: ../../source/index.rst:48 +msgid "" +"Fortran allows you to write code in a style that best fits your problem: " +"imperative, procedural, array-oriented, object-oriented, or functional." +msgstr "" + +#: ../../source/index.rst:52 +msgid "Natively parallel" +msgstr "" + +#: ../../source/index.rst:54 +msgid "" +"Fortran is a natively parallel programming language with intuitive array-" +"like syntax to communicate data between CPUs. You can run almost the same" +" code on a single CPU, on a shared-memory multicore system, or on a " +"distributed-memory HPC or cloud-based system. Coarrays, teams, events, " +"and collective subroutines allow you to express different parallel " +"programming patterns that best fit your problem at hand." +msgstr "" + +#: ../../source/index.rst:58 +msgid "FAQ" +msgstr "" + +#: ../../source/index.rst:62 +msgid "What is the status of Fortran?" +msgstr "" + +#: ../../source/index.rst:64 +msgid "" +"Fortran is still in active development. The latest revision of the " +"language is `Fortran 2018 " +"`_,and" +" the next one, with the working title Fortran 202x, is planned for " +"release in the next few years. Further, open source projects like the " +"`Standard Library `_ and the " +"`Fortran Package Manager `_ are in " +"active development." +msgstr "" + +#: ../../source/index.rst:68 +msgid "What is Fortran used for?" +msgstr "" + +#: ../../source/index.rst:70 +msgid "" +"Fortran is mostly used in domains that adopted computation early--science" +" and engineering. These include numerical weather and ocean prediction, " +"computational fluid dynamics, applied math, statistics, and finance. " +"Fortran is the dominant language of High Performance Computing and is " +"used to `benchmark the fastest supercomputers in the world. " +"`_" +msgstr "" + +#: ../../source/index.rst:74 +msgid "Should I use Fortran for my new project?" +msgstr "" + +#: ../../source/index.rst:76 +msgid "" +"If you're writing a program or a library to perform fast arithmetic " +"computation over large numeric arrays, Fortran is the optimal tool for " +"the job." +msgstr "" + +#: ../../source/index.rst:108 +msgid "Make Fortran better" +msgstr "" + +#: ../../source/index.rst:118 +msgid "Write proposals" +msgstr "" + +#: ../../source/index.rst:119 +msgid "" +"Have an idea about how to improve the language? You can write new " +"proposals or contribute to existing proposals to the Fortran Standard " +"Committee on `GitHub `_ " +"." +msgstr "" + +#: ../../source/index.rst:127 +msgid "Develop tools" +msgstr "" + +#: ../../source/index.rst:128 +msgid "" +"You can also help make Fortran better by contributing to its suite of " +"tools, such as `Standard Library `_ , `Package Manager `_" +" , or `this website `_ " +"." +msgstr "" + +#: ../../source/index.rst:138 +msgid "Write Fortran software" +msgstr "" + +#: ../../source/index.rst:139 +msgid "" +"Or just write Fortran software for your research, business, or " +"schoolwork. You can learn how to `get started here `_ ." +msgstr "" + diff --git a/locale/de/LC_MESSAGES/learn.po b/locale/de/LC_MESSAGES/learn.po new file mode 100644 index 000000000..6f2a20c64 --- /dev/null +++ b/locale/de/LC_MESSAGES/learn.po @@ -0,0 +1,15847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/learn.rst:4 +msgid "Learn" +msgstr "" + +#: ../../source/learn.rst:12 +msgid "Learn Fortran" +msgstr "" + +#: ../../source/learn.rst:16 +msgid "Learning resources for beginners and experts alike" +msgstr "" + +#: ../../source/learn.rst:20 +msgid "Getting Started" +msgstr "" + +#: ../../source/learn.rst:33 +msgid "" +"Try the quickstart Fortran tutorial, to get an overview of the language " +"syntax and capabilities. |br|" +msgstr "" + +#: ../../source/learn.rst:35 +msgid "" +" Quickstart tutorial" +msgstr "" + +#: ../../source/learn.rst:53 +msgid "" +"Ask a question in the Fortran-lang discourse - a forum for friendly " +"discussion of all things Fortran. |br|" +msgstr "" + +#: ../../source/learn.rst:55 +msgid "" +" Fortran-lang Discourse" +msgstr "" + +#: ../../source/learn.rst:65 +msgid "Mini-book Tutorials" +msgstr "" + +#: ../../source/learn.rst:92 +msgid "Other Resources" +msgstr "" + +#: ../../source/learn.rst:96 +msgid "On the web" +msgstr "" + +#: ../../source/learn.rst:111 +msgid "Online Courses" +msgstr "" + +#: ../../source/learn.rst:124 +msgid "In print" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:8 +msgid "Allocatable Arrays" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:10 +msgid "" +"The ``allocatable`` attribute provides a safe way for memory handling. In" +" comparison to variables with ``pointer`` attribute the memory is managed" +" automatically and will be deallocated automatically once the variable " +"goes out-of-scope. Using ``allocatable`` variables removes the " +"possibility to create memory leaks in an application." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:16 +msgid "" +"They can be used in subroutines to create scratch or work arrays, where " +"automatic arrays would become too large to fit on the stack." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:24 +msgid "" +"The allocation status can be checked using the ``allocated`` intrinsic to" +" avoid uninitialized access" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:37 +msgid "" +"To allocate variables inside a procedure the dummy argument has to carry " +"the ``allocatable`` attribute. Using it in combination with " +"``intent(out)`` will deallocate previous allocations before entering the " +"procedure:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:48 +msgid "The allocated array can be used afterwards like a normal array" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:55 +msgid "" +"An already allocated array cannot be allocated again without prior " +"deallocation. Similarly, deallocation can only be invoked for allocated " +"arrays. To reallocate an array use" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:64 +msgid "" +"Passing allocated arrays to procedures does not require the " +"``allocatable`` attribute for the dummy arguments anymore." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:87 +msgid "" +"Passing an unallocated array in this context will lead to an invalid " +"memory access. Allocatable arrays can be passed to ``optional`` dummy " +"arguments -- if they are unallocated the argument will not be present. " +"The ``allocatable`` attribute is not limited to arrays and can also be " +"associated with scalars, which can be useful in combination with " +"``optional`` dummy arguments." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:93 +msgid "" +"Allocations can be moved between different arrays with ``allocatable`` " +"attribute using the ``move_alloc`` intrinsic subroutine." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:125 +msgid "" +"Finally, allocations do not initialize the array. The content of the " +"uninitialized array is most likely just the bytes of whatever was " +"previously at the respective address. The allocation supports " +"initialization using the source attribute:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:134 +msgid "" +"The ``source`` keyword supports scalar and array valued variables and " +"constants." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:8 +msgid "Arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:10 +msgid "" +"Arrays are a central object in Fortran. The creation of dynamic sized " +"arrays is discussed in the [allocatable arrays " +"section](./allocatable_arrays.html)." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:13 +msgid "To pass arrays to procedures four ways are available" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:15 +msgid "*assumed-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:16 +msgid "*assumed-rank* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:17 +#: ../../source/learn/best_practices/element_operations.md:13 +msgid "*explicit-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:18 +msgid "*assumed-size* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:20 +msgid "" +"The preferred way to pass arrays to procedures is as *assumed-shape* " +"arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:33 +msgid "Higher-dimensional arrays can be passed in a similar way." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:42 +msgid "The array is simply passed by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:49 +msgid "" +"In this case no array copy is done, which has the advantage that the " +"shape and size information is automatically passed along and checked at " +"compile and optionally at runtime. Similarly, array strides can be passed" +" without requiring a copy of the array but as *assumed-shape* descriptor:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:61 +msgid "" +"This should always be your default way of passing arrays in and out of " +"subroutines. Avoid passing arrays as whole slices, as it obfuscates the " +"actual intent of the code:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:69 +msgid "" +"In case more general arrays should be passed to a procedure the *assumed-" +"rank* functionality introduced in the Fortran 2018 standard can be used" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:84 +msgid "" +"The actual rank can be queried at runtime using the ``select rank`` " +"construct. This easily allows to create more generic functions that have " +"to deal with different array ranks." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:88 +msgid "" +"*Explicit-shape* arrays can be useful for returning data from functions. " +"Most of their functionality can be provided by *assumed-shape* and " +"*assumed-rank* arrays but they find frequent use for interfacing with C " +"or in legacy Fortran procedures, therefore they will be discussed briefly" +" here." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:93 +msgid "" +"To use *explicit-shape* arrays, the dimension has to be passed explicitly" +" as dummy argument like in the example below" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:107 +msgid "For high-dimensional arrays additional indices have to be passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:117 +msgid "The routines can be invoked by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:125 +msgid "" +"Note that the shape is not checked, so the following would be legal code " +"that will potentially yield incorrect results:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:134 +msgid "" +"In this case the memory layout is preserved but the shape is changed. " +"Also, *explicit-shape* arrays require contiguous memory and will create " +"temporary arrays in case non-contiguous array strides are passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:138 +msgid "To return an array from a function with *explicit-shape* use" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:151 +msgid "" +"Finally, there are *assumed-size* arrays, which provide the least " +"compile-time and run-time checking and can be found frequently in legacy " +"code. They should be avoided in favour of *assumed-shape* or *assumed-" +"rank* arrays. An *assumed-size* array dummy argument is identified by an " +"asterisk as the last dimension, this disables the usage of this array " +"with many intrinsic functions, like ``size`` or ``shape``." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:158 +msgid "" +"To check for the correct size and shape of an *assumed-shape* array the " +"``size`` and ``shape`` intrinsic functions can be used to query for those" +" properties" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:166 +msgid "" +"Note that ``size`` returns the total size of all dimensions. To obtain " +"the shape of a specific dimension add it as second argument to the " +"function." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:169 +msgid "Arrays can be initialized by using an array constructor" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:176 +msgid "" +"The array constructor can be annotated with the type of the constructed " +"array" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:183 +msgid "Implicit do loops can be used inside an array constructor as well" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:191 +msgid "In order for the array to start with different index than 1, do:" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:8 +msgid "Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:10 +msgid "" +"A callback is a function that is passed as an argument to another " +"function." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:12 +msgid "" +"The preferred way of creating such a callback is to provide an *abstract " +"interface* declaring the signature of the callback. This allows to use " +"compile time checks for the passed callback." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:44 +msgid "" +"The function can then be used with a callback by importing the module as " +"shown in the following example" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:73 +msgid "" +"Exporting the abstract interface allows you to create procedure pointers " +"with the correct signature and also to extend the callback further as " +"shown here" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:8 +msgid "Element-wise Operations on Arrays" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:10 +msgid "" +"There are three approaches to perform element-wise operations on arrays " +"when using subroutines and functions:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:12 +msgid "`elemental` procedures" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:14 +msgid "" +"implementing the operation for vectors and write simple wrapper " +"subroutines (that use `reshape` internally) for each array shape" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:17 +msgid "" +"In the first approach, one uses the `elemental` keyword to create a " +"function like this:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:28 +msgid "" +"All arguments (in and out) must be scalars. You can then use this " +"function with arrays of any (compatible) shape, for example:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:39 +msgid "The output will be:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:49 +msgid "" +"In the above, typically `n` is a parameter and `x` is the array of an " +"arbitrary shape, but as you can see, Fortran does not care as long as the" +" final operation makes sense (if one argument is an array, then the other" +" arguments must be either arrays of the same shape or scalars). If it " +"does not, you will get a compiler error." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:55 +msgid "" +"The `elemental` keyword implies the `pure` keyword, so the procedure must" +" be pure. It results that `elemental procedures` can only use `pure` " +"procedures and have no side effects." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:58 +msgid "" +"If the elemental procedure algorithm can be made faster using array " +"operations inside, or if for some reasons the arguments must be arrays of" +" incompatible shapes, then one should use the other two approaches. One " +"can make `nroot` operate on a vector and write a simple wrapper for other" +" array shapes, e.g.:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:89 +msgid "And use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:97 +msgid "This will print:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:105 +msgid "Or one can use *explicit-shape* arrays as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:117 +msgid "Use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:125 +msgid "The output is the same as before:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:8 +msgid "File Input/Output" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:10 +msgid "" +"In Fortran files are managed by unit identifiers. Interaction with the " +"filesystem mainly happens through the ``open`` and ``inquire`` built-in " +"procedures. Generally, the workflow is to open a file to a unit " +"identifier, read and/or write to it and close it again." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:22 +msgid "" +"By default the file will be created if it is not existing already and " +"opened for both reading and writing. Writing to an existing file will " +"start in the first record (line) and therefore overwrite the file by " +"default." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:26 +msgid "" +"To create a read-only access to a file the ``status`` and ``action`` have" +" to be specified with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:36 +msgid "" +"In case the file is not present a runtime error will occur. To check for " +"the existence of a file prior to opening it the ``inquire`` function can " +"be used" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:47 +msgid "" +"Alternatively, the ``open`` procedure can return an optional *iostat* and" +" *iomsg*:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:59 +msgid "" +"Note that *iomsg* requires a fixed-length character variable with " +"sufficient storage size to hold the error message." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:62 +msgid "" +"Similarly, writing to a file happens by using the *status* and *action* " +"keyword. To create a new file use" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:72 +msgid "" +"Alternatively, ``status=\"replace\"`` can be used to overwrite an " +"existing file. It is highly recommended to first check for the existence " +"of a file before deciding on the *status* to use. To append to an output " +"file the *position* keyword can be specified explicitly with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:86 +msgid "" +"To reset the position in a file the built-in procedures ``rewind`` and " +"``backspace`` can be used. ``rewind`` will reset to the first record " +"(line), while ``backspace`` will return to the previous record (line)." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:90 +msgid "" +"Finally, to delete a file the file has to be opened and can be deleted " +"after closing with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:103 +msgid "" +"A useful IO feature is scratch files, which can be opened with " +"``status=\"scratch\"``. They are automatically deleted after closing the " +"unit identifier." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:8 +msgid "Floating Point Numbers" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:10 +msgid "" +"The default representation of floating point numbers is using single " +"precision (usually 32 bits / 4 bytes). For most applications a higher " +"precision is required. For this purpose a custom kind parameter can be " +"defined. The recommended way of defining kind parameters is to use" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:19 +msgid "" +"For many purposes it also suffices to directly infer the kind parameter " +"from a literal like here" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:26 +msgid "" +"or to rename the imported kind parameter from the ``iso_fortran_env`` " +"module" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:32 +msgid "" +"For some insightful thoughts on kind parameters see Doctor Fortran in it takes all " +"KINDs." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:35 +msgid "" +"It is recommended to have a central module to define kind parameters and " +"include them with use as necessary. An example for such a module is given" +" with" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:63 +msgid "" +"Floating point constants should always be declared including a kind " +"parameter suffix:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:72 +msgid "" +"It is safe to assign integers to floating point numbers without losing " +"accuracy:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:79 +msgid "" +"In order to impose floating point division (as opposed to integer " +"division `3/4` equal to `0`), one can convert the integer to a floating " +"point number by:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:88 +msgid "or simply separate the integer division with multiplication by `1.0_dp`" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:95 +msgid "" +"To print floating point numbers without losing precision use the " +"unlimited format specifier ``(g0)`` or the exponential representation " +"``(es24.16e3)``, which will give you 17 significant digits of printout." +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "allocatable arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "file io" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "modules programs" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "floating point" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "multidim arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "callbacks" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "style guide" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "element operations" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "integer division" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "type casting" +msgstr "" + +#: ../../source/learn/best_practices/index.md:9 +msgid "Fortran Best Practices" +msgstr "" + +#: ../../source/learn/best_practices/index.md:11 +msgid "" +"This mini-book collects a modern canonical way of doing things in " +"Fortran. It serves as a style guide and best practice recommendation for " +"popular topics and common tasks. Generally, a canonical solution or " +"pattern is presented and discussed. It is meant for programmers with " +"basic familiarity of the Fortran syntax and programming in general." +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:8 +msgid "Integer Division" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:10 +msgid "" +"Fortran distinguishes between floating point and integer arithmetic. It " +"is important to note that division for integers is always using integer " +"arithmetic. Furthermore, while Fortran uses the standard order-of-" +"operations (e.g. multiplication and division preceed addition and " +"subtraction, in the absence of parenthesis), operations of the same " +"precedence are evaluated from left to right. Consider the following " +"example for integer division of an odd number:" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:28 +msgid "" +"Be careful about whether you want to actually use integer arithmetic in " +"this context. If you want to use floating point arithmetic instead make " +"sure to cast to reals before using the division operator, or separate the" +" integers by multiplying by `1.0_dp`:" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:8 +msgid "Modules and Programs" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:10 +msgid "" +"Modules are the preferred way create modern Fortran libraries and " +"applications. As a convention, one source file should always contain only" +" one module, while the module name should match the filepath to allow " +"easy navigation in larger projects. It is also recommended to prefix " +"module names with the library name to avoid name clashes when used as " +"dependency in other projects." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:16 +msgid "An example for such a module file is given here" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:52 +msgid "" +"There are a few things in this example module to highlight. First, every " +"module starts with comments documenting the purpose and content of the " +"module. Similarly, every procedure starts with a comment briefly " +"describing its purpose and the intent of the dummy arguments. " +"Documentation is one of the most important parts of creating long-living " +"software, regardless of language." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:58 +msgid "" +"Second, imports (*use*) and exports (*public*) are explicitly given, this" +" allows on a glance at the module source to check the used and available " +"procedures, constants and derived types. The imports are usually limited " +"to the module scope rather than reimported in every procedure or " +"interface scope. Similarly, exports are made explicitly by adding a " +"*private* statement on a single line and explicitly listing all exported " +"symbols in *public* statements." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:66 +msgid "" +"Finally, the `implicit none` statement works for the whole module and " +"there is no need to repeat it within each procedure." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:69 +msgid "" +"Variables inside a module are static (*implicitly saved*). It is highly " +"recommended to limit the usage of module variables to constant " +"expressions, like parameters or enumerators only or export them as " +"*protected* rather than *public*." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:74 +msgid "" +"Submodules can be used to break long dependency chains and shorten " +"recompilation cascades in Fortran programs. They also offer the " +"possibility to provide specialized and optimized implementations without " +"requiring the use of preprocessor." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:78 +msgid "" +"An example from the Fortran standard library is the quadrature module, " +"which only defines interfaces to module procedures, but no " +"implementations" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:111 +msgid "" +"While the implementation is provided in separate submodules like the one " +"for the trapezoidal integration rule given here." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:145 +msgid "" +"Note that the module procedures do not have to be implemented in the same" +" submodule. Several submodules can be used to reduce the compilation load" +" for huge modules." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:148 +msgid "" +"Finally, when setting up a program, it is recommended to keep the actual " +"implementations in the program body at minimum. Reusing implementations " +"from modules allows you to write reusable code and focus the program " +"unit on conveying user input to the respective library functions and " +"objects." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:8 +msgid "Multidimensional Arrays" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:10 +msgid "" +"Multidimensional arrays are stored in column-major order. This means the " +"left-most (inner-most) index addresses elements contiguously. From a " +"practical point this means that the array slice ``V(:, 1)`` is " +"contiguous, while the stride between elements in the slice ``V(1, :)`` is" +" the dimension of the columns. This is important when passing array " +"slices to procedures which expect to work on contiguous data." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:17 +msgid "" +"The locality of the memory is important to consider depending on your " +"application, usually when performing operations on a multidimensional the" +" sequential access should always advance in unity strides." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:21 +msgid "" +"In the following example the inverse distance between two sets of points " +"is evaluated. Note that the points are stored contiguously in the arrays " +"``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most " +"index of the matrix ``a``." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:40 +msgid "" +"Another example would be the contraction of the third dimension of a rank" +" three array:" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:53 +msgid "" +"Contiguous array slices can be used in array-bound remapping to allow " +"usage of higher rank arrays as lower rank arrays without requiring to " +"reshape and potentially create a temporary copy of the array." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:57 +msgid "" +"For example this can be used to contract the third dimension of a rank " +"three array using a matrix-vector operation:" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:8 +msgid "Fortran Style Guide" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:10 +msgid "Naming Convention" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:13 +msgid "" +"Ultimately this is a matter of preference. Here is a style guide that we " +"like and that seems to be prevalent in most scientific codes (as well as " +"the Fortran standard library), and you are welcome to follow it." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:17 +msgid "" +"Use lowercase for all Fortran constructs (`do`, `subroutine`, `module`, " +"...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:19 +msgid "" +"Follow short mathematical notation for mathematical variables/functions " +"(`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:21 +msgid "" +"For other names use all lowercase: try to keep names to one or two " +"syllables; if more are required, use underscores to clarify (`sortpair`, " +"`whitechar`, `meshexp`, `numstrings`, `linspace`, `meshgrid`, `argsort`, " +"`spline`, `spline_interp`, `spline_interpolate`, `stoperr`, `stop_error`," +" `meshexp_der`)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:27 +msgid "" +"For example \"spline interpolation\" can be shortened to " +"`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, " +"but not to `splineint` (\"int\" could mean integration, integer, etc. ---" +" too much ambiguity, even in the clear context of a computational code). " +"This is in contrast to `get_argument()` where `getarg()` is perfectly " +"clean and clear." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:34 +msgid "" +"The above are general guidelines. In general, choosing the right name " +"certainly depends on the word being truncated as to whether the first " +"syllable is sufficient. Usually it is but clearly not always. Thus some " +"thought should go into step \"try to keep names to 2 syllables or less\" " +"since it can really affect the indicativeness and simplicity. Simple " +"consistent naming rules are a real help in this regard -- for both " +"collaboration and for one's own sanity when going back to some old code " +"you haven't seen in while." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:43 +msgid "Indentation" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:46 +msgid "" +"Use a consistent indentation to make your code readable. The amount of " +"indentation is a matter of preference, the most common choices are two, " +"three or four spaces." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:50 +msgid "Comparison to Other Languages" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:53 +msgid "" +"On the other hand, in most of the rest of the programming world, where " +"the main focus is, in one form or another, on defining and using large " +"sets of complex objects, with tons of properties and behaviors, known " +"only in the code in which they are defined (as opposed to defined by the " +"same notation throughout the literature), it makes more sense to use " +"longer, more descriptive names. The naming conventions one sees used in " +"more general-purpose languages such as C++ and Python, therefore, are " +"perfectly consistent with their more general-purpose missions. But " +"Fortran has a different mission (numerical scientific computing)." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:8 +msgid "Type Casting in Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:10 +msgid "" +"There are essentially five different ways to do type casting, each with " +"its own advantages and disadvantages." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:13 +msgid "" +"The methods I, II and V can be used both in C and Fortran. The methods " +"III and IV are only available in Fortran. The method VI is obsolete and " +"should not be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:17 +msgid "Work Arrays" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:20 +msgid "" +"Pass a \"work array\" which is packed with everything needed by the " +"caller and unpacked by the called routine. This is the old way -- e.g., " +"how LAPACK does it." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:24 +#: ../../source/learn/best_practices/type_casting.md:95 +#: ../../source/learn/best_practices/type_casting.md:179 +#: ../../source/learn/best_practices/type_casting.md:244 +#: ../../source/learn/best_practices/type_casting.md:296 +msgid "Integrator:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:53 +#: ../../source/learn/best_practices/type_casting.md:133 +#: ../../source/learn/best_practices/type_casting.md:206 +#: ../../source/learn/best_practices/type_casting.md:271 +#: ../../source/learn/best_practices/type_casting.md:326 +#: ../../source/learn/best_practices/type_casting.md:438 +msgid "Usage:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:86 +msgid "General Structure" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:89 +msgid "" +"Define a general structure which encompass the variations you actually " +"need (or are even remotely likely to need going forward). This single " +"structure type can then change if needed as future needs/ideas permit but" +" won't likely need to change from passing, say, real numbers to, say, and" +" instantiation of a text editor." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:166 +msgid "" +"There is only so much flexibility really needed. For example, you could " +"define two structure types for this purpose, one for Schroedinger and one" +" for Dirac. Each would then be sufficiently general and contain all the " +"needed pieces with all the right labels." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:171 +msgid "" +"Point is: it needn't be \"one abstract type to encompass all\" or bust. " +"There are natural and viable options between \"all\" and \"none\"." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:174 +msgid "Private Module Variables" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:177 +msgid "Hide the variable arguments completely by passing in module variables." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:236 +msgid "" +"However it is best to avoid such global variables -- even though really " +"just semi-global -- if possible. But sometimes it may be the simplest " +"cleanest way. However, with a bit of thought, usually there is a better, " +"safer, more explicit way along the lines of II or IV." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:241 +msgid "Nested functions" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:290 +msgid "Using type(c\\_ptr) Pointer" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:293 +msgid "" +"In C, one would use the `void *` pointer. In Fortran, one can use " +"`type(c_ptr)` for exactly the same purpose." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:364 +msgid "" +"As always, with the advantages of such re-casting, as Fortran lets you do" +" if you really want to, come also the disadvantages that fewer compile- " +"and run-time checks are possible to catch errors; and with that, " +"inevitably more leaky, bug-prone code. So one always has to balance the " +"costs and benefits." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:370 +msgid "" +"Usually, in the context of scientific programming, where the main thrust " +"is to represent and solve precise mathematical formulations (as opposed " +"to create a GUI with some untold number of buttons, drop-downs, and other" +" interface elements), simplest, least bug-prone, and fastest is to use " +"one of the previous approaches." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:376 +msgid "transfer() Intrinsic Function" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:379 +msgid "" +"Before Fortran 2003, the only way to do type casting was using the " +"`transfer` intrinsic function. It is functionally equivalent to the " +"method V, but more verbose and more error prone. It is now obsolete and " +"one should use the method V instead." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:384 +msgid "Examples:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:386 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:388 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:390 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:392 +msgid "Object Oriented Approach" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:395 +msgid "The module:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:432 +msgid "" +"The abstract type prescribes exactly what the integration routine needs, " +"namely a method to evaluate the function, but imposes nothing else on the" +" user. The user extends this type, providing a concrete implementation of" +" the eval type bound procedure and adding necessary context data as " +"components of the extended type." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:477 +msgid "Complete Example of void \\* vs type(c\\_ptr) and transfer()" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:480 +msgid "" +"Here are three equivalent codes: one in C using `void *` and two codes in" +" Fortran using `type(c_ptr)` and `transfer()`:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Language  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Method" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Link" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "C" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`void *`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Fortran" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`type(c_ptr)`  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`transfer()`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:489 +msgid "" +"The C code uses the standard C approach for writing extensible libraries " +"that accept callbacks and contexts. The two Fortran codes show how to do " +"the same. The `type(c_ptr)` method is equivalent to the C version and " +"that is the approach that should be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:494 +msgid "" +"The `transfer()` method is here for completeness only (before Fortran " +"2003, it was the only way) and it is a little cumbersome, because the " +"user needs to create auxiliary conversion functions for each of his " +"types. As such, the `type(c_ptr)` method should be used instead." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:8 +msgid "Build tools" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:10 +msgid "" +"Compiling your Fortran projects by hand can become quite complicated " +"depending on the number of source files and the interdependencies through" +" the module. Supporting different compilers and linkers or different " +"platforms can become increasingly complicated unless the right tools are " +"used to automatically perform those tasks." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:16 +msgid "" +"Depending on the size of your project and the purpose of project " +"different options for the build automation can be used." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:19 +msgid "" +"First, your integrated development environment probably provides a way to" +" build your program. A popular cross-platform tool is Microsoft's Visual Studio Code, but others exist, such as Atom, Eclipse Photran, and Code::Blocks. They offer a graphical user-interface," +" but are often very specific for the compiler and platform." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:29 +msgid "" +"For smaller projects, the rule based build system ``make`` is a common " +"choice. Based on the rules defined it can perform task like (re)compiling" +" object files from updated source files, creating libraries and linking " +"executables. To use ``make`` for your project you have to encode those " +"rules in ``Makefile``, which defines the interdependencies of all the " +"final program, the intermediary object files or libraries and the actual " +"source files. For a short introduction see [the guide on ``make" +"``](#using-make-as-build-tool)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:38 +msgid "" +"Maintenance tools like autotools and CMake can generate Makefiles or " +"Visual Studio project files via a high-level description. They abstract " +"away from the compiler and platform specifics." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:42 +msgid "" +"Which of those tools are the best choice for your projects depends on " +"many factors. Choose a build tool you are comfortable working with, it " +"should not get in your way while developing. Spending more time on " +"working against your build tools than doing actual development work can " +"quickly become frustrating." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:47 +msgid "" +"Also, consider the accessibility of your build tools. If it is restricted" +" to a specific integrated development environment, can all developers on " +"your project access it? If you are using a specific build system, does it" +" work on all platforms you are developing for? How large is the entry " +"barrier of your build tools? Consider the learning curve for the build " +"tools, the perfect build tool will be of no use, if you have to learn a " +"complex programming language first to add a new source file. Finally, " +"consider what other project are using, those you are depending on and " +"those that use (or will use) your project as dependency." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:59 +msgid "Using make as build tool" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:61 +msgid "" +"The most well-known and commonly used build system is called ``make``. It" +" performs actions following rules defined in a configuration file called " +"``Makefile`` or ``makefile``, which usually leads to compiling a program " +"from the provided source code." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:68 +msgid "" +"For an in-depth ``make`` tutorial lookup its info page. There is an " +"online version of this info page, available." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:70 +msgid "" +"We will start with the basics from your clean source directory. Create " +"and open the file ``Makefile``, we start with a simple rule called *all*:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:78 +msgid "" +"After saving the ``Makefile`` run it by executing ``make`` in the same " +"directory. You should see the following output:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:84 +msgid "" +"First, we note that ``make`` is substituting ``$@`` for the name of the " +"rule, the second thing to note is that ``make`` is always printing the " +"command it is running, finally, we see the result of running ``echo " +"\"all\"``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:89 +msgid "" +"We call the entry point of our ``Makefile`` always *all* by convention, " +"but you can choose whatever name you like." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:93 +msgid "" +"You should not have noticed it if your editor is working correctly, but " +"you have to indent the content of a rule with a tab character. In case " +"you have problems running the above ``Makefile`` and see an error like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:99 +msgid "" +"The indentation is probably not correct. In this case replace the " +"indentation in the second line with a tab character." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:105 +msgid "" +"Now we want to make our rules more complicated, therefore we add another " +"rule:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:117 +msgid "" +"Note how we declare variables in ``make``, you should always declare your" +" local variables with ``:=``. To access the content of a variable we use " +"the ``$(...)``, note that we have to enclose the variable name in " +"parenthesis." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:122 +msgid "" +"The declaration of variables is usually done with ``:=``, but ``make`` " +"does support *recursively expanded* variables as well with ``=``. " +"Normally, the first kind of declaration is wanted, as they are more " +"predictable and do not have a runtime overhead from the recursive " +"expansion." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:128 +msgid "" +"We introduced a dependency of the rule all, namely the content of the " +"variable ``PROG``, also we modified the printout, we want to see all the " +"dependencies of this rule, which are stored in the variable ``$^``. Now " +"for the new rule which we name after the value of the variable ``PROG``, " +"it does the same thing we did before for the rule *all*, note how the " +"value of ``$@`` is dependent on the rule it is used in." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:135 +msgid "Again check by running the ``make``, you should see:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:142 +msgid "" +"The dependency has been correctly resolved and evaluated before " +"performing any action on the rule *all*. Let's run only the second rule: " +"type ``make my_prog`` and you will only find the first two lines in your " +"terminal." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:147 +msgid "" +"The next step is to perform some real actions with ``make``, we take the " +"source code from the previous chapter here and add new rules to our " +"``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:164 +msgid "" +"We define ``OBJS`` which stands for object files, our program depends on " +"those ``OBJS`` and for each object file we create a rule to make them " +"from a source file. The last rule we introduced is a pattern matching " +"rule, ``%`` is the common pattern between ``tabulate.o`` and " +"``tabulate.f90``, which connects our object file ``tabulate.o`` to the " +"source file ``tabulate.f90``. With this set, we run our compiler, here " +"``gfortran`` and translate the source file into an object file, we do not" +" create an executable yet due to the ``-c`` flag. Note the usage of the " +"``$<`` for the first element of the dependencies here." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:175 +msgid "" +"After compiling all the object files we attempt to link the program, we " +"do not use a linker directly, but ``gfortran`` to produce the executable." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:178 +msgid "Now we run the build script with ``make``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:189 +msgid "" +"We remember that we have dependencies between our source files, therefore" +" we add this dependency explicitly to the ``Makefile`` with" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:196 +msgid "" +"Now we can retry and find that the build is working correctly. The output" +" should look like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:203 +msgid "" +"You should find *four* new files in the directory now. Run ``my_prog`` to" +" make sure everything works as expected. Let's run ``make`` again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:209 +msgid "" +"Using the timestamps of the executable ``make`` was able to determine, it" +" is newer than both ``tabulate.o`` and ``functions.o``, which in turn are" +" newer than ``tabulate.f90`` and ``functions.f90``. Therefore, the " +"program is already up-to-date with the latest code and no action has to " +"be performed." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:215 +msgid "In the end, we will have a look at a complete ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:249 +msgid "" +"Since you are starting with ``make`` we highly recommend to always " +"include the first line, like with Fortran's ``implicit none`` we do not " +"want to have implicit rules messing up our ``Makefile`` in surprising and" +" harmful ways." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:253 +msgid "" +"Next, we have a configuration section where we define variables, in case " +"you want to switch out your compiler, it can be easily done here. We also" +" introduced the ``SRCS`` variable to hold all source files, which is more" +" intuitive than specifying object files. We can easily create the object " +"files by appending a ``.o`` suffix using the functions ``addsuffix``. The" +" ``.PHONY`` is a special rule, which should be used for all entry points " +"of your ``Makefile``, here we define two entry point, we already know " +"*all*, the new *clean* rule deletes all the build artifacts again such " +"that we indeed start with a clean directory." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:264 +msgid "" +"Also, we slightly changed the build rule for the object files to account " +"for appending the ``.o`` suffix instead of substituting it. Notice that " +"we still need to explicitly define the interdependencies in the " +"``Makefile``. We also added a dependency for the object files on the " +"``Makefile`` itself, in case you change the compiler, this will allow you" +" to safely rebuild." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:270 +msgid "" +"Now you know enough about ``make`` to use it for building small projects." +" If you plan to use ``make`` more extensively, we have compiled a few " +"tips for you as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:275 +msgid "" +"In this guide, we avoided and disabled a lot of the commonly used " +"``make`` features that can be particularly troublesome if not used " +"correctly, we highly recommend staying away from the builtin rules and " +"variables if you do not feel confident working with ``make``, but " +"explicitly declare all variables and rules." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:280 +msgid "" +"You will find that ``make`` is capable tool to automate short " +"interdependent workflows and to build small projects. But for larger " +"projects, you will probably soon run against some of it limitations. " +"Usually, ``make`` is therefore not used alone but combined with other " +"tools to generate the ``Makefile`` completely or in parts." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:288 +msgid "Recursively expanded variables" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:290 +msgid "" +"Commonly seen in many projects are recursively expanded variables " +"(declared with ``=`` instead of ``:=``). Recursive expansion of your " +"variables allows out-of-order declaration and other neat tricks with " +"``make``, since they are defined as rules, which are expanded at runtime," +" rather than being defined while parsing." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:295 +msgid "" +"For example, declaring and using your Fortran flags with this snippet " +"will work completely fine:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:307 +msgid "" +"You should find the expected (or maybe unexpected) printout after running" +" ``make``" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:312 +#, python-format +msgid "{% include note.html content=\"\" %}" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:315 +msgid "" +"appending with ``+=`` to an undefined variable will produce a recursively" +" expanded variable with this state being inherited for all further " +"appending." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:318 +msgid "" +"While, it seems like an interesting feature to use, it tends to lead to " +"surprising and unexpected outcomes. Usually, when defining variables like" +" your compiler, there is little reason to actually use the recursive " +"expansion at all." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:322 +msgid "The same can easily be archived using the ``:=`` declaration:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:334 +msgid "" +"always think of a ``Makefile`` as a whole set of rules, it must be parsed" +" completely before any rule can be evaluated." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:337 +msgid "" +"You can use whatever kind of variables you like most, mixing them should " +"be done carefully, of course. It is important to be aware of the " +"differences between the two kinds and the respective implications." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:342 +msgid "Comments and whitespace" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:344 +msgid "" +"There are some caveats with whitespace and comments, which might pop up " +"from time to time when using ``make``. First, ``make`` does not know of " +"any data type except for strings and the default separator is just a " +"space. This means ``make`` will give a hard time trying to build a " +"project which has spaces in file names. If you encounter such case, " +"renaming the file is possibly the easiest solution at hand." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:351 +msgid "" +"Another common problem is leading and trailing whitespace, once " +"introduced, ``make`` will happily carry it along and it does in fact make" +" a difference when comparing strings in ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:355 +msgid "Those can be introduced by comments like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:363 +msgid "" +"While the comment will be correctly removed by ``make``, the trailing two" +" spaces are now part of the variable content. Run ``make`` and check that" +" this is indeed the case:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:372 +msgid "" +"To solve this issue, you can either move the comment, or strip the " +"whitespace with the ``strip`` function instead. Alternatively, you could " +"try to ``join`` the strings." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:383 +msgid "" +"All in all, none of this solutions will make your ``Makefile`` more " +"readable, therefore, it is prudent to pay extra attention to whitespace " +"and comments when writing and using ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:388 +msgid "The meson build system" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:390 +msgid "" +"After you have learned the basics of ``make``, which we call a low-level " +"build system, we will introduce ``meson``, a high-level build system. " +"While you specify in a low-level build system how to build your program, " +"you can use a high-level build system to specify what to build. A high-" +"level build system will deal for you with how and generate build files " +"for a low-level build system." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:397 +msgid "" +"There are plenty of high-level build systems available, but we will focus" +" on ``meson`` because it is constructed to be particularly user friendly." +" The default low-level build-system of ``meson`` is called ``ninja``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:401 +msgid "Let's have a look at a complete ``meson.build`` file:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:409 +msgid "" +"And we are already done, the next step is to configure our low-level " +"build system with ``meson setup build``, you should see output somewhat " +"similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:427 +msgid "" +"The provided information at this point is already more detailed than " +"anything we could have provided in a ``Makefile``, let's run the build " +"with ``ninja -C build``, which should show something like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:436 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. We note the steps ``ninja`` performed are the same we would " +"have coded up in a ``Makefile`` (including the dependency), yet we did " +"not have to specify them, have a look at your ``meson.build`` file again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:446 +msgid "" +"We only specified that we have a Fortran project (which happens to " +"require a certain version of ``meson`` for the Fortran support) and told " +"``meson`` to build an executable ``my_prog`` from the files " +"``tabulate.f90`` and ``functions.f90``. We had not to tell ``meson`` how " +"to build the project, it figured this out by itself." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:454 +msgid "" +"``meson`` is a cross-platform build system, the project you just " +"specified for your program can be used to compile binaries for your " +"native operating system or to cross-compile your project for other " +"platforms. Similarly, the ``meson.build`` file is portable and will work " +"on different platforms as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:461 +msgid "" +"The documentation of ``meson`` can be found at the meson-build webpage." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:465 +msgid "Creating a CMake project" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:467 +msgid "" +"Similar to ``meson`` CMake is a high-level build system as well and " +"commonly used to build Fortran projects." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:471 +msgid "" +"CMake follows a slightly different strategy and provides you with a " +"complete programming language to create your build files. This is has the" +" advantage that you can do almost everything with CMake, but your CMake " +"build files can also become as complex as the program you are building." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:478 +msgid "Start by creating the file ``CMakeLists.txt`` with the content" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:486 +msgid "" +"Similar to ``meson`` we are already done with our CMake build file. We " +"configure our low-level build files with ``cmake -B build -G Ninja``, you" +" should see output similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:500 +msgid "" +"You might be surprised that CMake tries to use the compiler ``f95``, " +"fortunately this is just a symbolic link to ``gfortran`` on most systems " +"and not the actual ``f95`` compiler. To give CMake a better hint you can " +"export the environment variable ``FC=gfortran`` rerunning should show the" +" correct compiler name now" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:516 +msgid "" +"In a similar manner you could use your Intel Fortran compiler instead to " +"build your project (set ``FC=ifort``)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:519 +msgid "" +"CMake provides support for several low-level build files, since the " +"default is platform specific, we will just use ``ninja`` since we already" +" used it together with ``meson``. As before, build your project with " +"``ninja -C build``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:530 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. The steps ``ninja`` performed are somewhat different, because " +"there is usually more than one way to write the low-level build files to " +"accomplish the task of building a project. Fortunately, we do not have to" +" concern ourselves but have our build system handle those details for us." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:536 +msgid "" +"Finally, we will shortly recap on our complete ``CMakeLists.txt`` to " +"specify our project:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:545 +msgid "" +"We specified that we have a Fortran project and told CMake to create an " +"executable ``my_prog`` from the files ``tabulate.f90`` and " +"``functions.f90``. CMake knows the details how to build the executable " +"from the specified sources, so we do not have to worry about the actual " +"steps in the build process." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:551 +msgid "" +"CMake's offical reference can be found at the CMake webpage. It is organised in manpages, which " +"are also available with your local CMake installation as well using ``man" +" cmake``. While it covers all functionality of CMake, it sometimes covers" +" them only very briefly." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:8 +msgid "Compiling the source code" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:10 +msgid "" +"The first step in the build process is to compile the source code. The " +"output from this step is generally known as the object code — a set of " +"instructions for the computer generated from the human-readable source " +"code. Different compilers will produce different object codes from the " +"same source code and the naming conventions are different." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:16 +msgid "The consequences:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:18 +msgid "" +"If you use a particular compiler for one source file, you need to use the" +" same compiler (or a compatible one) for all other pieces. After all, a " +"program may be built from many different source files and the compiled " +"pieces have to cooperate." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:22 +msgid "" +"Each source file will be compiled and the result is stored in a file with" +" an extension like \".o\" or \".obj\". It is these object files that are " +"the input for the next step: the link process." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:26 +msgid "" +"Compilers are complex pieces of software: they have to understand the " +"language in much more detail and depth than the average programmer. They " +"also need to understand the inner working of the computer. And then, over" +" the years they have been extended with numerous options to customise the" +" compilation process and the final program that will be built." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:33 +msgid "" +"But the basics are simple enough. Take the gfortran compiler, part of the" +" GNU compiler collection. To compile a simple program as the one above, " +"that consists of one source file, you run the following command, assuming" +" the source code is stored in the file \"hello.f90\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:42 +msgid "" +"This results in a file \"hello.o\" (as the gfortran compiler uses \".o\" " +"as the extension for the object files)." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:45 +msgid "" +"The option \"-c\" means: only compile the source files. If you were to " +"leave it out, then the default action of the compiler is to compile the " +"source file and start the linker to build the actual executable program. " +"The command:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:54 +msgid "results in an executable file, \"a.out\" on Linux or \"a.exe\" on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:57 +msgid "Some remarks:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:59 +msgid "" +"The compiler may complain about the contents of the source file, if it " +"finds something wrong with it — a typo for instance or an unknown " +"keyword. In that case the compilation process is broken off and you will " +"not get an object file or an executable program. For instance, if the " +"word \"program\" was inadvertently typed as \"prgoram\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:80 +msgid "" +"Using this compilation report you can correct the source code and try " +"again." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:83 +msgid "" +"The step without \"-c\" can only succeed if the source file contains a " +"main program — characterised by the `program` statement in Fortran. " +"Otherwise the link step will complain about a missing \"symbol\", " +"something along these lines:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:95 +msgid "" +"The file \"hello2.f90\" is almost the same as the file \"hello.f90\", " +"except that the keyword `program` has been replaced by the keyword " +"`subroutine`." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:98 +msgid "" +"The above examples of output from the compiler will differ per compiler " +"and platform on which it runs. These examples come from the gfortran " +"compiler running in a Cygwin environment on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:102 +msgid "Compilers also differ in the options they support, but in general:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:104 +msgid "" +"Options for optimising the code — resulting in faster programs or smaller" +" memory footprints;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:106 +msgid "" +"Options for checking the source code — checks that a variable is not used" +" before it has been given a value, for instance or checks if some " +"extension to the language is used;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:109 +msgid "Options for the location of include or module files, see below;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:110 +msgid "Options for debugging." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:8 +msgid "Distributing your programs" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:10 +msgid "" +"When you distribute your programs, there are a number of options you can " +"choose from:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:13 +msgid "Distribute the entire source code" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:14 +msgid "Distribute a pre-built executable program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:15 +msgid "Distribute static or dynamic libraries that people can use" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:17 +msgid "__Option 1: Distribute the entire source code__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:19 +msgid "" +"By far the simplest — for you as a programmer — is this one: you leave it" +" up to the user to build it on their own machine. Unfortunately, that " +"means you will have to have a user-friendly build system in place and the" +" user will have to have access to suitable compilers. For build systems: " +"see the previous section." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:25 +msgid "__Option 2: Distribute a pre-built executable program__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:27 +msgid "" +"A pre-built program that does not need to be customised, other than via " +"its input, will still need to come with the various run-time libraries " +"and will be specific to the operating system/environment it was built " +"for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:31 +msgid "" +"The set of run-time libraries differs per operating system and compiler " +"version. For a freely available compiler like gfortran, the easiest thing" +" is to ask the user to install that compiler on their system. In the case" +" of Windows: the Cygwin environment may be called for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:36 +msgid "" +"Alternatively, you can supply copies of the run-time libraries together " +"with your program. Put them in the directory where they can be found at " +"run-time." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:39 +msgid "" +"Note: On Windows, the Intel Fortran comes with a set of _redistributable_" +" libraries. These will need to be made available." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:42 +msgid "" +"In general: use a tool like \"ldd\" or \"dependency walker\" to find out " +"what libraries are required and consult the documentation of the " +"compiler." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:45 +msgid "" +"If your program does allow customisation, consider using dynamic " +"libraries for this. More is said about this below." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:48 +msgid "__Option 3: Distribute static or dynamic libraries that people can use__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:50 +msgid "" +"This option is a combination of the first two options. It does put some " +"burden on the user, as they must create a main program that calls your " +"routines in the proper way, but they do not need to know much about the " +"build system you used. You will have to deal with the run-time libraries," +" though." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:55 +msgid "" +"If you choose this option, besides the compiled libraries, you will also " +"need to supply the module intermediate files. These files are compiler-" +"specific, but so are the static libraries you build." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:59 +msgid "Distributing the tabulation program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:60 +msgid "" +"As shown above, the tabulation program can be built with the user-defined" +" function in a dynamic library. This enables you to:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:63 +msgid "Ship the executable (with the appropriate run-time libraries)" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:64 +msgid "Provide a skeleton version of the module, something like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:82 +msgid "Provide a basic build script with a command like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:88 +msgid "or:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:94 +msgid "" +"As said, you cannot control that the user has done the right thing — any " +"DLL \"functions.dll\" with a function `f` would be accepted, but not " +"necessarily lead to a successful run." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:98 +msgid "" +"An alternative set-up would be to change the main program into a " +"subroutine and have the function as an argument:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:120 +msgid "Then provide a skeleton main program:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:140 +msgid "" +"The advantage is that the compiler can check the interface of the " +"function that is passed and that the user has more freedom in the use of " +"the functionality provided by your library." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:8 +msgid "Include files and modules" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:10 +msgid "" +"Your program can be contained in various source files, all stored in the " +"same directory or organised in some convenient directory tree. The " +"details of the organisation depend on personal taste, arrangements made " +"by the group of developers you belong to, or simply the history of the " +"program. Whatever the directory structure is, you will encounter a " +"situation where the compiler needs assistence in order to compile a " +"particular source file:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:18 +msgid "" +"Fortran (and other languages) has the possibility to include an external " +"file. While this feature has become a bit less useful with the advent of " +"modules, it still has its uses. Quite often, such \"include files\" are " +"stored in a directory separated from the directories containing the " +"source files, because they are used in several locations. Quite often the" +" name of that directory is \"include\"." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:24 +msgid "" +"As we have seen, compiling source code that defines one or more modules, " +"leads to the compiler generating so-called \"module intermediate files\" " +"(with the extension \".mod\"). The compiler needs access to these files " +"to be able to read the interfaces and variables and what not, and based " +"on this information, actually compile the source code that uses the " +"various modules." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:30 +msgid "" +"Compilers support options like `-I` to indicate where these include files" +" and module intermediate files are to be found. Suppose we store the two " +"files of our `tabulate` program in the following directory structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:43 +msgid "Compiling the file \"functions.f90\" with the commands" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:50 +msgid "leads to this structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:62 +msgid "" +"To successfully compile and subsequently build the program we need to " +"tell the compiler where it can find the file \"user\\_functions.mod\":" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:71 +msgid "The result:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:85 +msgid "Notes:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:87 +msgid "" +"The details differ per compiler. Sometimes the `-I` option should be " +"followed by a space and then the name of the directory, sometimes the " +"directory should come consecutively." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:90 +msgid "" +"By default the module intermediate files (.mod) are put in the same " +"directory as the object files. When your program code is organised in " +"different subdirectories, they will get scattered over the directory " +"tree, complicating the compilation process. Luckily, many compilers allow" +" you to specify the output location for these files. For gfortran this is" +" `-J`, for instance: `-J../include` (so that the .mod files could all " +"appear in the same directory)" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:98 +msgid "" +"For large programs, consisting of many source files, it is important to " +"think through what organisation to use." +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "build tools" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "include files" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "managing libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "compiling source" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "project make" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "distributing" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "linking pieces" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "runtime libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:9 +msgid "Building programs" +msgstr "" + +#: ../../source/learn/building_programs/index.md:11 +msgid "" +"Languages like Fortran, C, C++ and Java, to name but a few, share certain" +" characteristics: you write code in your language of choice but then you " +"have to build an executable program from that source code. Other " +"languages are interpreted — the source code is analysed by a special " +"program and taken as direct instructions. Two very simple examples of " +"that type of language: Windows batch files and Linux shell scripts." +msgstr "" + +#: ../../source/learn/building_programs/index.md:19 +msgid "" +"In this tutorial we concentrate on the first type of languages, with " +"Fortran as the main example. One advantage of compiled languages is that " +"the build process that you need to build an executable program, is used " +"to transform the human-readable source code into an efficient program " +"that can be run on the computer." +msgstr "" + +#: ../../source/learn/building_programs/index.md:25 +msgid "" +"Remark: this tutorial gives examples for the Windows and Linux operating " +"systems, however the workflow and general principles still apply to " +"macOS." +msgstr "" + +#: ../../source/learn/building_programs/index.md:28 +msgid "Compiled languages" +msgstr "" + +#: ../../source/learn/building_programs/index.md:30 +msgid "Let us have a look at a simple example:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:38 +msgid "" +"This is just about the simplest program you can write in Fortran and it " +"is certainly a variation on one of the most famous programs. Even though " +"it is simple to express in source code, a lot of things actually happen " +"when the executable that is built from this code runs:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:43 +msgid "" +"A process is started on the computer in such a way that it can write to " +"the console — the window (DOS-box, xterm, ...) at which you type the " +"program's name." +msgstr "" + +#: ../../source/learn/building_programs/index.md:46 +msgid "" +"It writes the text \"Hello!\" to the console. To do so it must properly " +"interact with the console." +msgstr "" + +#: ../../source/learn/building_programs/index.md:48 +msgid "" +"When done, it finishes, cleaning up all the resources (memory, connection" +" to the console etc.) it took." +msgstr "" + +#: ../../source/learn/building_programs/index.md:51 +msgid "" +"Fortunately, as a programmer in a high-level language you do not need to " +"consider all these details. In fact, this is the sort of things that is " +"taken care of by the build process: the compiler and the linker." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:8 +msgid "Linking the objects" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:10 +msgid "" +"Almost all programs, except for the simplest, are built up from different" +" pieces. We are going to examine such a situation in more detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:14 +msgid "" +"Here is a general program for tabulating a function (source code in " +"\"tabulate.f90\"):" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:35 +msgid "Note the `use` statement — this will be where we define the function `f`." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:37 +msgid "" +"We want to make the program general, so keep the specific source code — " +"the implementation of the function `f` — separated from the general " +"source code. There are several ways to achieve this, but one is to put it" +" in a different source file. We can give the general program to a user " +"and they provide a specific source code." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:43 +msgid "" +"Assume for the sake of the example that the function is implemented in a " +"source file \"function.f90\" as:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:59 +msgid "" +"To build the program with this specific function, we need to compile two " +"source files and combine them via the link step into one executable " +"program. Because the program \"tabulate\" depends on the module " +"\"function\", we need to compile the source file containing our module " +"first. A sequence of commands to do this is:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:70 +msgid "" +"The first step compiles the module, resulting in an object file " +"\"functions.o\" and a module intermediate file, \"user\\_functions.mod\"." +" This module file contains all the information the compiler needs to " +"determine that the function `f` is defined in this module and what its " +"interface is. This information is important: it enables the compiler to " +"check that you call the function in the right way. It might be that you " +"made a mistake and called the function with two arguments instead of one." +" If the compiler does not know anything about the function's interface, " +"then it cannot check anything." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:80 +msgid "The second step invokes the compiler in such a way that:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:82 +msgid "it compiles the file \"tabulate.f90\" (using the module file);" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:83 +msgid "" +"it invokes the linker to combine the object files tabulate.o and " +"functions.o into an executable program — with the default name \"a.out\" " +"or \"a.exe\" (if you want a different name, use the option \"-o\")." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:87 +msgid "" +"What you do not see in general is that the linker also adds a number of " +"extra files in this link step, the run-time libraries. These run-time " +"libraries contain all the \"standard\" stuff — low-level routines that do" +" the input and output to screen, the `sin` function and much more." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:92 +msgid "" +"If you want to see the gory details, add the option \"-v\". This " +"instructs the compiler to report all the steps that are in detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:95 +msgid "" +"The end result, the executable program, contains the compiled source code" +" and various auxiliary routines that make it work. It also contains " +"references to so-called dynamic run-time libraries (in Windows: DLLs, in " +"Linux: shared objects or shared libraries). Without these run-time " +"libraries the program will not start." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:8 +msgid "Managing libraries (static and dynamic libraries)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:10 +msgid "" +"If you need to manage a program built of dozens of source files (and that" +" is not uncommon!), the command-line needed to specify all the object " +"files will be very long indeed. This soon becomes tedious or even " +"impossible to maintain. So a different solution is called for: create " +"your own libraries." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:16 +msgid "" +"Libraries contain any number of object files in a compact form, so that " +"the command-line becomes far shorter:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:23 +msgid "" +"where \"supportlib.a\" is a collection of one, two or many object files, " +"all compiled and then put into a library. The extension \".a\" is used by" +" Linux and Linux-like platforms. On Windows the extension \".lib\" is " +"used." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:27 +msgid "" +"Creating your own libraries is not that complicated: on Linux, you can " +"achieve this using a utility like `ar`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:37 +msgid "or on Windows using the `lib` utility:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:46 +msgid "Note:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:48 +msgid "" +"The command `ar` with the option `r` either creates the library (the name" +" appears after the option) or adds new object files to the library (or " +"replaces any existing ones)." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:51 +msgid "" +"The command `lib` will create a new library if you use specify the option" +" `/out:` with the name of the new library next to it. To add object files" +" to an existing library, leave out the `/out:` bit." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:54 +msgid "" +"On platforms like Linux there is a particular convention to name " +"libraries. If you name your library like \"libname.a\" (note the \"lib\" " +"prefix), then you can refer to it as `-lname` in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:57 +msgid "" +"Libraries are often sought in directories indicated by an option `-L` or " +"`/LIBPATH`. This saves you from having to specify the exact path for " +"every library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:61 +msgid "" +"Using libraries you can build very large programs without having to " +"resort to extremely long command lines." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:65 +msgid "Static versus dynamic libraries" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:67 +msgid "" +"The above discussion is tacitly assuming that you are using the so-called" +" static libraries. Static libraries (or at least parts of their contents)" +" become an integral part of the executable program. The only way to " +"change the routines incorporated in the program is by rebuilding the " +"program with a new version of the library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:73 +msgid "" +"A flexible alternative is to use the so-called dynamic libraries. These " +"libraries remain outside the executable program and as a consequence can " +"be replaced without rebulding the entire program. Compilers and indeed " +"the operating system itself rely heavily on such dynamic libraries. You " +"could consider dynamic libraries as a sort of executable programs that " +"need a bit of help to be run." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:80 +msgid "" +"Building dynamic libraries works slightly differently from building " +"static libraries: you use the compiler/linker instead of a tool like `ar`" +" or `lib`." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:84 +msgid "On Linux:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:92 +msgid "On Windows, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:100 +msgid "The differences are that:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:102 +msgid "" +"You need to specify a compile option on Linux, for gfortran that is " +"`-fpic`, because the object code is slightly different." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:104 +msgid "" +"You need to tell in the link step that you want a dynamic library (on " +"Linux: a shared object/library, hence the extension \".so\"; on Windows: " +"a dynamic link library)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:108 +msgid "" +"There is one more thing to be aware of: On Windows you must explicitly " +"specify that a procedure is to be _exported_, i.e. is visible in the " +"dynamic library. There are several ways — depending on the compiler you " +"use — to achieve this. One method is via a so-called compiler directive:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:119 +msgid "Or, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:126 +msgid "" +"Besides a dynamic library (DLL), a so-called import library may be " +"generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:129 +msgid "" +"Because the details differ per compiler, here are two examples: gfortran " +"on Cygwin and Intel Fortran on Windows. In both cases we look at the " +"`tabulate` program in the file \"tabulate.f90\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:133 +msgid "GNU/Linux and gfortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:134 +msgid "" +"The `tabulate` program requires a user-defined routine `f`. If we let it " +"reside in a dynamic library, say \"functions.dll\", we can simply replace" +" the implementation of the function by putting another dynamic library in" +" the directory. No need to rebuild the program as such." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:139 +msgid "" +"On Cygwin it is not necessary to explicitly export a procedure — all " +"publically visible routines are exported when you build a dynamic " +"library. Also, no import library is generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:143 +msgid "" +"Since our dynamic library can be built from a single source file, we can " +"take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:150 +msgid "" +"This produces the files \"functions.dll\" and \"user\\_functions.mod\". " +"The utility `nm` tells us the exact name of the function `f`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:165 +msgid "" +"It has received a prefix `__function_MOD_` to distinguish it from any " +"other routine \"f\" that might be defined in another module." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:168 +msgid "The next step is to build the program:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:174 +msgid "" +"The DLL and the .mod file are used to build the executable program with " +"checks on the function's interface, the right name and the reference to " +"\"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:178 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, " +"implementing a different function \"f\". Of course, you need to be " +"careful to use the correct interface for this function. The " +"compiler/linker are not invoked anymore, so they can do no checking." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:183 +msgid "Windows and Intel Fortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:184 +msgid "" +"The setup is the same as with Linux, but on Windows it is necessary to " +"explicitly export the routines. And an import library is generated — this" +" is the library that should be used in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:188 +msgid "" +"The source file must contain the compiler directive, otherwise the " +"function `f` is not exported:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:196 +msgid "Again we take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:202 +msgid "" +"This produces the files \"functions.dll\", \"user\\_functions.mod\" as " +"well as \"functions.lib\" (and two other files of no importance here). " +"The \"dependency walker\" program tells us that the exact name of the " +"function \"f\" is `FUNCTION_mp_F`. It is also exported, so that it can be" +" found by the linker in the next step:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:211 +msgid "Note that we need to specify the name of the export library, not the DLL!" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:213 +msgid "" +"(Note also: the Intel Fortran compiler uses the name of the first source " +"file as the name for the executable — here we do without the `-exe` " +"option.)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:216 +msgid "" +"Just as under Cygwin, the DLL and the .mod file are used to build the " +"executable program with checks on the function's interface, the right " +"name and the reference to \"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:220 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, but " +"the same caution is required: while the implementation can be quite " +"different, the function's interface must be the same." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:8 +msgid "An introduction to make" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:10 +msgid "" +"We briefly discussed the basics of ``make``. This chapter gives ideas and" +" strategies to scale ``make`` for larger projects." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:13 +msgid "Before going into detail with ``make``, consider a few points:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:14 +msgid "" +"``make`` is a Unix tool and might give you a hard time when porting to " +"non-Unix platforms. That said, there are also different flavors of " +"``make`` available, not all might support the features you want to use." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:17 +msgid "" +"While ``make`` gives you full control over the build process, it also " +"means you are responsible for the entire build process, and you have to " +"specify the rules for every detail of your project. You might find " +"yourself spending a significant amount of time writing and maintaining " +"your ``Makefile`` instead of developing your source code." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:21 +msgid "" +"You can work with your ``Makefile``, but think about other developers on " +"your project who may not be familiar with ``make``. How much time do you " +"expect them to spend learning your ``Makefile`` and would they be able to" +" debug or add features?" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:24 +msgid "" +"Pure ``make`` will not scale. You will soon add auxiliary programs to " +"dynamically or statically generate your ``Makefile``. Those introduce " +"dependencies and possible sources of errors. The effort needed to test " +"and document those tools should not be underestimated." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:29 +msgid "" +"If you think ``make`` is suitable for your needs, than you can start " +"writing your ``Makefile``. For this course we will use real world " +"examples from the package index, which (at the time of writing) use build" +" systems other than ``make``. This guide should present a general " +"recommended style to write ``make``, but also serve as demonstration of " +"useful and interesting features." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:36 +msgid "" +"Even if you find ``make`` unsuitable to build your project, it is *the* " +"tool to automate workflows defined by files. Maybe you can leverage its " +"power in a different context." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:39 +msgid "Getting started" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:41 +msgid "" +"For this part we will work with the Fortran CSV module (v1.2.0). " +"Our goal is to write a ``Makefile`` to compile this project to a static " +"library. Start by cloning the repository" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:52 +msgid "" +"For this part we will work with the code from tag ``1.2.0``, to make it " +"as reproducible as possible. Feel free to use the latest version or " +"another project instead." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:55 +msgid "" +"This project uses FoBiS as build system, and you can check the " +"``build.sh`` for options used with FoBiS. We are about to write a " +"``Makefile`` for this project. First, we check the directory structure " +"and the source files" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:77 +msgid "" +"We find seven different Fortran source files; the four in ``src`` should " +"be compiled and added to a static library while the three in " +"``src/tests`` contain individual programs that depend on this static " +"library." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:81 +msgid "Start by creating a simple ``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:147 +msgid "" +"Invoking ``make`` should build the static library and the test " +"executables as expected:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:162 +msgid "" +"There are a few things to note there, a ``make`` build usually interlaces" +" the build artifacts and the source code, unless you put extra effort " +"into implementing a build directory. Also, right now the the source files" +" and dependencies are specified explicitly, which results in several " +"additional lines even for such a simple project." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:169 +msgid "Automatically generated dependencies" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:171 +msgid "" +"The main drawback of ``make`` for Fortran is the missing capability to " +"determine module dependencies. This is usually solved by either adding " +"those by hand or automatically scanning the source code with an external " +"tool. Some compilers (like the Intel Fortran compiler) also offer to " +"generate dependencies in ``make`` format." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:176 +msgid "" +"Before diving into the dependency generation, we will outline the concept" +" of a robust take on the dependency problem. First, we want an approach " +"that can process all source files independently, while each source file " +"provides (``module``) or requires (``use``) modules. When generating the " +"dependencies only the name of the source file and the module files are " +"known, and no information on the object file names should be required." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:184 +msgid "" +"If you check the dependency section above you will note that all " +"dependencies are defined between object files rather than source files. " +"To change this, we can generate a map from the source files their " +"respective object files:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:194 +msgid "" +"Note the declaration of ``obj`` as recursively expanded variable, we " +"effectively use this mechanism to define a function in ``make``. The " +"``foreach`` function allows us to loop over all source files, while the " +"``eval`` function allows us to generate ``make`` statements and evaluate " +"them for this ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:199 +msgid "" +"We adjust the dependencies accordingly as we can now define the name of " +"the object files through the source file names:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:219 +msgid "" +"The same strategy of creating a map is already used for the module files," +" now it is just expanded to the object files as well." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:222 +msgid "" +"To generate the respective dependency map automatically we will use an " +"``awk`` script here" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:284 +msgid "" +"This script makes a few assumptions about the source code it parses, so " +"it will not work with all Fortran code (namely submodules are not " +"supported), but for this example it will suffice." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:289 +msgid "Using awk" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:291 +msgid "" +"The above script uses the ``awk`` language, which is designed for the " +"purpose of text stream processing and uses a C-like syntax. In ``awk`` " +"you can define groups which are evaluated on certain events, *e.g.* when " +"a line matches a specific pattern, usually expressed by a regular expression." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:297 +msgid "" +"This ``awk`` script defines five groups, two of them use the special " +"pattern ``BEGIN`` and ``END`` which are run before the script starts and " +"after the script finishes, respectively. Before the script starts we make" +" the script case-insensitive since we are dealing with Fortran source " +"code here. We also use the special variable ``FILENAME`` to determine " +"which file we are currently parsing and to allow processing multiple " +"files at once." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:305 +msgid "" +"With the three patterns defined we are looking for ``module``, ``use`` " +"and ``include`` statements as the first space delimited entry. With the " +"used pattern not all valid Fortran code will be parsed correctly. A " +"failing example would be:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:314 +msgid "" +"To make this parsable by the ``awk`` script we can add another group " +"directly after the ``BEGIN`` group, modifying the stream while processing" +" it with" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:323 +msgid "" +"In theory you would need a full Fortran parser to deal with continuation " +"lines and other difficulties. This might be possible to implement in " +"``awk`` but would require a huge script in the end." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:327 +msgid "" +"Also, keep in mind that generating the dependencies should be fast, an " +"expensive parser can produce a significant overhead when generating " +"dependencies for a large code base. Making reasonable assumptions can " +"simplify and speed up this step, but also introduces an error source in " +"your build tools." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:334 +msgid "" +"Make the script executable (``chmod +x gen-deps.awk``) and test it with " +"``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output " +"like this:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:356 +msgid "" +"Note that the scripts output will use recursively expanded variables and " +"not define any dependencies yet, because out-of-order declaration of " +"variables might be necessary and we do not want to create any target by " +"accident. You can verify that the same information as in the above " +"handwritten snippet is present. The only exception is the additional " +"dependency on the ``iso_fortran_env.mod``, since it is an undefined " +"variable it will just expand to an empty string and not introduce any " +"further dependencies." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:364 +msgid "" +"Now, you can finally include this piece in your ``Makefile`` to automate " +"the dependency generation:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:431 +msgid "" +"Here additional dependency files are generated for each source file " +"individually and than included into the main ``Makefile``. Also, the " +"dependency files are added as dependency to the object files to ensure " +"they are generated before the object is compiled. The pipe character in " +"the dependencies defines an order of the rules without a timestamp " +"dependency, because it is not necessary to recompile an object file in " +"case dependencies are regenerated and potentially unchanged." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:439 +msgid "" +"Again, we make use of the ``eval`` function to generate the dependencies " +"in a ``foreach`` loop over all object files. Note that we created a map " +"between the object files in the dependency files, expanding ``dep`` once " +"yields the object file name, expanding it again yields the object files " +"it depends on." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:444 +msgid "Building your project with ``make`` should give an output similar to" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:465 +msgid "" +"Once the dependency files are generated, ``make`` will only update them " +"if the source changes and not require to rebuild them again for every " +"invocation." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:469 +msgid "" +"With correct dependencies you can leverage parallel execution of your " +"``Makefile``, just use the ``-j`` flag to create multiple ``make`` " +"processes." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:472 +msgid "" +"Since dependencies can now be generated automatically, there is no need " +"to specify the source files explicitly, the ``wildcard`` function can be " +"used to determine them dynamically:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:8 +msgid "Run-time libraries" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:10 +msgid "" +"To illustrate that even a simple program depends on external run-time " +"libraries, here is the output from the `ldd` utility that reports such " +"dependencies:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:25 +msgid "" +"Other compilers or other versions of the same compiler will probably " +"require different dynamic libraries. As long as you run the program on " +"the same computer — or, more accurately, within the same environment — " +"there should be no problem. However, when such a library cannot be found," +" you will get (hopefully) an error message and the program stops " +"immediately." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:32 +msgid "" +"Therefore it is good to know what libraries are required. On Linux and " +"Linux-like environments, the `ldd` utility is a great help. On Windows, " +"you may want to use the `dependency walker` (the latest version, which " +"works very nicely with Windows 10, is found here: " +")" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:37 +msgid "" +"Another thing you should know is where the program tries to find these " +"libraries. That is a vast subject in its own right and full of " +"complications and history. Here we merely scratch the surface:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:41 +msgid "_On Linux:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:43 +msgid "" +"The environment variable `LD_LIBRARY_PATH` is used. It consists of a list" +" of directories to be searched, each directory separated via colons (:) " +"from the others. For instance: `/usr/lib:/usr/local/lib` — typical system" +" directories." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:47 +msgid "" +"At the link step you can also use an option to set `RPATH`, a list of " +"directories that is put into the executable file itself." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:49 +msgid "Then there are several system directories that are searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:51 +msgid "_On Windows:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:53 +msgid "" +"The directory containing the executable program may also contain dynamic " +"libraries." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:55 +msgid "" +"The environment variable \"PATH\" is used. Again a list of directories to" +" be searched, but now the separating character is the semicolon (;)." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:57 +msgid "A set of system directories is searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:59 +msgid "" +"Unfortunately, the details can change from one version of the operating " +"system to the next. The above is merely an indication — use tools like " +"\"ldd\" or \"dependency walker\" to find out what libraries are loaded " +"and where they are found." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:64 +msgid "" +"If you want to share your program with colleagues or clients or simply " +"users all over the world, you will have to take care that, besides the " +"program, you also distribute the libraries it depends on. For more " +"information: see below." +msgstr "" + +#: ../../source/learn/intrinsics/ARRAY_index.md:1 +#: ../../source/learn/intrinsics/index.md:15 +msgid "Properties and attributes of arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:2 +msgid "merge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:3 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/ACOS.md:3 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:3 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:3 +#: ../../source/learn/intrinsics/_pages/AINT.md:3 +#: ../../source/learn/intrinsics/_pages/ANINT.md:3 +#: ../../source/learn/intrinsics/_pages/ASIN.md:3 +#: ../../source/learn/intrinsics/_pages/ASINH.md:3 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:3 +#: ../../source/learn/intrinsics/_pages/ATANH.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:3 +#: ../../source/learn/intrinsics/_pages/BGE.md:3 +#: ../../source/learn/intrinsics/_pages/BGT.md:3 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/BLE.md:3 +#: ../../source/learn/intrinsics/_pages/BLT.md:3 +#: ../../source/learn/intrinsics/_pages/BTEST.md:3 +#: ../../source/learn/intrinsics/_pages/CEILING.md:3 +#: ../../source/learn/intrinsics/_pages/CHAR.md:3 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:3 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:3 +#: ../../source/learn/intrinsics/_pages/CONJG.md:3 +#: ../../source/learn/intrinsics/_pages/COS.md:3 +#: ../../source/learn/intrinsics/_pages/COSH.md:3 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:3 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:3 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:3 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:3 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:3 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/DBLE.md:3 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:3 +#: ../../source/learn/intrinsics/_pages/DIM.md:3 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:3 +#: ../../source/learn/intrinsics/_pages/DPROD.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:3 +#: ../../source/learn/intrinsics/_pages/ERF.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:3 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:3 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/EXP.md:3 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:3 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:3 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:3 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:3 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:3 +#: ../../source/learn/intrinsics/_pages/HUGE.md:3 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:3 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IALL.md:3 +#: ../../source/learn/intrinsics/_pages/IAND.md:3 +#: ../../source/learn/intrinsics/_pages/IANY.md:3 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:3 +#: ../../source/learn/intrinsics/_pages/IBITS.md:3 +#: ../../source/learn/intrinsics/_pages/IBSET.md:3 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IEOR.md:3 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INT.md:3 +#: ../../source/learn/intrinsics/_pages/IOR.md:3 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:3 +#: ../../source/learn/intrinsics/_pages/KIND.md:3 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:3 +#: ../../source/learn/intrinsics/_pages/LEN.md:3 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/LGE.md:3 +#: ../../source/learn/intrinsics/_pages/LGT.md:3 +#: ../../source/learn/intrinsics/_pages/LLE.md:3 +#: ../../source/learn/intrinsics/_pages/LLT.md:3 +#: ../../source/learn/intrinsics/_pages/LOG.md:3 +#: ../../source/learn/intrinsics/_pages/LOG10.md:3 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:3 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/MASKL.md:3 +#: ../../source/learn/intrinsics/_pages/MASKR.md:3 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:3 +#: ../../source/learn/intrinsics/_pages/MAX.md:3 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:3 +#: ../../source/learn/intrinsics/_pages/MIN.md:3 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MOD.md:3 +#: ../../source/learn/intrinsics/_pages/MODULO.md:3 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:3 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:3 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:3 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/NINT.md:3 +#: ../../source/learn/intrinsics/_pages/NORM2.md:3 +#: ../../source/learn/intrinsics/_pages/NOT.md:3 +#: ../../source/learn/intrinsics/_pages/NULL.md:3 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:3 +#: ../../source/learn/intrinsics/_pages/PACK.md:3 +#: ../../source/learn/intrinsics/_pages/PARITY.md:3 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:3 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:3 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:3 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:3 +#: ../../source/learn/intrinsics/_pages/RADIX.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:3 +#: ../../source/learn/intrinsics/_pages/RANGE.md:3 +#: ../../source/learn/intrinsics/_pages/REAL.md:3 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:3 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:3 +#: ../../source/learn/intrinsics/_pages/SCALE.md:3 +#: ../../source/learn/intrinsics/_pages/SCAN.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/SIGN.md:3 +#: ../../source/learn/intrinsics/_pages/SIN.md:3 +#: ../../source/learn/intrinsics/_pages/SINH.md:3 +#: ../../source/learn/intrinsics/_pages/SPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:3 +#: ../../source/learn/intrinsics/_pages/SQRT.md:3 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:3 +#: ../../source/learn/intrinsics/_pages/TAN.md:3 +#: ../../source/learn/intrinsics/_pages/TANH.md:3 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:3 +#: ../../source/learn/intrinsics/_pages/TINY.md:3 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:3 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:3 +#: ../../source/learn/intrinsics/_pages/TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:3 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:3 +msgid "__Name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:5 +msgid "__merge__(3) - \\[ARRAY CONSTRUCTION\\] Merge variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:7 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:7 +#: ../../source/learn/intrinsics/_pages/ACOS.md:6 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:7 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:8 +#: ../../source/learn/intrinsics/_pages/AINT.md:8 +#: ../../source/learn/intrinsics/_pages/ANINT.md:8 +#: ../../source/learn/intrinsics/_pages/ASIN.md:7 +#: ../../source/learn/intrinsics/_pages/ASINH.md:8 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/ATAN.md:7 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:7 +#: ../../source/learn/intrinsics/_pages/ATANH.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:7 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:8 +#: ../../source/learn/intrinsics/_pages/BGE.md:8 +#: ../../source/learn/intrinsics/_pages/BGT.md:8 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:7 +#: ../../source/learn/intrinsics/_pages/BLE.md:8 +#: ../../source/learn/intrinsics/_pages/BLT.md:8 +#: ../../source/learn/intrinsics/_pages/BTEST.md:7 +#: ../../source/learn/intrinsics/_pages/CEILING.md:8 +#: ../../source/learn/intrinsics/_pages/CHAR.md:8 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:8 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:7 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:8 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:8 +#: ../../source/learn/intrinsics/_pages/CONJG.md:7 +#: ../../source/learn/intrinsics/_pages/COS.md:7 +#: ../../source/learn/intrinsics/_pages/COSH.md:8 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:8 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:8 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:8 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:8 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:8 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/DBLE.md:8 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:7 +#: ../../source/learn/intrinsics/_pages/DIM.md:8 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:8 +#: ../../source/learn/intrinsics/_pages/DPROD.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:7 +#: ../../source/learn/intrinsics/_pages/ERF.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:8 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:8 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:8 +#: ../../source/learn/intrinsics/_pages/EXP.md:7 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:8 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:7 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:8 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:7 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:7 +#: ../../source/learn/intrinsics/_pages/HUGE.md:7 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:7 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IALL.md:8 +#: ../../source/learn/intrinsics/_pages/IAND.md:8 +#: ../../source/learn/intrinsics/_pages/IANY.md:8 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:8 +#: ../../source/learn/intrinsics/_pages/IBITS.md:8 +#: ../../source/learn/intrinsics/_pages/IBSET.md:8 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IEOR.md:8 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INT.md:6 +#: ../../source/learn/intrinsics/_pages/IOR.md:8 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:8 +#: ../../source/learn/intrinsics/_pages/KIND.md:8 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:8 +#: ../../source/learn/intrinsics/_pages/LEN.md:7 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:7 +#: ../../source/learn/intrinsics/_pages/LGE.md:8 +#: ../../source/learn/intrinsics/_pages/LGT.md:8 +#: ../../source/learn/intrinsics/_pages/LLE.md:8 +#: ../../source/learn/intrinsics/_pages/LLT.md:8 +#: ../../source/learn/intrinsics/_pages/LOG.md:8 +#: ../../source/learn/intrinsics/_pages/LOG10.md:7 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:8 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:8 +#: ../../source/learn/intrinsics/_pages/MASKL.md:7 +#: ../../source/learn/intrinsics/_pages/MASKR.md:7 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:8 +#: ../../source/learn/intrinsics/_pages/MAX.md:7 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MERGE.md:7 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:7 +#: ../../source/learn/intrinsics/_pages/MIN.md:8 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MOD.md:8 +#: ../../source/learn/intrinsics/_pages/MODULO.md:8 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:8 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:8 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:8 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:7 +#: ../../source/learn/intrinsics/_pages/NINT.md:7 +#: ../../source/learn/intrinsics/_pages/NORM2.md:8 +#: ../../source/learn/intrinsics/_pages/NOT.md:6 +#: ../../source/learn/intrinsics/_pages/NULL.md:8 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:8 +#: ../../source/learn/intrinsics/_pages/PACK.md:7 +#: ../../source/learn/intrinsics/_pages/PARITY.md:8 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:8 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:8 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:8 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:8 +#: ../../source/learn/intrinsics/_pages/RADIX.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:8 +#: ../../source/learn/intrinsics/_pages/RANGE.md:8 +#: ../../source/learn/intrinsics/_pages/REAL.md:7 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:8 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:8 +#: ../../source/learn/intrinsics/_pages/SCALE.md:8 +#: ../../source/learn/intrinsics/_pages/SCAN.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/SIGN.md:8 +#: ../../source/learn/intrinsics/_pages/SIN.md:7 +#: ../../source/learn/intrinsics/_pages/SINH.md:7 +#: ../../source/learn/intrinsics/_pages/SPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:8 +#: ../../source/learn/intrinsics/_pages/SQRT.md:7 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:8 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:8 +#: ../../source/learn/intrinsics/_pages/TAN.md:8 +#: ../../source/learn/intrinsics/_pages/TANH.md:8 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:8 +#: ../../source/learn/intrinsics/_pages/TINY.md:8 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:7 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:8 +#: ../../source/learn/intrinsics/_pages/TRIM.md:8 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:8 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:7 +msgid "__Syntax__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:23 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:18 +#: ../../source/learn/intrinsics/_pages/ACOS.md:17 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:18 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:15 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:15 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:16 +#: ../../source/learn/intrinsics/_pages/AINT.md:25 +#: ../../source/learn/intrinsics/_pages/ANINT.md:12 +#: ../../source/learn/intrinsics/_pages/ASIN.md:17 +#: ../../source/learn/intrinsics/_pages/ASINH.md:18 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/ATAN.md:18 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:11 +#: ../../source/learn/intrinsics/_pages/ATANH.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:11 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:17 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:14 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:14 +#: ../../source/learn/intrinsics/_pages/BGE.md:12 +#: ../../source/learn/intrinsics/_pages/BGT.md:12 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:14 +#: ../../source/learn/intrinsics/_pages/BLE.md:12 +#: ../../source/learn/intrinsics/_pages/BLT.md:12 +#: ../../source/learn/intrinsics/_pages/BTEST.md:17 +#: ../../source/learn/intrinsics/_pages/CEILING.md:16 +#: ../../source/learn/intrinsics/_pages/CHAR.md:16 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:17 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:14 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:12 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:14 +#: ../../source/learn/intrinsics/_pages/CONJG.md:16 +#: ../../source/learn/intrinsics/_pages/COS.md:17 +#: ../../source/learn/intrinsics/_pages/COSH.md:19 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:12 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:12 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:12 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:12 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:12 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:12 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:16 +#: ../../source/learn/intrinsics/_pages/DBLE.md:18 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:17 +#: ../../source/learn/intrinsics/_pages/DIM.md:17 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:12 +#: ../../source/learn/intrinsics/_pages/DPROD.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:11 +#: ../../source/learn/intrinsics/_pages/ERF.md:12 +#: ../../source/learn/intrinsics/_pages/ERFC.md:16 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:12 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:12 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:18 +#: ../../source/learn/intrinsics/_pages/EXP.md:11 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:12 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:17 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:12 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:11 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:16 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:17 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:17 +#: ../../source/learn/intrinsics/_pages/HUGE.md:18 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:16 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:12 +#: ../../source/learn/intrinsics/_pages/IALL.md:16 +#: ../../source/learn/intrinsics/_pages/IAND.md:12 +#: ../../source/learn/intrinsics/_pages/IANY.md:16 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:12 +#: ../../source/learn/intrinsics/_pages/IBITS.md:12 +#: ../../source/learn/intrinsics/_pages/IBSET.md:12 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:15 +#: ../../source/learn/intrinsics/_pages/IEOR.md:12 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:12 +#: ../../source/learn/intrinsics/_pages/INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/INT.md:14 +#: ../../source/learn/intrinsics/_pages/IOR.md:14 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:16 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:12 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:12 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:15 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:12 +#: ../../source/learn/intrinsics/_pages/KIND.md:12 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:12 +#: ../../source/learn/intrinsics/_pages/LEN.md:19 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/LGE.md:12 +#: ../../source/learn/intrinsics/_pages/LGT.md:12 +#: ../../source/learn/intrinsics/_pages/LLE.md:18 +#: ../../source/learn/intrinsics/_pages/LLT.md:12 +#: ../../source/learn/intrinsics/_pages/LOG.md:12 +#: ../../source/learn/intrinsics/_pages/LOG10.md:14 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:16 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:12 +#: ../../source/learn/intrinsics/_pages/MASKL.md:14 +#: ../../source/learn/intrinsics/_pages/MASKR.md:14 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:12 +#: ../../source/learn/intrinsics/_pages/MAX.md:11 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MERGE.md:11 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:19 +#: ../../source/learn/intrinsics/_pages/MIN.md:12 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MOD.md:12 +#: ../../source/learn/intrinsics/_pages/MODULO.md:12 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:12 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:12 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:12 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:14 +#: ../../source/learn/intrinsics/_pages/NINT.md:13 +#: ../../source/learn/intrinsics/_pages/NORM2.md:17 +#: ../../source/learn/intrinsics/_pages/NOT.md:10 +#: ../../source/learn/intrinsics/_pages/NULL.md:13 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:12 +#: ../../source/learn/intrinsics/_pages/PACK.md:20 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:12 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:12 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:12 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:15 +#: ../../source/learn/intrinsics/_pages/RADIX.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:12 +#: ../../source/learn/intrinsics/_pages/RANGE.md:18 +#: ../../source/learn/intrinsics/_pages/REAL.md:11 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:16 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:12 +#: ../../source/learn/intrinsics/_pages/SCALE.md:15 +#: ../../source/learn/intrinsics/_pages/SCAN.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/SIN.md:17 +#: ../../source/learn/intrinsics/_pages/SINH.md:17 +#: ../../source/learn/intrinsics/_pages/SPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:18 +#: ../../source/learn/intrinsics/_pages/SQRT.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:12 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:18 +#: ../../source/learn/intrinsics/_pages/TAN.md:12 +#: ../../source/learn/intrinsics/_pages/TANH.md:12 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:13 +#: ../../source/learn/intrinsics/_pages/TINY.md:16 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:12 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:12 +#: ../../source/learn/intrinsics/_pages/TRIM.md:12 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:12 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:18 +msgid "__Description__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:13 +msgid "" +"The elemental function __merge__(3) selects values from two arrays or " +"scalars according to a logical mask. The result is equal to an element of" +" __tsource__ where the corresponding element of __mask__ is __.true.__, " +"or an element of __fsource__ when it is .false. ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:18 +msgid "Multi-dimensional arrays are supported." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:20 +msgid "" +"Note that argument expressions to __merge__(3) are not required to be " +"short-circuited so (as an example) if the array __x__ contains zero " +"values in the statement below the standard does not prevent floating " +"point divide by zero being generated; as __1.0/x__ may be evaluated for " +"all values of __x__ before the mask is used to select which value to " +"retain:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:30 +msgid "" +"Note the compiler is also free to short-circuit or to generate an " +"infinity so this may work in many programming environments but is not " +"recommended." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:34 +msgid "" +"For cases like this one may instead use masked assignment via the " +"__where__ construct:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:45 +msgid "instead of the more obscure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:34 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/ACOS.md:21 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:20 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:21 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:20 +#: ../../source/learn/intrinsics/_pages/AINT.md:29 +#: ../../source/learn/intrinsics/_pages/ANINT.md:16 +#: ../../source/learn/intrinsics/_pages/ASIN.md:25 +#: ../../source/learn/intrinsics/_pages/ASINH.md:22 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:17 +#: ../../source/learn/intrinsics/_pages/ATAN.md:22 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:23 +#: ../../source/learn/intrinsics/_pages/ATANH.md:16 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:21 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:23 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:23 +#: ../../source/learn/intrinsics/_pages/BGE.md:17 +#: ../../source/learn/intrinsics/_pages/BGT.md:16 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:22 +#: ../../source/learn/intrinsics/_pages/BLE.md:16 +#: ../../source/learn/intrinsics/_pages/BLT.md:16 +#: ../../source/learn/intrinsics/_pages/BTEST.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:20 +#: ../../source/learn/intrinsics/_pages/CHAR.md:20 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:101 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:19 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:16 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:19 +#: ../../source/learn/intrinsics/_pages/CONJG.md:30 +#: ../../source/learn/intrinsics/_pages/COS.md:25 +#: ../../source/learn/intrinsics/_pages/COSH.md:23 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:21 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:23 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:27 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:23 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:18 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:17 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:23 +#: ../../source/learn/intrinsics/_pages/DBLE.md:22 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:24 +#: ../../source/learn/intrinsics/_pages/DIM.md:22 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:18 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:18 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:30 +#: ../../source/learn/intrinsics/_pages/ERF.md:19 +#: ../../source/learn/intrinsics/_pages/ERFC.md:35 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:22 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:20 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/EXP.md:27 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:23 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:18 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:23 +#: ../../source/learn/intrinsics/_pages/HUGE.md:23 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:17 +#: ../../source/learn/intrinsics/_pages/IALL.md:21 +#: ../../source/learn/intrinsics/_pages/IAND.md:16 +#: ../../source/learn/intrinsics/_pages/IANY.md:21 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:16 +#: ../../source/learn/intrinsics/_pages/IBITS.md:19 +#: ../../source/learn/intrinsics/_pages/IBSET.md:16 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:16 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:16 +#: ../../source/learn/intrinsics/_pages/INDEX.md:24 +#: ../../source/learn/intrinsics/_pages/INT.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:18 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:21 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:22 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:22 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:23 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:19 +#: ../../source/learn/intrinsics/_pages/KIND.md:16 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:16 +#: ../../source/learn/intrinsics/_pages/LEN.md:29 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:20 +#: ../../source/learn/intrinsics/_pages/LGE.md:26 +#: ../../source/learn/intrinsics/_pages/LGT.md:26 +#: ../../source/learn/intrinsics/_pages/LLE.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:26 +#: ../../source/learn/intrinsics/_pages/LOG.md:17 +#: ../../source/learn/intrinsics/_pages/LOG10.md:19 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:20 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:16 +#: ../../source/learn/intrinsics/_pages/MASKL.md:19 +#: ../../source/learn/intrinsics/_pages/MASKR.md:19 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:16 +#: ../../source/learn/intrinsics/_pages/MAX.md:15 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MERGE.md:51 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:43 +#: ../../source/learn/intrinsics/_pages/MIN.md:16 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MOD.md:16 +#: ../../source/learn/intrinsics/_pages/MODULO.md:16 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:17 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:17 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:35 +#: ../../source/learn/intrinsics/_pages/NINT.md:27 +#: ../../source/learn/intrinsics/_pages/NORM2.md:22 +#: ../../source/learn/intrinsics/_pages/NOT.md:14 +#: ../../source/learn/intrinsics/_pages/NULL.md:22 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:16 +#: ../../source/learn/intrinsics/_pages/PACK.md:28 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:17 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:17 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:17 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:16 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:17 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:23 +#: ../../source/learn/intrinsics/_pages/REAL.md:15 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:16 +#: ../../source/learn/intrinsics/_pages/SCALE.md:19 +#: ../../source/learn/intrinsics/_pages/SCAN.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:20 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:19 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:18 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:19 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:26 +#: ../../source/learn/intrinsics/_pages/SINH.md:28 +#: ../../source/learn/intrinsics/_pages/SPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:26 +#: ../../source/learn/intrinsics/_pages/SQRT.md:41 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:16 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:40 +#: ../../source/learn/intrinsics/_pages/TAN.md:16 +#: ../../source/learn/intrinsics/_pages/TANH.md:16 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:17 +#: ../../source/learn/intrinsics/_pages/TINY.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:16 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:21 +#: ../../source/learn/intrinsics/_pages/TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:16 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:40 +msgid "__Arguments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:53 +msgid "__tsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:54 +msgid "May be of any type, including user-defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:56 +msgid "__fsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:57 +msgid "Shall be of the same type and type parameters as __tsource__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:30 +#: ../../source/learn/intrinsics/_pages/IANY.md:30 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:30 +#: ../../source/learn/intrinsics/_pages/MERGE.md:59 +#: ../../source/learn/intrinsics/_pages/PACK.md:33 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:22 +msgid "__mask__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:60 +msgid "Shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:62 +msgid "Note that (currently) _character_ values must be of the same length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:40 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:41 +#: ../../source/learn/intrinsics/_pages/ACOS.md:27 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:27 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:25 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:26 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:25 +#: ../../source/learn/intrinsics/_pages/AINT.md:38 +#: ../../source/learn/intrinsics/_pages/ANINT.md:25 +#: ../../source/learn/intrinsics/_pages/ASIN.md:31 +#: ../../source/learn/intrinsics/_pages/ASINH.md:27 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN.md:32 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:32 +#: ../../source/learn/intrinsics/_pages/ATANH.md:21 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:38 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:38 +#: ../../source/learn/intrinsics/_pages/BGE.md:25 +#: ../../source/learn/intrinsics/_pages/BGT.md:25 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:29 +#: ../../source/learn/intrinsics/_pages/BLE.md:24 +#: ../../source/learn/intrinsics/_pages/BLT.md:24 +#: ../../source/learn/intrinsics/_pages/BTEST.md:32 +#: ../../source/learn/intrinsics/_pages/CEILING.md:29 +#: ../../source/learn/intrinsics/_pages/CHAR.md:29 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:114 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:23 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:20 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:23 +#: ../../source/learn/intrinsics/_pages/CONJG.md:35 +#: ../../source/learn/intrinsics/_pages/COS.md:31 +#: ../../source/learn/intrinsics/_pages/COSH.md:28 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:31 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:34 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:26 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:21 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:24 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:22 +#: ../../source/learn/intrinsics/_pages/DBLE.md:27 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:29 +#: ../../source/learn/intrinsics/_pages/DIM.md:30 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:32 +#: ../../source/learn/intrinsics/_pages/DPROD.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:29 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:47 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:24 +#: ../../source/learn/intrinsics/_pages/ERFC.md:40 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:27 +#: ../../source/learn/intrinsics/_pages/EXP.md:32 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:27 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:32 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:23 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:28 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:27 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:32 +#: ../../source/learn/intrinsics/_pages/HUGE.md:30 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:34 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IALL.md:34 +#: ../../source/learn/intrinsics/_pages/IAND.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:34 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:27 +#: ../../source/learn/intrinsics/_pages/IBITS.md:31 +#: ../../source/learn/intrinsics/_pages/IBSET.md:27 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:35 +#: ../../source/learn/intrinsics/_pages/IEOR.md:24 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:25 +#: ../../source/learn/intrinsics/_pages/INDEX.md:40 +#: ../../source/learn/intrinsics/_pages/INT.md:29 +#: ../../source/learn/intrinsics/_pages/IOR.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:30 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:28 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:24 +#: ../../source/learn/intrinsics/_pages/KIND.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:21 +#: ../../source/learn/intrinsics/_pages/LEN.md:38 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:30 +#: ../../source/learn/intrinsics/_pages/LGE.md:34 +#: ../../source/learn/intrinsics/_pages/LGT.md:34 +#: ../../source/learn/intrinsics/_pages/LLE.md:43 +#: ../../source/learn/intrinsics/_pages/LLT.md:34 +#: ../../source/learn/intrinsics/_pages/LOG.md:22 +#: ../../source/learn/intrinsics/_pages/LOG10.md:24 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:30 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:21 +#: ../../source/learn/intrinsics/_pages/MASKL.md:29 +#: ../../source/learn/intrinsics/_pages/MASKR.md:29 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:28 +#: ../../source/learn/intrinsics/_pages/MAX.md:23 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MERGE.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:54 +#: ../../source/learn/intrinsics/_pages/MIN.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MOD.md:25 +#: ../../source/learn/intrinsics/_pages/MODULO.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:25 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/NINT.md:37 +#: ../../source/learn/intrinsics/_pages/NORM2.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:19 +#: ../../source/learn/intrinsics/_pages/NULL.md:28 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:44 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:22 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:22 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:22 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:26 +#: ../../source/learn/intrinsics/_pages/RADIX.md:21 +#: ../../source/learn/intrinsics/_pages/RANGE.md:28 +#: ../../source/learn/intrinsics/_pages/REAL.md:24 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:30 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:26 +#: ../../source/learn/intrinsics/_pages/SCALE.md:27 +#: ../../source/learn/intrinsics/_pages/SCAN.md:36 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:33 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/SIN.md:31 +#: ../../source/learn/intrinsics/_pages/SINH.md:33 +#: ../../source/learn/intrinsics/_pages/SPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:39 +#: ../../source/learn/intrinsics/_pages/SQRT.md:47 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/TAN.md:21 +#: ../../source/learn/intrinsics/_pages/TANH.md:21 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:30 +#: ../../source/learn/intrinsics/_pages/TINY.md:26 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:21 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:32 +#: ../../source/learn/intrinsics/_pages/TRIM.md:21 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:28 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:55 +msgid "__Returns__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:66 +msgid "" +"The result is of the same type and type parameters as __tsource__. For " +"any element the result is __tsource__ if __mask__ is true and __fsource__" +" otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:50 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:47 +#: ../../source/learn/intrinsics/_pages/ACOS.md:32 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:36 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:31 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:32 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:30 +#: ../../source/learn/intrinsics/_pages/AINT.md:47 +#: ../../source/learn/intrinsics/_pages/ANINT.md:33 +#: ../../source/learn/intrinsics/_pages/ASIN.md:38 +#: ../../source/learn/intrinsics/_pages/ASINH.md:33 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:64 +#: ../../source/learn/intrinsics/_pages/ATAN.md:40 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:43 +#: ../../source/learn/intrinsics/_pages/ATANH.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:44 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:35 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:42 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:33 +#: ../../source/learn/intrinsics/_pages/BTEST.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:37 +#: ../../source/learn/intrinsics/_pages/CHAR.md:33 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:120 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:29 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:26 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:28 +#: ../../source/learn/intrinsics/_pages/CONJG.md:39 +#: ../../source/learn/intrinsics/_pages/COS.md:38 +#: ../../source/learn/intrinsics/_pages/COSH.md:36 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:40 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:57 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:40 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:44 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:32 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:26 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:30 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:25 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:29 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:32 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:55 +#: ../../source/learn/intrinsics/_pages/DBLE.md:33 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:33 +#: ../../source/learn/intrinsics/_pages/DIM.md:34 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:38 +#: ../../source/learn/intrinsics/_pages/DPROD.md:43 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:51 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:39 +#: ../../source/learn/intrinsics/_pages/ERF.md:29 +#: ../../source/learn/intrinsics/_pages/ERFC.md:47 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:31 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:33 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:75 +#: ../../source/learn/intrinsics/_pages/EXP.md:38 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:43 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:40 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:29 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:32 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:44 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:54 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:63 +#: ../../source/learn/intrinsics/_pages/HUGE.md:35 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:41 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/IALL.md:43 +#: ../../source/learn/intrinsics/_pages/IAND.md:29 +#: ../../source/learn/intrinsics/_pages/IANY.md:43 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:40 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/INT.md:51 +#: ../../source/learn/intrinsics/_pages/IOR.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:43 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:30 +#: ../../source/learn/intrinsics/_pages/KIND.md:26 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:47 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:49 +#: ../../source/learn/intrinsics/_pages/LOG.md:29 +#: ../../source/learn/intrinsics/_pages/LOG10.md:29 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:36 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/MASKL.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:37 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MERGE.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:29 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MOD.md:32 +#: ../../source/learn/intrinsics/_pages/MODULO.md:38 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:26 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:32 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:46 +#: ../../source/learn/intrinsics/_pages/NINT.md:47 +#: ../../source/learn/intrinsics/_pages/NORM2.md:42 +#: ../../source/learn/intrinsics/_pages/NOT.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:32 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:36 +#: ../../source/learn/intrinsics/_pages/PACK.md:50 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:26 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:26 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:31 +#: ../../source/learn/intrinsics/_pages/RADIX.md:26 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:22 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:37 +#: ../../source/learn/intrinsics/_pages/RANGE.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:38 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:34 +#: ../../source/learn/intrinsics/_pages/SCALE.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:41 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:25 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:57 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:31 +#: ../../source/learn/intrinsics/_pages/SIN.md:36 +#: ../../source/learn/intrinsics/_pages/SINH.md:37 +#: ../../source/learn/intrinsics/_pages/SPACING.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:45 +#: ../../source/learn/intrinsics/_pages/SQRT.md:52 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:31 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:60 +#: ../../source/learn/intrinsics/_pages/TAN.md:25 +#: ../../source/learn/intrinsics/_pages/TANH.md:30 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:44 +#: ../../source/learn/intrinsics/_pages/TINY.md:32 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:26 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:51 +#: ../../source/learn/intrinsics/_pages/TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:33 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:60 +msgid "__Examples__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:71 +msgid "The value of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:77 +msgid "is 1.0 for K=5 and 0.0 for K=__-2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE.md:126 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:41 +msgid "Expected Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:121 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:149 +#: ../../source/learn/intrinsics/_pages/ACOS.md:59 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:53 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:58 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:71 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:60 +#: ../../source/learn/intrinsics/_pages/AINT.md:79 +#: ../../source/learn/intrinsics/_pages/ANINT.md:69 +#: ../../source/learn/intrinsics/_pages/ASIN.md:88 +#: ../../source/learn/intrinsics/_pages/ASINH.md:52 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:80 +#: ../../source/learn/intrinsics/_pages/ATAN.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:61 +#: ../../source/learn/intrinsics/_pages/ATANH.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:53 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:48 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:46 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:59 +#: ../../source/learn/intrinsics/_pages/BGE.md:29 +#: ../../source/learn/intrinsics/_pages/BGT.md:31 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:64 +#: ../../source/learn/intrinsics/_pages/BLE.md:28 +#: ../../source/learn/intrinsics/_pages/BLT.md:28 +#: ../../source/learn/intrinsics/_pages/BTEST.md:114 +#: ../../source/learn/intrinsics/_pages/CEILING.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:56 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:161 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:50 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:53 +#: ../../source/learn/intrinsics/_pages/CONJG.md:96 +#: ../../source/learn/intrinsics/_pages/COS.md:65 +#: ../../source/learn/intrinsics/_pages/COSH.md:50 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:60 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:56 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:90 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:61 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:65 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:67 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:53 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:51 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:44 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:51 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:97 +#: ../../source/learn/intrinsics/_pages/DBLE.md:50 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:57 +#: ../../source/learn/intrinsics/_pages/DIM.md:62 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:63 +#: ../../source/learn/intrinsics/_pages/DPROD.md:82 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:80 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:106 +#: ../../source/learn/intrinsics/_pages/ERF.md:46 +#: ../../source/learn/intrinsics/_pages/ERFC.md:64 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:48 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:52 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:101 +#: ../../source/learn/intrinsics/_pages/EXP.md:82 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:45 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:75 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:45 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:118 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:77 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:119 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:85 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:91 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IALL.md:66 +#: ../../source/learn/intrinsics/_pages/IAND.md:45 +#: ../../source/learn/intrinsics/_pages/IANY.md:64 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:31 +#: ../../source/learn/intrinsics/_pages/IBITS.md:35 +#: ../../source/learn/intrinsics/_pages/IBSET.md:31 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:101 +#: ../../source/learn/intrinsics/_pages/IEOR.md:29 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:44 +#: ../../source/learn/intrinsics/_pages/INDEX.md:68 +#: ../../source/learn/intrinsics/_pages/INT.md:112 +#: ../../source/learn/intrinsics/_pages/IOR.md:54 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:63 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:38 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:59 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:47 +#: ../../source/learn/intrinsics/_pages/KIND.md:46 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:120 +#: ../../source/learn/intrinsics/_pages/LEN.md:43 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:67 +#: ../../source/learn/intrinsics/_pages/LGE.md:39 +#: ../../source/learn/intrinsics/_pages/LGT.md:39 +#: ../../source/learn/intrinsics/_pages/LLE.md:85 +#: ../../source/learn/intrinsics/_pages/LLT.md:39 +#: ../../source/learn/intrinsics/_pages/LOG.md:47 +#: ../../source/learn/intrinsics/_pages/LOG10.md:55 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:59 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:40 +#: ../../source/learn/intrinsics/_pages/MASKL.md:87 +#: ../../source/learn/intrinsics/_pages/MASKR.md:96 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:34 +#: ../../source/learn/intrinsics/_pages/MAX.md:109 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MERGE.md:145 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:113 +#: ../../source/learn/intrinsics/_pages/MIN.md:46 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MOD.md:70 +#: ../../source/learn/intrinsics/_pages/MODULO.md:64 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:64 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:128 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:61 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:72 +#: ../../source/learn/intrinsics/_pages/NINT.md:110 +#: ../../source/learn/intrinsics/_pages/NORM2.md:81 +#: ../../source/learn/intrinsics/_pages/NOT.md:46 +#: ../../source/learn/intrinsics/_pages/NULL.md:110 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:57 +#: ../../source/learn/intrinsics/_pages/PACK.md:100 +#: ../../source/learn/intrinsics/_pages/PARITY.md:59 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:52 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:53 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:46 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:57 +#: ../../source/learn/intrinsics/_pages/RADIX.md:45 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:81 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:60 +#: ../../source/learn/intrinsics/_pages/RANGE.md:52 +#: ../../source/learn/intrinsics/_pages/REAL.md:65 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:58 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:27 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:31 +#: ../../source/learn/intrinsics/_pages/SCALE.md:51 +#: ../../source/learn/intrinsics/_pages/SCAN.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:55 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:49 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:82 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:31 +#: ../../source/learn/intrinsics/_pages/SIGN.md:72 +#: ../../source/learn/intrinsics/_pages/SIN.md:121 +#: ../../source/learn/intrinsics/_pages/SINH.md:81 +#: ../../source/learn/intrinsics/_pages/SPACING.md:45 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:116 +#: ../../source/learn/intrinsics/_pages/SQRT.md:85 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:53 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:94 +#: ../../source/learn/intrinsics/_pages/TAN.md:42 +#: ../../source/learn/intrinsics/_pages/TANH.md:47 +#: ../../source/learn/intrinsics/_pages/TINY.md:48 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:104 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:101 +#: ../../source/learn/intrinsics/_pages/TRIM.md:50 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:55 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:243 +msgid "__Standard__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:60 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:73 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:82 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:66 +#: ../../source/learn/intrinsics/_pages/BTEST.md:116 +#: ../../source/learn/intrinsics/_pages/CEILING.md:65 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:67 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:69 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:99 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:65 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:82 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:108 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:77 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:47 +#: ../../source/learn/intrinsics/_pages/HUGE.md:87 +#: ../../source/learn/intrinsics/_pages/IAND.md:47 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:33 +#: ../../source/learn/intrinsics/_pages/IBITS.md:37 +#: ../../source/learn/intrinsics/_pages/IBSET.md:33 +#: ../../source/learn/intrinsics/_pages/IEOR.md:31 +#: ../../source/learn/intrinsics/_pages/IOR.md:56 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:36 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:40 +#: ../../source/learn/intrinsics/_pages/KIND.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:36 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MERGE.md:147 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MODULO.md:66 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:130 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:63 +#: ../../source/learn/intrinsics/_pages/NOT.md:48 +#: ../../source/learn/intrinsics/_pages/NULL.md:112 +#: ../../source/learn/intrinsics/_pages/PACK.md:102 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:48 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:59 +#: ../../source/learn/intrinsics/_pages/RADIX.md:47 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:83 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:62 +#: ../../source/learn/intrinsics/_pages/RANGE.md:54 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:60 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:29 +#: ../../source/learn/intrinsics/_pages/SCALE.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:51 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/SPACING.md:47 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:118 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:96 +#: ../../source/learn/intrinsics/_pages/TINY.md:50 +#: ../../source/learn/intrinsics/_pages/TRIM.md:52 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:57 +msgid "Fortran 95 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:153 +#: ../../source/learn/intrinsics/_pages/ACOS.md:62 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:57 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:75 +#: ../../source/learn/intrinsics/_pages/AINT.md:83 +#: ../../source/learn/intrinsics/_pages/ANINT.md:73 +#: ../../source/learn/intrinsics/_pages/ASIN.md:92 +#: ../../source/learn/intrinsics/_pages/ASINH.md:56 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:84 +#: ../../source/learn/intrinsics/_pages/ATAN.md:76 +#: ../../source/learn/intrinsics/_pages/ATANH.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:61 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:50 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:65 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:63 +#: ../../source/learn/intrinsics/_pages/BGE.md:33 +#: ../../source/learn/intrinsics/_pages/BGT.md:35 +#: ../../source/learn/intrinsics/_pages/BLE.md:32 +#: ../../source/learn/intrinsics/_pages/BLT.md:32 +#: ../../source/learn/intrinsics/_pages/BTEST.md:118 +#: ../../source/learn/intrinsics/_pages/CEILING.md:67 +#: ../../source/learn/intrinsics/_pages/CHAR.md:60 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:151 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:58 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:57 +#: ../../source/learn/intrinsics/_pages/COS.md:69 +#: ../../source/learn/intrinsics/_pages/COSH.md:54 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:54 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:64 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:60 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:94 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:65 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:69 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:57 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:57 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:48 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:55 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:101 +#: ../../source/learn/intrinsics/_pages/DBLE.md:54 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:61 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:37 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:37 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:110 +#: ../../source/learn/intrinsics/_pages/EXP.md:86 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:79 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:49 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:122 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:81 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:89 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IALL.md:70 +#: ../../source/learn/intrinsics/_pages/IAND.md:49 +#: ../../source/learn/intrinsics/_pages/IANY.md:68 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:35 +#: ../../source/learn/intrinsics/_pages/IBITS.md:39 +#: ../../source/learn/intrinsics/_pages/IBSET.md:35 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:105 +#: ../../source/learn/intrinsics/_pages/IEOR.md:33 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:48 +#: ../../source/learn/intrinsics/_pages/INDEX.md:73 +#: ../../source/learn/intrinsics/_pages/INT.md:116 +#: ../../source/learn/intrinsics/_pages/IOR.md:58 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:67 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:42 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:124 +#: ../../source/learn/intrinsics/_pages/LEN.md:108 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:72 +#: ../../source/learn/intrinsics/_pages/LGE.md:43 +#: ../../source/learn/intrinsics/_pages/LGT.md:43 +#: ../../source/learn/intrinsics/_pages/LLE.md:89 +#: ../../source/learn/intrinsics/_pages/LLT.md:43 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:63 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:44 +#: ../../source/learn/intrinsics/_pages/MASKL.md:91 +#: ../../source/learn/intrinsics/_pages/MASKR.md:100 +#: ../../source/learn/intrinsics/_pages/MAX.md:113 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MERGE.md:149 +#: ../../source/learn/intrinsics/_pages/MIN.md:50 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MOD.md:74 +#: ../../source/learn/intrinsics/_pages/MODULO.md:68 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:68 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:132 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:65 +#: ../../source/learn/intrinsics/_pages/NINT.md:114 +#: ../../source/learn/intrinsics/_pages/NORM2.md:85 +#: ../../source/learn/intrinsics/_pages/NOT.md:50 +#: ../../source/learn/intrinsics/_pages/NULL.md:114 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:61 +#: ../../source/learn/intrinsics/_pages/PACK.md:104 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:56 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:57 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:50 +#: ../../source/learn/intrinsics/_pages/RADIX.md:49 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:85 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:64 +#: ../../source/learn/intrinsics/_pages/RANGE.md:56 +#: ../../source/learn/intrinsics/_pages/REAL.md:69 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:62 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:31 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:35 +#: ../../source/learn/intrinsics/_pages/SCALE.md:55 +#: ../../source/learn/intrinsics/_pages/SCAN.md:63 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:86 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:51 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:37 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/SIN.md:125 +#: ../../source/learn/intrinsics/_pages/SINH.md:85 +#: ../../source/learn/intrinsics/_pages/SPACING.md:49 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:120 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:57 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:98 +#: ../../source/learn/intrinsics/_pages/TAN.md:46 +#: ../../source/learn/intrinsics/_pages/TANH.md:51 +#: ../../source/learn/intrinsics/_pages/TINY.md:52 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:108 +#: ../../source/learn/intrinsics/_pages/TRIM.md:54 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:59 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:247 +msgid "__See Also__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:151 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:125 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:165 +#: ../../source/learn/intrinsics/_pages/ACOS.md:68 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:66 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:79 +#: ../../source/learn/intrinsics/_pages/ASIN.md:98 +#: ../../source/learn/intrinsics/_pages/ATAN.md:82 +#: ../../source/learn/intrinsics/_pages/BTEST.md:131 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:63 +#: ../../source/learn/intrinsics/_pages/CONJG.md:100 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:74 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:113 +#: ../../source/learn/intrinsics/_pages/DBLE.md:59 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:79 +#: ../../source/learn/intrinsics/_pages/DIM.md:66 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:128 +#: ../../source/learn/intrinsics/_pages/EXP.md:94 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:90 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:128 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:127 +#: ../../source/learn/intrinsics/_pages/HUGE.md:107 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:63 +#: ../../source/learn/intrinsics/_pages/LEN.md:129 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:89 +#: ../../source/learn/intrinsics/_pages/MASKL.md:95 +#: ../../source/learn/intrinsics/_pages/MASKR.md:104 +#: ../../source/learn/intrinsics/_pages/MERGE.md:157 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:76 +#: ../../source/learn/intrinsics/_pages/NINT.md:123 +#: ../../source/learn/intrinsics/_pages/NOT.md:60 +#: ../../source/learn/intrinsics/_pages/PACK.md:112 +#: ../../source/learn/intrinsics/_pages/SIN.md:132 +#: ../../source/learn/intrinsics/_pages/SQRT.md:89 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:115 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:265 +msgid "####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:2 +msgid "pack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:5 +msgid "" +"__pack__(3) - \\[ARRAY CONSTRUCTION\\] Pack an array into an array of " +"rank one" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:16 +msgid "" +"where TYPE(kind=KIND) may be any type, where __array__ and __vector__ " +"and the returned value must by of the same type. __mask__ may be a " +"scalar as well an an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:22 +msgid "Stores the elements of ARRAY in an array of rank one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:24 +msgid "" +"The beginning of the resulting array is made up of elements whose " +"__mask__ equals __.true.__. Afterwards, positions are filled with " +"elements taken from __vector__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:25 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:35 +#: ../../source/learn/intrinsics/_pages/IALL.md:23 +#: ../../source/learn/intrinsics/_pages/IANY.md:23 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:23 +#: ../../source/learn/intrinsics/_pages/NORM2.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:30 +msgid "__array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:26 +#: ../../source/learn/intrinsics/_pages/PACK.md:31 +msgid "Shall be an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:34 +msgid "" +"Shall be an array of type _logical_ and of the same size as __array__. " +"Alternatively, it may be a _logical_ scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:37 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:18 +msgid "__vector__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:38 +msgid "" +"(Optional) shall be an array of the same type as __array__ and of rank " +"one. If present, the number of elements in __vector__ shall be equal to " +"or greater than the number of true elements in __mask__. If __mask__ is " +"scalar, the number of elements in __vector__ shall be equal to or greater" +" than the number of elements in __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:46 +msgid "" +"The result is an array of rank one and the same type as that of " +"__array__. If __vector__ is present, the result size is that of " +"__vector__, the number of __.true.__ values in __mask__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:52 +#: ../../source/learn/intrinsics/_pages/ACOS.md:33 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:38 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:33 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:34 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:32 +#: ../../source/learn/intrinsics/_pages/AINT.md:49 +#: ../../source/learn/intrinsics/_pages/ANINT.md:35 +#: ../../source/learn/intrinsics/_pages/ASINH.md:35 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:66 +#: ../../source/learn/intrinsics/_pages/ATAN.md:42 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:45 +#: ../../source/learn/intrinsics/_pages/ATANH.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:43 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:44 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:35 +#: ../../source/learn/intrinsics/_pages/BTEST.md:40 +#: ../../source/learn/intrinsics/_pages/CEILING.md:39 +#: ../../source/learn/intrinsics/_pages/CHAR.md:35 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:122 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:31 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:28 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:30 +#: ../../source/learn/intrinsics/_pages/CONJG.md:41 +#: ../../source/learn/intrinsics/_pages/COS.md:40 +#: ../../source/learn/intrinsics/_pages/COSH.md:38 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:42 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:42 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:59 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:42 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:46 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:40 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:34 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:28 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:32 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:27 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:31 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:34 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:57 +#: ../../source/learn/intrinsics/_pages/DBLE.md:35 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:35 +#: ../../source/learn/intrinsics/_pages/DIM.md:36 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:40 +#: ../../source/learn/intrinsics/_pages/DPROD.md:45 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:53 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:41 +#: ../../source/learn/intrinsics/_pages/ERF.md:31 +#: ../../source/learn/intrinsics/_pages/ERFC.md:49 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:33 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:35 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:77 +#: ../../source/learn/intrinsics/_pages/EXP.md:40 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:42 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:31 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:34 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:56 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:65 +#: ../../source/learn/intrinsics/_pages/HUGE.md:37 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:43 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/IALL.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:45 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:42 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:33 +#: ../../source/learn/intrinsics/_pages/INT.md:53 +#: ../../source/learn/intrinsics/_pages/IOR.md:33 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:45 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:36 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:32 +#: ../../source/learn/intrinsics/_pages/KIND.md:28 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:28 +#: ../../source/learn/intrinsics/_pages/LLE.md:51 +#: ../../source/learn/intrinsics/_pages/LOG.md:31 +#: ../../source/learn/intrinsics/_pages/LOG10.md:31 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:27 +#: ../../source/learn/intrinsics/_pages/MASKL.md:38 +#: ../../source/learn/intrinsics/_pages/MASKR.md:39 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MOD.md:34 +#: ../../source/learn/intrinsics/_pages/MODULO.md:40 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:34 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:48 +#: ../../source/learn/intrinsics/_pages/NINT.md:49 +#: ../../source/learn/intrinsics/_pages/NORM2.md:44 +#: ../../source/learn/intrinsics/_pages/NULL.md:34 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:38 +#: ../../source/learn/intrinsics/_pages/PACK.md:52 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:28 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:31 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:28 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:33 +#: ../../source/learn/intrinsics/_pages/RADIX.md:28 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:24 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:39 +#: ../../source/learn/intrinsics/_pages/RANGE.md:34 +#: ../../source/learn/intrinsics/_pages/REAL.md:40 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:36 +#: ../../source/learn/intrinsics/_pages/SCALE.md:34 +#: ../../source/learn/intrinsics/_pages/SCAN.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:26 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:33 +#: ../../source/learn/intrinsics/_pages/SIN.md:38 +#: ../../source/learn/intrinsics/_pages/SIN.md:83 +#: ../../source/learn/intrinsics/_pages/SINH.md:39 +#: ../../source/learn/intrinsics/_pages/SPACING.md:28 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:47 +#: ../../source/learn/intrinsics/_pages/SQRT.md:54 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:62 +#: ../../source/learn/intrinsics/_pages/TAN.md:27 +#: ../../source/learn/intrinsics/_pages/TANH.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:46 +#: ../../source/learn/intrinsics/_pages/TINY.md:34 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:53 +#: ../../source/learn/intrinsics/_pages/TRIM.md:28 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:35 +msgid "Sample program:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:103 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:92 +#: ../../source/learn/intrinsics/_pages/ACOS.md:51 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:48 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:52 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:62 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:51 +#: ../../source/learn/intrinsics/_pages/AINT.md:70 +#: ../../source/learn/intrinsics/_pages/ANINT.md:59 +#: ../../source/learn/intrinsics/_pages/ASIN.md:71 +#: ../../source/learn/intrinsics/_pages/ASINH.md:47 +#: ../../source/learn/intrinsics/_pages/ATAN.md:63 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:56 +#: ../../source/learn/intrinsics/_pages/ATANH.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:56 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:55 +#: ../../source/learn/intrinsics/_pages/BTEST.md:83 +#: ../../source/learn/intrinsics/_pages/CEILING.md:55 +#: ../../source/learn/intrinsics/_pages/CHAR.md:46 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:41 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:43 +#: ../../source/learn/intrinsics/_pages/CONJG.md:78 +#: ../../source/learn/intrinsics/_pages/COS.md:55 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:56 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:61 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:44 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:85 +#: ../../source/learn/intrinsics/_pages/DBLE.md:46 +#: ../../source/learn/intrinsics/_pages/DIM.md:54 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:55 +#: ../../source/learn/intrinsics/_pages/DPROD.md:75 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:70 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:94 +#: ../../source/learn/intrinsics/_pages/ERF.md:42 +#: ../../source/learn/intrinsics/_pages/ERFC.md:60 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:43 +#: ../../source/learn/intrinsics/_pages/EXP.md:73 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:40 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:64 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:41 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:64 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:107 +#: ../../source/learn/intrinsics/_pages/HUGE.md:65 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:60 +#: ../../source/learn/intrinsics/_pages/IALL.md:61 +#: ../../source/learn/intrinsics/_pages/IAND.md:41 +#: ../../source/learn/intrinsics/_pages/IANY.md:58 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:96 +#: ../../source/learn/intrinsics/_pages/IOR.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:57 +#: ../../source/learn/intrinsics/_pages/KIND.md:41 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:50 +#: ../../source/learn/intrinsics/_pages/LEN.md:105 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:59 +#: ../../source/learn/intrinsics/_pages/LLE.md:70 +#: ../../source/learn/intrinsics/_pages/LOG.md:42 +#: ../../source/learn/intrinsics/_pages/LOG10.md:49 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:51 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:36 +#: ../../source/learn/intrinsics/_pages/MASKL.md:49 +#: ../../source/learn/intrinsics/_pages/MASKR.md:54 +#: ../../source/learn/intrinsics/_pages/MAX.md:100 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:41 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:103 +#: ../../source/learn/intrinsics/_pages/MIN.md:40 +#: ../../source/learn/intrinsics/_pages/MOD.md:55 +#: ../../source/learn/intrinsics/_pages/MODULO.md:55 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:59 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:57 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:64 +#: ../../source/learn/intrinsics/_pages/NINT.md:91 +#: ../../source/learn/intrinsics/_pages/NORM2.md:68 +#: ../../source/learn/intrinsics/_pages/NOT.md:39 +#: ../../source/learn/intrinsics/_pages/NULL.md:103 +#: ../../source/learn/intrinsics/_pages/PACK.md:93 +#: ../../source/learn/intrinsics/_pages/PARITY.md:55 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:43 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:45 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:41 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:52 +#: ../../source/learn/intrinsics/_pages/RADIX.md:38 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:54 +#: ../../source/learn/intrinsics/_pages/RANGE.md:46 +#: ../../source/learn/intrinsics/_pages/REAL.md:57 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:52 +#: ../../source/learn/intrinsics/_pages/SCALE.md:45 +#: ../../source/learn/intrinsics/_pages/SCAN.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:50 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:76 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:43 +#: ../../source/learn/intrinsics/_pages/SIGN.md:64 +#: ../../source/learn/intrinsics/_pages/SIN.md:115 +#: ../../source/learn/intrinsics/_pages/SINH.md:72 +#: ../../source/learn/intrinsics/_pages/SPACING.md:40 +#: ../../source/learn/intrinsics/_pages/SQRT.md:78 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:45 +#: ../../source/learn/intrinsics/_pages/TAN.md:38 +#: ../../source/learn/intrinsics/_pages/TANH.md:43 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:62 +#: ../../source/learn/intrinsics/_pages/TINY.md:43 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:63 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:73 +#: ../../source/learn/intrinsics/_pages/TRIM.md:43 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:50 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:125 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:181 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:236 +msgid "Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:106 +msgid "" +"[__unpack__(3)](UNPACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:2 +msgid "spread" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:5 +msgid "__spread__(3) - \\[ARRAY CONSTRUCTION\\] Add a dimension to an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:20 +msgid "" +"Replicates a __source__ array __ncopies__ times along a specified " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:23 +msgid "" +"If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). and " +"each element of the result has a value equal to SOURCE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:23 +msgid "__source__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:29 +msgid "Shall be a scalar or an array of any type and a rank less than fifteen." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:31 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:44 +#: ../../source/learn/intrinsics/_pages/IALL.md:26 +#: ../../source/learn/intrinsics/_pages/IANY.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:26 +#: ../../source/learn/intrinsics/_pages/NORM2.md:27 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:26 +msgid "__dim__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:33 +msgid "" +"Shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __n+1__, where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:36 +msgid "__ncopies__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:37 +msgid "Shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:41 +msgid "" +"The result is an array of the same type as __source__ and has rank " +"__n+1__ where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:122 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__merge__(3)](MERGE), " +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:64 +#: ../../source/learn/intrinsics/_pages/AINT.md:92 +#: ../../source/learn/intrinsics/_pages/ANINT.md:82 +#: ../../source/learn/intrinsics/_pages/ASINH.md:61 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:88 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:65 +#: ../../source/learn/intrinsics/_pages/ATANH.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:60 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:63 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:71 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:58 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:73 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:71 +#: ../../source/learn/intrinsics/_pages/BGE.md:39 +#: ../../source/learn/intrinsics/_pages/BGT.md:41 +#: ../../source/learn/intrinsics/_pages/BLE.md:38 +#: ../../source/learn/intrinsics/_pages/BLT.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:78 +#: ../../source/learn/intrinsics/_pages/CHAR.md:78 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:165 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:59 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:62 +#: ../../source/learn/intrinsics/_pages/COS.md:76 +#: ../../source/learn/intrinsics/_pages/COSH.md:59 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:61 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:46 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:71 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:67 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:101 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:72 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:47 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:71 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:63 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:70 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:63 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:67 +#: ../../source/learn/intrinsics/_pages/DPROD.md:86 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:41 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:41 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:84 +#: ../../source/learn/intrinsics/_pages/ERF.md:56 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:52 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:56 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:105 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:45 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:68 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:128 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:91 +#: ../../source/learn/intrinsics/_pages/IALL.md:76 +#: ../../source/learn/intrinsics/_pages/IAND.md:62 +#: ../../source/learn/intrinsics/_pages/IANY.md:74 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:48 +#: ../../source/learn/intrinsics/_pages/IBITS.md:53 +#: ../../source/learn/intrinsics/_pages/IBSET.md:48 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:128 +#: ../../source/learn/intrinsics/_pages/IEOR.md:46 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:53 +#: ../../source/learn/intrinsics/_pages/INDEX.md:87 +#: ../../source/learn/intrinsics/_pages/IOR.md:71 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:74 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:42 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:46 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:51 +#: ../../source/learn/intrinsics/_pages/KIND.md:50 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:131 +#: ../../source/learn/intrinsics/_pages/LGE.md:64 +#: ../../source/learn/intrinsics/_pages/LGT.md:66 +#: ../../source/learn/intrinsics/_pages/LLE.md:112 +#: ../../source/learn/intrinsics/_pages/LLT.md:61 +#: ../../source/learn/intrinsics/_pages/LOG.md:51 +#: ../../source/learn/intrinsics/_pages/LOG10.md:59 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:69 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:38 +#: ../../source/learn/intrinsics/_pages/MAX.md:119 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:56 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/MOD.md:78 +#: ../../source/learn/intrinsics/_pages/MODULO.md:72 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:72 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:84 +#: ../../source/learn/intrinsics/_pages/NORM2.md:91 +#: ../../source/learn/intrinsics/_pages/NULL.md:118 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:66 +#: ../../source/learn/intrinsics/_pages/PARITY.md:63 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:62 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:63 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:69 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:61 +#: ../../source/learn/intrinsics/_pages/RADIX.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:89 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:68 +#: ../../source/learn/intrinsics/_pages/RANGE.md:74 +#: ../../source/learn/intrinsics/_pages/REAL.md:74 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:79 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:50 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:39 +#: ../../source/learn/intrinsics/_pages/SCALE.md:74 +#: ../../source/learn/intrinsics/_pages/SCAN.md:77 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:62 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:92 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:70 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:42 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:40 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:40 +#: ../../source/learn/intrinsics/_pages/SINH.md:90 +#: ../../source/learn/intrinsics/_pages/SPACING.md:68 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:128 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:61 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:103 +#: ../../source/learn/intrinsics/_pages/TAN.md:52 +#: ../../source/learn/intrinsics/_pages/TANH.md:56 +#: ../../source/learn/intrinsics/_pages/TINY.md:70 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:105 +#: ../../source/learn/intrinsics/_pages/TRIM.md:73 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:67 +msgid "####### fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:2 +msgid "unpack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:5 +msgid "" +"__unpack__(3) - \\[ARRAY CONSTRUCTION\\] Store the elements of a vector " +"in an array of higher rank" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:14 +msgid "Store the elements of __vector__ in an array of higher rank." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:19 +msgid "" +"Shall be an array of any type and rank one. It shall have at least as " +"many elements as __mask__ has __.true.__ values." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:23 +msgid "Shall be an array of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:25 +msgid "__field__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:26 +msgid "" +"Shall be of the same type as __vector__ and have the same shape as " +"__mask__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:30 +msgid "" +"The resulting array corresponds to __field__ with __.true.__ elements of " +"__mask__ replaced by values from __vector__ in array element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:61 +msgid "" +"[__pack__(3)](PACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/BIT_index.md:1 +msgid "Bit-level inquiry and manipulation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:2 +msgid "bge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:5 +msgid "__bge__(3) - \\[BIT:COMPARE\\] Bitwise greater than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:14 +msgid "Determines whether an integer is bitwise greater than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/BGE.md:19 +#: ../../source/learn/intrinsics/_pages/BGT.md:18 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/BLE.md:18 +#: ../../source/learn/intrinsics/_pages/BLT.md:18 +#: ../../source/learn/intrinsics/_pages/BTEST.md:23 +#: ../../source/learn/intrinsics/_pages/CHAR.md:22 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:20 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:20 +#: ../../source/learn/intrinsics/_pages/IAND.md:18 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:18 +#: ../../source/learn/intrinsics/_pages/IBITS.md:21 +#: ../../source/learn/intrinsics/_pages/IBSET.md:18 +#: ../../source/learn/intrinsics/_pages/IEOR.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:20 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:24 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:24 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:25 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:18 +#: ../../source/learn/intrinsics/_pages/MASKL.md:21 +#: ../../source/learn/intrinsics/_pages/MASKR.md:21 +#: ../../source/learn/intrinsics/_pages/NOT.md:16 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:19 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:24 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:23 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:18 +msgid "__i__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:20 +#: ../../source/learn/intrinsics/_pages/BLE.md:19 +#: ../../source/learn/intrinsics/_pages/BLT.md:19 +msgid "Shall be of _integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:22 +#: ../../source/learn/intrinsics/_pages/BGT.md:21 +#: ../../source/learn/intrinsics/_pages/BLE.md:21 +#: ../../source/learn/intrinsics/_pages/BLT.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:23 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:23 +#: ../../source/learn/intrinsics/_pages/IAND.md:21 +#: ../../source/learn/intrinsics/_pages/IEOR.md:21 +#: ../../source/learn/intrinsics/_pages/IOR.md:23 +msgid "__j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:23 +#: ../../source/learn/intrinsics/_pages/BLE.md:22 +#: ../../source/learn/intrinsics/_pages/BLT.md:22 +msgid "Shall be of _integer_ type, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:27 +#: ../../source/learn/intrinsics/_pages/BLE.md:26 +#: ../../source/learn/intrinsics/_pages/BLT.md:26 +msgid "The return value is of type _logical_ and of the default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:55 +#: ../../source/learn/intrinsics/_pages/ASINH.md:54 +#: ../../source/learn/intrinsics/_pages/ATANH.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:63 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:61 +#: ../../source/learn/intrinsics/_pages/BGE.md:31 +#: ../../source/learn/intrinsics/_pages/BGT.md:33 +#: ../../source/learn/intrinsics/_pages/BLE.md:30 +#: ../../source/learn/intrinsics/_pages/BLT.md:30 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:48 +#: ../../source/learn/intrinsics/_pages/ERFC.md:66 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:50 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:103 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:120 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:93 +#: ../../source/learn/intrinsics/_pages/IALL.md:68 +#: ../../source/learn/intrinsics/_pages/IANY.md:66 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:65 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:122 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:42 +#: ../../source/learn/intrinsics/_pages/MASKL.md:89 +#: ../../source/learn/intrinsics/_pages/MASKR.md:98 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:115 +#: ../../source/learn/intrinsics/_pages/NORM2.md:83 +#: ../../source/learn/intrinsics/_pages/PARITY.md:61 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:54 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:55 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:55 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:106 +msgid "Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:35 +msgid "[__bgt__(3)](BGT), [__ble__(3)](BLE), [__blt__(3)](BIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:2 +msgid "bgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:5 +msgid "__bgt__(3) - \\[BIT:COMPARE\\] Bitwise greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:14 +msgid "Determines whether an integer is bitwise greater than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:19 +msgid "Shall be of _integer_ type or a BOZ literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:22 +msgid "" +"Shall be of _integer_ type, and of the same kind as __i__; or a BOZ " +"literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:27 +msgid "" +"The return value is of type _logical_ and of the default kind. The result" +" is true if the sequence of bits represented by _i_ is greater than the " +"sequence of bits represented by _j_, otherwise the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:37 +msgid "[__bge__(3),](BGE), [__ble__(3),](BLE), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:2 +msgid "ble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:5 +msgid "__ble__(3) - \\[BIT:COMPARE\\] Bitwise less than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:14 +msgid "Determines whether an integer is bitwise less than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:34 +msgid "[__bge__(3),](BGE), [__bgt__(3),](BGT), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:2 +msgid "blt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:5 +msgid "__blt__(3) - \\[BIT:COMPARE\\] Bitwise less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:14 +msgid "Determines whether an integer is bitwise less than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:34 +msgid "[__bge__(3)](BGE), [__bgt__(3)](BGT), [__ble__(3)](BLE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:2 +msgid "bit\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:5 +msgid "__bit\\_size__(3) - \\[BIT:INQUIRY\\] Bit size inquiry function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:16 +msgid "" +"__bit\\_size(i)__ returns the number of bits (integer precision plus sign" +" bit) represented by the type of the _integer_ __i__. __i__ can be a " +"scalar or an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:25 +msgid "" +"An _integer_ value of any kind to determine the size of in bits. Because " +"only the type of the argument is examined, the argument need not be " +"defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:54 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:143 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:49 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:117 +msgid "Typical Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:68 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:117 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:145 +msgid "####### fortran-lang intrinsic descriptions (license MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:2 +msgid "btest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:5 +msgid "__btest__(3) - \\[BIT:INQUIRY\\] Tests a bit of an _integer_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:15 +msgid "" +"where __KIND__ is any _integer_ kind supported by the programming " +"environment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:19 +msgid "" +"__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in " +"__i__ is set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:24 +#: ../../source/learn/intrinsics/_pages/CHAR.md:23 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:29 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:32 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:39 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:19 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:19 +#: ../../source/learn/intrinsics/_pages/IBITS.md:22 +#: ../../source/learn/intrinsics/_pages/IBITS.md:29 +#: ../../source/learn/intrinsics/_pages/IBSET.md:19 +#: ../../source/learn/intrinsics/_pages/IEOR.md:19 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:28 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:28 +#: ../../source/learn/intrinsics/_pages/NOT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:25 +msgid "The type shall be _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:26 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:21 +#: ../../source/learn/intrinsics/_pages/IBITS.md:24 +#: ../../source/learn/intrinsics/_pages/IBSET.md:21 +msgid "__pos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:27 +msgid "" +"The bit position to query. it must be a valid position for the value " +"__i__; ie. __0 <= pos <= bit_size(i)__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:30 +msgid "A value of zero refers to the least significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:34 +msgid "" +"The result is a _logical_ that has the value __.true.__ if bit " +"position __pos__ of __i__ has the value __1__ and the value " +"__.false.__ if bit __pos__ of __i__ has the value __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:120 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:2 +msgid "storage\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:5 +msgid "__storage\\_size__(3) - \\[BIT:INQUIRY\\] Storage size in bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:14 +msgid "Returns the storage size of argument __a__ in bits." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:36 +#: ../../source/learn/intrinsics/_pages/ANINT.md:18 +#: ../../source/learn/intrinsics/_pages/CEILING.md:22 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:25 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:25 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:25 +#: ../../source/learn/intrinsics/_pages/DBLE.md:24 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:19 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:25 +#: ../../source/learn/intrinsics/_pages/INT.md:20 +#: ../../source/learn/intrinsics/_pages/MOD.md:18 +#: ../../source/learn/intrinsics/_pages/MODULO.md:18 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:21 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:18 +msgid "__a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:19 +msgid "Shall be a scalar or array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:37 +#: ../../source/learn/intrinsics/_pages/AINT.md:34 +#: ../../source/learn/intrinsics/_pages/ANINT.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:25 +#: ../../source/learn/intrinsics/_pages/CHAR.md:25 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:28 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:22 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:36 +#: ../../source/learn/intrinsics/_pages/INT.md:23 +#: ../../source/learn/intrinsics/_pages/LEN.md:34 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKR.md:26 +#: ../../source/learn/intrinsics/_pages/NINT.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:20 +#: ../../source/learn/intrinsics/_pages/SCAN.md:32 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:21 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:51 +msgid "__kind__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:22 +msgid "(Optional) shall be a scalar integer constant expression." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:26 +msgid "" +"The result is a scalar integer with the kind type parameter specified by " +"__kind__ (or default integer type if __kind__ is missing). The result " +"value is the size expressed in bits for an element of an array that has " +"the dynamic type and type parameters of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:49 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:39 +#: ../../source/learn/intrinsics/_pages/MIN.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:25 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:33 +msgid "Sample program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:59 +msgid "[__c\\_sizeof__(3)](C_SIZEOF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:2 +msgid "leadz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:5 +msgid "__leadz__(3) - \\[BIT:COUNT\\] Number of leading zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:14 +msgid "__leadz__ returns the number of leading zero bits of an integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:19 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:20 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:23 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:19 +msgid "Shall be of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:23 +msgid "" +"The type of the return value is the same as a default _integer_. If all " +"the bits of __i__ are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:126 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:2 +msgid "popcnt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:5 +msgid "__popcnt__(3) - \\[BIT:COUNT\\] Number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:14 +msgid "" +"Returns the number of bits set in the binary representation of an " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:24 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:24 +#: ../../source/learn/intrinsics/_pages/RANGE.md:30 +msgid "The return value is of type _integer_ and of the default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:58 +msgid "[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:2 +msgid "poppar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:5 +msgid "__poppar__(3) - \\[BIT:COUNT\\] Parity of the number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:14 +msgid "" +"Returns the parity of an integer's binary representation (i.e., the " +"parity of the number of bits set)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:24 +msgid "" +"The return value is equal to __0__ if __i__ has an even number of bits " +"set and 1 if an odd number of bits are set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:27 +msgid "It is of type _integer_ and of the default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:59 +msgid "[__popcnt__(3)](POPCNT), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:2 +msgid "trailz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:5 +msgid "__trailz__(3) - \\[BIT:COUNT\\] Number of trailing zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:14 +msgid "" +"__trailz(3)__ returns the number of trailing zero bits of an _integer_ " +"value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:23 +msgid "" +"The type of the return value is the default _integer_. If all the bits of" +" I are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:110 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:2 +msgid "dshiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:5 +msgid "__dshiftl__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:14 +msgid "" +"__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost " +"__shift__ bits of the result are the leftmost __shift__ bits of __j__, " +"and the remaining bits are the rightmost bits of __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:24 +msgid "Shall be of type _integer_, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:28 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:26 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:26 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:27 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:26 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:24 +msgid "__shift__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:31 +msgid "The return value has same type and kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:39 +msgid "[__dshiftr__(3)](DSHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:2 +msgid "dshiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:5 +msgid "__dshiftr__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:14 +msgid "" +"__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost " +"__shift__ bits of the result are the rightmost __shift__ bits of __i__, " +"and the remaining bits are the leftmost bits of __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:39 +msgid "[__dshiftl__(3)](DSHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:2 +msgid "merge\\_bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:5 +msgid "__merge\\_bits__(3) - \\[BIT:COPY\\] Merge bits using a mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:15 +msgid "" +"where the result and all input values have the same _integer_ type and " +"KIND with the exception that the mask and either __i__ or __j__ may be a " +"BOZ constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:21 +msgid "" +"A common graphics operation in Ternary Raster Operations is to combine " +"bits from two different sources, generally referred to as bit-blending. " +"__merge\\_bits__ performs a masked bit-blend of __i__ and __j__ using the" +" bits of the __mask__ value to determine which of the input values to " +"copy bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:27 +msgid "" +"Specifically, The k-th bit of the result is equal to the k-th bit of " +"__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit " +"of __j__ otherwise (so all three input values must have the same number " +"of bits)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:32 +msgid "The resulting value is the same as would result from" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:36 +msgid "" +"An exception to all values being of the same _integer_ type is that __i__" +" or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it " +"is either a Binary, Octal, or Hexadecimal literal constant). The BOZ " +"values are converted to the _integer_ type of the non-BOZ value(s) as if " +"called by the intrinsic function __int()__ with the kind of the non-BOZ " +"value(s), so the BOZ values must be in the range of the type of the " +"result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:45 +msgid "" +"__i__ : value to select bits from when the associated bit in the mask is" +" __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:48 +msgid "" +"__j__ : value to select bits from when the associated bit in the mask is " +"__0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:51 +msgid "" +"__mask__ : a value whose bits are used as a mask to select bits from " +"__i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:56 +msgid "" +"The bits blended from __i__ and __j__ using the mask __mask__. It is the " +"same type as __i__ if __i__ is of type _integer_, otherwise the same type" +" as __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:37 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:60 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:54 +msgid "__Example__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:2 +msgid "mvbits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:5 +msgid "" +"__mvbits__(3) - \\[BIT:COPY\\] reproduce bit patterns found in one " +"integer in another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:14 +msgid "" +"__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in " +"the _integer_ __from__ to a specified position in another integer __to__ " +"(which is of the same kind as __from__). It otherwise leaves the bits in" +" __to__ as-is." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:19 +msgid "" +"The bit positions copied must exist within the value of __from__. That " +"is, the values of __frompos+len-1__ and __topos+len-1__ must be " +"nonnegative and less than __bit\\_size__(from)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:23 +msgid "The bits are numbered __0__ to __bit_size(i)-1__, from right to left." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:27 +msgid "__from__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:28 +msgid "An _integer_ to read bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:29 +msgid "__frompos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:30 +msgid "" +"__frompos__ is the position of the first bit to copy. It is a nonnegative" +" _integer_ value < __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:28 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:32 +msgid "__len__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:33 +msgid "" +"A nonnegative _integer_ value that indicates how many bits to copy from " +"__from__. It must not specify copying bits past the end of __from__. That" +" is, __frompos + len__ must be less than or equal to __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:37 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:42 +msgid "__to__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:38 +msgid "" +"The _integer_ variable to place the copied bits into. It must be of the " +"same kind as __from__ and may even be the same variable as __from__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:43 +msgid "" +"is set by copying the sequence of bits of length __len__, starting at " +"position __frompos__ of __from__ to position __topos__ of __to__. No " +"other bits of __to__ are altered. On return, the __len__ bits of __to__ " +"starting at __topos__ are equal to the value that the __len__ bits of " +"__from__ starting at __frompos__ had on entry." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:49 +msgid "__topos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:50 +msgid "" +"A nonnegative _integer_ value indicating the starting location in __to__ " +"to place the specified copy of bits from __from__. __topos + len__ must " +"be less than or equal to __bit_size(to)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:55 +msgid "" +"Sample program that populates a new 32-bit integer with its bytes in " +"reverse order (ie. changes the Endian of the integer)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:134 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__ieor__(3)](IEOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:2 +msgid "ibits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:5 +msgid "__ibits__(3) - \\[BIT:COPY\\] Bit extraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:14 +msgid "" +"__ibits__ extracts a field of length __len__ from __i__, starting from " +"bit position __pos__ and extending left for __len__ bits. The result is " +"right-justified and the remaining bits are zeroed. The value of pos+len " +"must be less than or equal to the value __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:25 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:29 +#: ../../source/learn/intrinsics/_pages/IBITS.md:33 +#: ../../source/learn/intrinsics/_pages/IBSET.md:29 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:32 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:36 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:29 +msgid "The return value is of type _integer_ and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:41 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:2 +msgid "ibclr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:5 +msgid "__ibclr__(3) - \\[BIT:SET\\] Clear bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:14 +msgid "" +"__ibclr__ returns the value of __i__ with the bit at position __pos__ set" +" to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. __pos__ is an __intent(in)__ scalar or array of type " +"_integer_. The value of __pos__ must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__not__(3)](NOT), [__btest__(3)](BTEST), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:2 +msgid "ibset" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:5 +msgid "__ibset__(3) - \\[BIT:SET\\] Set bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:14 +msgid "" +"__ibset__ returns the value of __i__ with the bit at position __pos__ set" +" to one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. pos is an __intent(in)__ scalar or array of type " +"_integer_. The value of pos must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:2 +msgid "maskl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:5 +msgid "__maskl__(3) - \\[BIT:SET\\] Generates a left justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:16 +msgid "" +"__maskl(i\\[, *kind*\\])__ has its leftmost __i__ bits set to __1__, and " +"the remaining bits set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:22 +#: ../../source/learn/intrinsics/_pages/MASKR.md:22 +msgid "" +"Shall be of type _integer_. Its value must be non-negative, and less than" +" or equal to the number of bits for the kind of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:27 +#: ../../source/learn/intrinsics/_pages/MASKR.md:27 +msgid "Shall be a scalar constant expression of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:31 +#: ../../source/learn/intrinsics/_pages/MASKR.md:31 +msgid "" +"The return value is of type _integer_. If __kind__ is present, it " +"specifies the kind value of the return type; otherwise, it is of the " +"default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:35 +msgid "The leftmost __i__ bits are set to 1 and the other bits are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:93 +msgid "[__maskr__(3)](MASKR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:2 +msgid "maskr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:5 +msgid "__maskr__(3) - \\[BIT:SET\\] Generates a right-justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:16 +msgid "" +"__maskr(i\\[, kind\\])__ has its rightmost __i__ bits set to 1, and the " +"remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:35 +msgid "It has its rightmost __i__ bits set to 1, and the remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:102 +msgid "[__maskl__(3)](MASKL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:2 +msgid "iparity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:5 +msgid "__iparity__(3) - \\[BIT:LOGICAL\\] Bitwise exclusive or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:18 +msgid "" +"Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ " +"along dimension __dim__ if the corresponding element in __mask__ is " +"__.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:24 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:24 +msgid "Shall be an array of type _integer_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __\"1\" to \"n\"__, where __\"n\"__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:31 +msgid "" +"(Optional) shall be of type _logical_ and either be a scalar or an array " +"of the same shape as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:36 +#: ../../source/learn/intrinsics/_pages/IANY.md:36 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:36 +#: ../../source/learn/intrinsics/_pages/NORM2.md:33 +msgid "The result is of the same type as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:69 +msgid "" +"[__iany__(3)](IANY), [__iall__(3)](IALL), [__ieor__(3)](IEOR), " +"[__parity__(3)](PARITY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:2 +msgid "iall" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:5 +msgid "__iall__(3) - \\[BIT:LOGICAL\\] Bitwise and of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:18 +msgid "" +"Reduces with bitwise _and_ the elements of __array__ along dimension " +"__dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:27 +#: ../../source/learn/intrinsics/_pages/IANY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __1 to n__, where __n__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _all_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:72 +msgid "[__iany__(3)](IANY), [__iparity__(3)](IPARITY), [__iand__(3)](IAND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:2 +msgid "iand" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:5 +msgid "__iand__(3) - \\[BIT:LOGICAL\\] Bitwise logical and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:14 +msgid "Bitwise logical __and__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:22 +#: ../../source/learn/intrinsics/_pages/IEOR.md:22 +msgid "The type shall be _integer_, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:26 +#: ../../source/learn/intrinsics/_pages/IOR.md:28 +msgid "" +"The return type is _integer_, of the same kind as the arguments. (If the " +"argument kinds differ, it is of the same kind as the larger argument.)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:51 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:2 +msgid "iany" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:5 +msgid "__iany__(3) - \\[BIT:LOGICAL\\] Bitwise or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:18 +msgid "" +"Reduces with bitwise or (inclusive or) the elements of __array__ along " +"dimension __dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _or_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:70 +msgid "[__iparity__(3)](IPARITY), [__iall__(3)](IALL), [__ior__(3)](IOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:2 +msgid "ieor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:5 +msgid "__ieor__(3) - \\[BIT:LOGICAL\\] Bitwise logical exclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:14 +msgid "__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:35 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:2 +msgid "ior" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:5 +msgid "__ior__(3) - \\[BIT:LOGICAL\\] Bitwise logical inclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:16 +msgid "__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:21 +msgid "an _integer_ scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:24 +msgid "_integer_ scalar or array, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:60 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:2 +msgid "not" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:4 +msgid "__not__(3) - \\[BIT:LOGICAL\\] Logical negation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:12 +msgid "NOT returns the bitwise Boolean inverse of I." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:21 +msgid "The return type is _integer_, of the same kind as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:52 +msgid "" +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__ibits__(3)](IBITS), [__ibset__(3)](IBSET)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:58 +msgid "[__ibclr__(3)](IBCLR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:2 +msgid "ishftc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:5 +msgid "__ishftc__(3) - \\[BIT:SHIFT\\] Shift bits circularly" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:14 +msgid "" +"__ishftc__(3) returns a value corresponding to __i__ with the rightmost " +"__size__ bits shifted circularly __shift__ places; that is, bits shifted " +"out one end are shifted into the opposite end. A value of __shift__ " +"greater than zero corresponds to a left shift, a value of zero " +"corresponds to no shift, and a value less than zero corresponds to a " +"right shift. The absolute value of __shift__ must be less than __size__. " +"If the __size__ argument is omitted, it is taken to be equivalent to " +"__bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:30 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:22 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:29 +msgid "__size__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:31 +msgid "" +"(Optional) The type shall be _integer_; the value must be greater than " +"zero and less than or equal to __bit\\_size__(i)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:44 +msgid "[__ishft__(3)](ISHFT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:2 +msgid "ishft" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:5 +msgid "__ishft__(3) - \\[BIT:SHIFT\\] Shift bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:14 +msgid "" +"__ishft__(3) returns a value corresponding to __i__ with all of the bits " +"shifted __shift__ places. A value of __shift__ greater than zero " +"corresponds to a left shift, a value of zero corresponds to no shift, and" +" a value less than zero corresponds to a right shift. If the absolute " +"value of __shift__ is greater than __bit\\_size(i)__, the value is " +"undefined. Bits shifted out from the left end or right end are lost; " +"zeros are shifted in from the opposite end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:40 +msgid "[__ishftc__(3)](ISHFTC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:2 +msgid "shifta" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:5 +msgid "__shifta__(3) - \\[BIT:SHIFT\\] shift bits right with fill" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost. The fill is arithmetic: the bits shifted in from the " +"left end are equal to the leftmost bit, which in two's complement " +"representation is the sign bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:39 +msgid "[__shiftl__(3)](SHIFTL), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:2 +msgid "shiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:5 +msgid "__shiftl__(3) - \\[BIT:SHIFT\\] shift bits left" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted left " +"by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the left" +" end are lost, and bits shifted in from the right end are set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:2 +msgid "shiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:5 +msgid "__shiftr__(3) - \\[BIT:SHIFT\\] shift bits right" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost, and bits shifted in from the left end are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftl__(3)](SHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/CHARACTER_index.md:1 +msgid "Basic procedures for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:2 +msgid "len" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:5 +msgid "__len__(3) - \\[CHARACTER\\] Length of a character entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:16 +msgid "" +"where the returned value is the same kind as the __KIND__, or of the " +"default kind if __KIND__ is not specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:21 +msgid "__len(3)__ Returns the length of a _character_ string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:23 +msgid "" +"If __string__ is an array, the length of an element of __string__ is " +"returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:26 +msgid "" +"Note that __string__ need not be defined when this intrinsic is invoked, " +"as only the length (not the content) of __string__ is needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:23 +#: ../../source/learn/intrinsics/_pages/INDEX.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:31 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:22 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:22 +#: ../../source/learn/intrinsics/_pages/SCAN.md:23 +#: ../../source/learn/intrinsics/_pages/TRIM.md:18 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:42 +msgid "__string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:32 +msgid "Shall be a scalar or array of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:26 +#: ../../source/learn/intrinsics/_pages/INDEX.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:24 +#: ../../source/learn/intrinsics/_pages/LEN.md:35 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:52 +msgid "" +"An _integer_ initialization expression indicating the kind parameter of " +"the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:28 +#: ../../source/learn/intrinsics/_pages/INDEX.md:43 +#: ../../source/learn/intrinsics/_pages/LEN.md:40 +#: ../../source/learn/intrinsics/_pages/SCAN.md:38 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:57 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:45 +msgid "FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:110 +msgid "" +"len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines " +"that allow you to deal with leading and trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:66 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:79 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:111 +#: ../../source/learn/intrinsics/_pages/INDEX.md:75 +#: ../../source/learn/intrinsics/_pages/LEN.md:113 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:74 +#: ../../source/learn/intrinsics/_pages/LGE.md:47 +#: ../../source/learn/intrinsics/_pages/LGT.md:49 +#: ../../source/learn/intrinsics/_pages/LLE.md:95 +#: ../../source/learn/intrinsics/_pages/LLT.md:49 +#: ../../source/learn/intrinsics/_pages/SCAN.md:65 +#: ../../source/learn/intrinsics/_pages/TRIM.md:56 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:249 +msgid "" +"Functions that perform operations on character strings, return lengths of" +" arguments, and search for certain arguments:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:78 +#: ../../source/learn/intrinsics/_pages/LEN.md:116 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:77 +#: ../../source/learn/intrinsics/_pages/LLT.md:52 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:66 +#: ../../source/learn/intrinsics/_pages/SCAN.md:68 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:86 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:122 +#: ../../source/learn/intrinsics/_pages/INDEX.md:82 +#: ../../source/learn/intrinsics/_pages/LEN.md:123 +#: ../../source/learn/intrinsics/_pages/LGE.md:58 +#: ../../source/learn/intrinsics/_pages/LGT.md:60 +#: ../../source/learn/intrinsics/_pages/LLE.md:106 +#: ../../source/learn/intrinsics/_pages/LLT.md:56 +#: ../../source/learn/intrinsics/_pages/SCAN.md:72 +#: ../../source/learn/intrinsics/_pages/TRIM.md:67 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:2 +msgid "new\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:5 +msgid "__new\\_line__(3) - \\[CHARACTER\\] new-line character" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:16 +msgid "__new\\_line(c)__ returns the new-line character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:18 +msgid "Case (i)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:19 +msgid "" +"If __a__ is default _character_ and the character in position __10__ of " +"the ASCII collating sequence is representable in the default character " +"set, then the result is __achar(10)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:23 +msgid "Case (ii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:24 +msgid "" +"If __a__ is an ASCII character or an ISO 10646 character, then the result" +" is __char(10, kind (a))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:27 +msgid "Case (iii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:28 +msgid "" +"Otherwise, the result is a processor-dependent character that represents " +"a newline in output to files connected for formatted stream output if " +"there is such a character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:32 +msgid "Case (iv)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:33 +msgid "Otherwise, the result is the blank character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:37 +msgid "__C__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:38 +msgid "The argument shall be a scalar or array of the type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:42 +msgid "" +"Returns a _character_ scalar of length one with the new-line character of" +" the same kind as parameter __c__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:56 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:55 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:59 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:79 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:121 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:61 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:49 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:66 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:74 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:33 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:57 +msgid "Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:2 +msgid "repeat" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:5 +msgid "__repeat__(3) - \\[CHARACTER\\] Repeated string concatenation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:18 +msgid "Concatenates __ncopies__ copies of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:23 +msgid "" +"The input string to repeatedly generate. Shall be scalar and of type " +"_character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:27 +msgid "" +"Number of copies to make of _string_, greater than or equal to zero (0). " +"Shall be scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:32 +msgid "" +"A new scalar of type _character_ built up from __ncopies__ copies of " +"__string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:64 +msgid "Functions that perform operations on character strings:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:73 +msgid "" +"__Non-elemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:2 +msgid "achar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:5 +msgid "" +"__achar__(3) - \\[CHARACTER:CONVERSION\\] returns a character in a " +"specified position in the ASCII collating sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:16 +msgid "where KIND may be any supported kind value for _integer_ types." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:20 +msgid "" +"__achar(i)__ returns the character located at position __i__ (commonly " +"called the _ADE_ or ASCII Decimal Equivalent) in the ASCII collating " +"sequence." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:23 +msgid "" +"The __achar__(3) function is often used for generating in-band escape " +"sequences to control terminal attributes." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:28 +msgid "will clear the screen on an ANSI-compatible terminal display, for example." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:34 +msgid "" +"the _integer_ value to convert to an ASCII character, in the range 0 to " +"127." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:38 +#: ../../source/learn/intrinsics/_pages/AINT.md:35 +#: ../../source/learn/intrinsics/_pages/ANINT.md:22 +msgid "" +"(optional) an _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:43 +msgid "" +"The return value is the requested character of type _character_ with a " +"length of one. If the __kind__ argument is present, the return value is " +"of the specified kind and of the default kind otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:124 +#: ../../source/learn/intrinsics/_pages/CHAR.md:51 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:83 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:92 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:64 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:72 +msgid "__Note__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:126 +msgid "The ADEs (ASCII Decimal Equivalents) for ASCII are" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:151 +#: ../../source/learn/intrinsics/_pages/INDEX.md:70 +msgid "FORTRAN 77 and later, with KIND argument Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:155 +msgid "[__char__(3)](CHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:159 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:106 +msgid "__Resources__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:161 +msgid "[ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:162 +msgid "" +"[M_attr module](https://github.com/urbanjost/M_attr) for controlling " +"ANSI-compatible terminals" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:2 +msgid "char" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:5 +msgid "__char__(3) - \\[CHARACTER\\] Character conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:18 +msgid "__char(i, kind)__ returns the character represented by the integer __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:26 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:23 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:32 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:27 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:27 +#: ../../source/learn/intrinsics/_pages/REAL.md:21 +#: ../../source/learn/intrinsics/_pages/SCAN.md:33 +msgid "" +"(Optional) An _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:31 +msgid "The return value is of type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:53 +msgid "" +"See [__ichar__(3)](CHAR) for a discussion of converting between numerical" +" values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:123 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:62 +#: ../../source/learn/intrinsics/_pages/AINT.md:81 +#: ../../source/learn/intrinsics/_pages/ANINT.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:58 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:163 +#: ../../source/learn/intrinsics/_pages/CONJG.md:98 +#: ../../source/learn/intrinsics/_pages/COS.md:67 +#: ../../source/learn/intrinsics/_pages/DBLE.md:52 +#: ../../source/learn/intrinsics/_pages/DIM.md:64 +#: ../../source/learn/intrinsics/_pages/DPROD.md:84 +#: ../../source/learn/intrinsics/_pages/EXP.md:84 +#: ../../source/learn/intrinsics/_pages/INT.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:41 +#: ../../source/learn/intrinsics/_pages/LGT.md:41 +#: ../../source/learn/intrinsics/_pages/LLE.md:87 +#: ../../source/learn/intrinsics/_pages/LLT.md:41 +#: ../../source/learn/intrinsics/_pages/LOG.md:49 +#: ../../source/learn/intrinsics/_pages/LOG10.md:57 +#: ../../source/learn/intrinsics/_pages/MAX.md:111 +#: ../../source/learn/intrinsics/_pages/MIN.md:48 +#: ../../source/learn/intrinsics/_pages/MOD.md:72 +#: ../../source/learn/intrinsics/_pages/REAL.md:67 +#: ../../source/learn/intrinsics/_pages/SIGN.md:74 +#: ../../source/learn/intrinsics/_pages/SIN.md:123 +#: ../../source/learn/intrinsics/_pages/SQRT.md:87 +msgid "FORTRAN 77 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:62 +msgid "[__achar__(3)](ACHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:82 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:2 +msgid "iachar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:5 +msgid "" +"__iachar__(3) - \\[CHARACTER:CONVERSION\\] Code in ASCII collating " +"sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:14 +msgid "" +"__iachar__(c) returns the code for the ASCII character in the first " +"character position of C." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:19 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:28 +msgid "__c__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:20 +msgid "Shall be a scalar _character_, with _intent(in)_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:66 +msgid "" +"See [__ichar__(3)](ICHAR) for a discussion of converting between " +"numerical values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:71 +#: ../../source/learn/intrinsics/_pages/SCAN.md:61 +msgid "Fortran 95 and later, with KIND argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:75 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:2 +msgid "ichar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:5 +msgid "" +"__ichar__(3) - \\[CHARACTER:CONVERSION\\] Character-to-integer conversion" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:17 +msgid "" +"__ichar(c)__ returns the code for the character in the system's native " +"character set. The correspondence between characters and their codes is " +"not necessarily the same across different Fortran implementations. For " +"example, a platform using EBCDIC would return different values than an " +"ASCII platform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:23 +msgid "See __iachar__(3) for specifically working with the ASCII character set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:29 +msgid "Shall be a scalar _character_, with __intent(in)__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:37 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:32 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:74 +msgid "" +"No intrinsic exists to convert between a numeric value and a formatted " +"character string representation -- for instance, given the _character_ " +"value '154', obtaining an _integer_ or _real_ value with the value 154, " +"or vice versa. Instead, this functionality is provided by internal-file " +"I/O, as in the following example:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:103 +msgid "Fortran 95 and later, with KIND argument -Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:107 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__iachar__(3)](IACHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:50 +#: ../../source/learn/intrinsics/_pages/LGT.md:52 +#: ../../source/learn/intrinsics/_pages/LLE.md:98 +#: ../../source/learn/intrinsics/_pages/TRIM.md:59 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:119 +#: ../../source/learn/intrinsics/_pages/LGE.md:55 +#: ../../source/learn/intrinsics/_pages/LLE.md:103 +#: ../../source/learn/intrinsics/_pages/TRIM.md:64 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:2 +msgid "index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:5 +msgid "" +"__index__(3) - \\[CHARACTER:SEARCH\\] Position of a substring within a " +"string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:20 +msgid "" +"Returns the position of the start of the leftmost or rightmost occurrence" +" of string __substring__ in __string__, counting from one. If " +"__substring__ is not present in __string__, zero is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:27 +msgid "string to be searched" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:29 +msgid "__substring__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:30 +msgid "string to attempt to locate in __string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:29 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:48 +msgid "__back__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:33 +msgid "" +"If the __back__ argument is present and true, the return value is the " +"start of the rightmost occurrence rather than the leftmost." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:42 +msgid "__START__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:48 +msgid "Example program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:2 +msgid "scan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:5 +msgid "" +"__scan__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the presence of a " +"set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:14 +msgid "Scans a __string__ for any of the characters in a __set__ of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:16 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __STRING__ that is in __set__." +" If __back__ equals __.true.__, the rightmost position is returned. If no" +" character of __set__ is found in __string__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:24 +#: ../../source/learn/intrinsics/_pages/SCAN.md:27 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:43 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:46 +msgid "Shall be of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:26 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:45 +msgid "__set__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:30 +msgid "(Optional) shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:2 +msgid "verify" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:5 +msgid "" +"__verify__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the absence of a" +" set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:20 +msgid "" +"Verifies that all the characters in __string__ belong to the set of " +"characters in __set__ by identifying the first character in the string(s)" +" that is not in the set(s)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:24 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __string__ that is not in " +"__set__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:28 +msgid "If __back__ equals __.true.__, the rightmost position is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:30 +msgid "If all characters of __string__ are found in __set__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:32 +msgid "" +"This makes it easy to verify strings are all uppercase or lowercase, " +"follow a basic syntax, only contain printable characters, and many of the" +" conditions tested for with the C routines __isalnum__(3c), " +"__isalpha__(3c), __isascii__(3c), __isblank__(3c), __iscntrl__(3c), " +"__isdigit__(3c), __isgraph__(3c), __islower__(3c), __isprint__(3c), " +"__ispunct__(3c), __isspace__(3c), __isupper__(3c), and __isxdigit__(3c); " +"but for a string as well an an array of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:49 +msgid "shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:62 +msgid "Sample program I:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:137 +msgid "Sample program II:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:139 +msgid "Determine if strings are valid integer representations" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:187 +msgid "Sample program III:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:189 +msgid "Determine if strings represent valid Fortran symbol names" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:69 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:245 +msgid "Fortran 95 and later, with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:252 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:259 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:2 +msgid "lge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:5 +msgid "__lge__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:14 +msgid "" +"Determines whether one string is lexically greater than or equal to " +"another string, where the two strings are interpreted as containing ASCII" +" character codes. If the String __a__ and String __b__ are not the same " +"length, the shorter is compared as if spaces were appended to it to form " +"a value that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:20 +msgid "" +"In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), " +"__lle__(3), and __llt__(3) differ from the corresponding intrinsic " +"operators .ge., .gt., .le., and .lt., in that the latter use the " +"processor's character ordering (which is not ASCII on some targets), " +"whereas the former always use the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:28 +#: ../../source/learn/intrinsics/_pages/LGT.md:28 +#: ../../source/learn/intrinsics/_pages/LLT.md:28 +msgid "__string\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:29 +#: ../../source/learn/intrinsics/_pages/LGE.md:32 +#: ../../source/learn/intrinsics/_pages/LGT.md:29 +#: ../../source/learn/intrinsics/_pages/LGT.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:29 +#: ../../source/learn/intrinsics/_pages/LLT.md:32 +msgid "Shall be of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:31 +#: ../../source/learn/intrinsics/_pages/LGT.md:31 +#: ../../source/learn/intrinsics/_pages/LLT.md:31 +msgid "__string\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:36 +msgid "" +"Returns .true. if string\\_a \\>= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:45 +msgid "__\\[\\[lgt__(3), __\\[\\[lle__(3), __\\[\\[llt__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:2 +msgid "lgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:5 +msgid "__lgt__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:14 +msgid "" +"Determines whether one string is lexically greater than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the String __a__ and String __b__ are not the same length, the " +"shorter is compared as if spaces were appended to it to form a value that" +" has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:20 +#: ../../source/learn/intrinsics/_pages/LLE.md:26 +#: ../../source/learn/intrinsics/_pages/LLT.md:20 +msgid "" +"In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT " +"differ from the corresponding intrinsic operators .ge., .gt., .le., and " +".lt., in that the latter use the processor's character ordering (which is" +" not ASCII on some targets), whereas the former always use the ASCII " +"ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:36 +msgid "" +"Returns .true. if string\\_a \\> string\\_b, and .false. otherwise, based" +" on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:45 +msgid "[__lge__(3)](LGE), [__lle__(3)](LLE), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:57 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:2 +msgid "lle" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:5 +msgid "__lle__(3) - \\[CHARACTER:COMPARE\\] Lexical less than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:20 +msgid "" +"Determines whether one string is lexically less than or equal to another " +"string, where the two strings are interpreted as containing ASCII " +"character codes. if the __string\\_a__ and __string\\_b__ are not the " +"same length, the shorter is compared as if spaces were appended to it to " +"form a value that has the same length as the longer. Leading spaces are " +"significant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:34 +msgid "__str\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:38 +msgid "variable or array of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:37 +msgid "__str\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:40 +msgid "if __str_a__ and __str_b__ are both arrays they must be of the same shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:45 +msgid "" +"__result__ Returns __.true.__ if __STR\\_A \\<= STR\\_B__, and " +"__.false.__ otherwise, based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:91 +msgid "[__lge__(3)](LGE), [__lgt__(3),](LGT), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:2 +msgid "llt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:5 +msgid "__llt__(3) - \\[CHARACTER:COMPARE\\] Lexical less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:14 +msgid "" +"Determines whether one string is lexically less than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the __string\\_a__ and __string\\_b__ are not the same length, " +"the shorter is compared as if spaces were appended to it to form a value " +"that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:36 +msgid "" +"Returns .true. if string\\_a \\<= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:45 +msgid "[__lge__(3)](LGE), [__lgt__(3)](LGT), [__lle__(3](LLE))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:2 +msgid "adjustl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:5 +msgid "__adjustl__(3) - \\[CHARACTER:WHITESPACE\\] Left-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:17 +msgid "" +"__adjustl(string)__ will left-adjust a string by removing leading spaces." +" Spaces are inserted at the end of the string as needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:23 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:24 +msgid "the type shall be _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:27 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where leading spaces are removed and the same number of spaces" +" are inserted on the end of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:64 +msgid "[__adjustr__(3)](ADJUSTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:2 +msgid "adjustr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:5 +msgid "__adjustr__(3) - \\[CHARACTER:WHITESPACE\\] Right-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:17 +msgid "" +"__adjustr(string)__ right-adjusts a string by removing trailing spaces. " +"Spaces are inserted at the start of the string as needed to retain the " +"original length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:28 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where trailing spaces are removed and the same number of " +"spaces are inserted at the start of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:77 +msgid "[__adjustl__(3)](ADJUSTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:2 +msgid "len\\_trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:5 +msgid "" +"__len\\_trim__(3) - \\[CHARACTER:WHITESPACE\\] Length of a character " +"entity without trailing blank characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:18 +msgid "Returns the length of a character string, ignoring any trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:23 +msgid "" +"The input string whose length is to be measured. Shall be a scalar of " +"type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:84 +msgid "" +"__Nonelemental:__ [__repeat__(3)](REPEAT), [__len__(3)](LEN), " +"[__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:2 +msgid "trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:5 +msgid "" +"__trim__(3) - \\[CHARACTER:WHITESPACE\\] Remove trailing blank characters" +" of a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:14 +msgid "Removes trailing blank characters of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:19 +msgid "Shall be a scalar of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:23 +msgid "" +"A scalar of type _character_ which length is that of __string__ less the " +"number of trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/COMPILER_index.md:1 +msgid "Information about compiler and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:2 +msgid "compiler\\_options" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:5 +msgid "" +"__compiler\\_options__(3) - \\[COMPILER INQUIRY\\] Options passed to the " +"compiler" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:14 +msgid "compiler\\_options returns a string with the options used for compiling." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:18 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:21 +msgid "None." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:22 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the compiler flags used to compile the file, which called the" +" compiler\\_options intrinsic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:52 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:55 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:53 +msgid "Fortran 2008" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:56 +msgid "[__compiler\\_version__(3)](COMPILER_VERSION), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:2 +msgid "compiler\\_version" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:5 +msgid "__compiler\\_version__(3) - \\[COMPILER INQUIRY\\] Compiler version string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:16 +msgid "" +"__compiler\\_version__(3) returns a string containing the name and " +"version of the compiler." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:25 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the name of the compiler and its version number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:59 +msgid "[__compiler\\_options__(3)](COMPILER_OPTIONS), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/C_index.md:1 +msgid "Procedures for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:2 +msgid "c\\_associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:5 +msgid "__c\\_associated__(3) - \\[ISO\\_C\\_BINDING\\] Status of a C pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:14 +msgid "" +"__c\\_associated(c\\_prt\\_1\\[, c\\_ptr\\_2\\])__ determines the status " +"of the C pointer c\\_ptr\\_1 or if c\\_ptr\\_1 is associated with the " +"target c\\_ptr\\_2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:20 +msgid "__c\\_ptr\\_1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:21 +msgid "Scalar of the type c\\_ptr or c\\_funptr." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:23 +msgid "__c\\_ptr\\_2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:24 +msgid "(Optional) Scalar of the same type as c\\_ptr\\_1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:28 +msgid "" +"The return value is of type _logical_; it is .false. if either " +"c\\_ptr\\_1 is a C NULL pointer or if c\\_ptr1 and c\\_ptr\\_2 point to " +"different addresses." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_funloc__(3)](C_FUNLOC), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:2 +msgid "c\\_f\\_pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:5 +msgid "" +"__c\\_f\\_pointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into Fortran " +"pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:14 +msgid "" +"__c\\_f\\_pointer(cptr, fptr\\[, shape\\])__ Assign the target, the C " +"pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:19 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:19 +msgid "__cptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:20 +msgid "scalar of the type c\\_ptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:22 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:22 +msgid "__fptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:23 +msgid "pointer interoperable with __cptr__. it is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:25 +msgid "__shape__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:26 +msgid "" +"(Optional) Rank-one array of type _integer_ with __intent(in)__ . It " +"shall be present if and only if __fptr__ is an array. The size must be " +"equal to the rank of __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:57 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:2 +msgid "c\\_f\\_procpointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:5 +msgid "" +"__c\\_f\\_procpointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into " +"Fortran procedure pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:14 +msgid "" +"__c\\_f\\_procpointer(cptr, fptr)__ assigns the target of the C function " +"pointer __cptr__ to the Fortran procedure pointer __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:20 +msgid "scalar of the type c\\_funptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:23 +msgid "procedure pointer interoperable with __cptr__. It is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_pointer__(3)](C_F_POINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:2 +msgid "c\\_funloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:5 +msgid "" +"__c\\_funloc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of a " +"procedure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:14 +msgid "__c\\_funloc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:23 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:24 +#: ../../source/learn/intrinsics/_pages/AINT.md:31 +#: ../../source/learn/intrinsics/_pages/ASIN.md:27 +#: ../../source/learn/intrinsics/_pages/ASINH.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:28 +#: ../../source/learn/intrinsics/_pages/ATANH.md:18 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:34 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:34 +#: ../../source/learn/intrinsics/_pages/COS.md:27 +#: ../../source/learn/intrinsics/_pages/COSH.md:25 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:19 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:26 +#: ../../source/learn/intrinsics/_pages/DIM.md:24 +#: ../../source/learn/intrinsics/_pages/DPROD.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:32 +#: ../../source/learn/intrinsics/_pages/ERF.md:21 +#: ../../source/learn/intrinsics/_pages/ERFC.md:37 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:24 +#: ../../source/learn/intrinsics/_pages/EXP.md:29 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:20 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/HUGE.md:25 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:28 +#: ../../source/learn/intrinsics/_pages/KIND.md:18 +#: ../../source/learn/intrinsics/_pages/LOG.md:19 +#: ../../source/learn/intrinsics/_pages/LOG10.md:21 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:18 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:19 +#: ../../source/learn/intrinsics/_pages/NINT.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:18 +#: ../../source/learn/intrinsics/_pages/RANGE.md:25 +#: ../../source/learn/intrinsics/_pages/REAL.md:17 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:21 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:28 +#: ../../source/learn/intrinsics/_pages/SINH.md:30 +#: ../../source/learn/intrinsics/_pages/SPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SQRT.md:43 +#: ../../source/learn/intrinsics/_pages/TAN.md:18 +#: ../../source/learn/intrinsics/_pages/TANH.md:18 +#: ../../source/learn/intrinsics/_pages/TINY.md:23 +msgid "__x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:19 +msgid "Interoperable function or pointer to such function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:23 +msgid "" +"The return value is of type c\\_funptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:63 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_loc__(3)](C_LOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:67 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:54 +msgid "[__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), __iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:2 +msgid "c\\_loc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:5 +msgid "__c\\_loc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of an object" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:14 +msgid "__c\\_loc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:19 +msgid "" +"Shall have either the _pointer_ or _target_ attribute. It shall not be a " +"coindexed object. It shall either be a variable with interoperable type " +"and kind type parameters, or be a scalar, nonpolymorphic variable with no" +" length type parameters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:26 +msgid "" +"The return value is of type c\\_ptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:50 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_funloc__(3)](C_FUNLOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:2 +msgid "c\\_sizeof" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:5 +msgid "__c\\_sizeof__(3) - \\[ISO\\_C\\_BINDING\\] Size in bytes of an expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:14 +msgid "" +"__c\\_sizeof(x)__ calculates the number of bytes of storage the " +"expression __x__ occupies." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:20 +msgid "The argument shall be an interoperable data entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:24 +msgid "" +"The return value is of type integer and of the system-dependent kind " +"c\\_size\\_t (from the *iso\\_c\\_binding* module). Its value is the " +"number of bytes occupied by the argument. If the argument has the " +"_pointer_ attribute, the number of bytes of the storage area pointed to " +"is returned. If the argument is of a derived type with _pointer_ or " +"_allocatable_ components, the return value does not account for the sizes" +" of the data pointed to by these components." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:48 +msgid "" +"The example will print .true. unless you are using a platform where " +"default _real_ variables are unusually padded." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:57 +msgid "[__storage\\_size__(3)](STORAGE_SIZE)" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:1 +msgid "GNU Free Documentation License" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:2 +msgid "*Version 1.2, November 2002*" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:9 +msgid "0. PREAMBLE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:11 +msgid "" +"The purpose of this License is to make a manual, textbook, or other " +"functional and useful document \"free\" in the sense of freedom: to " +"assure everyone the effective freedom to copy and redistribute it, with " +"or without modifying it, either commercially or noncommercially. " +"Secondarily, this License preserves for the author and publisher a way to" +" get credit for their work, while not being considered responsible for " +"modifications made by others." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:19 +msgid "" +"This License is a kind of \"copyleft\", which means that derivative works" +" of the document must themselves be free in the same sense. It " +"complements the GNU General Public License, which is a copyleft license " +"designed for free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:24 +msgid "" +"We have designed this License in order to use it for manuals for free " +"software, because free software needs free documentation: a free program " +"should come with manuals providing the same freedoms that the software " +"does. But this License is not limited to software manuals; it can be " +"used for any textual work, regardless of subject matter or whether it is " +"published as a printed book. We recommend this License principally for " +"works whose purpose is instruction or reference." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:33 +msgid "1. APPLICABILITY AND DEFINITIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:35 +msgid "" +"This License applies to any manual or other work, in any medium, that " +"contains a notice placed by the copyright holder saying it can be " +"distributed under the terms of this License. Such a notice grants a " +"world-wide, royalty-free license, unlimited in duration, to use that work" +" under the conditions stated herein. The \"Document\", below, refers to " +"any such manual or work. Any member of the public is a licensee, and is " +"addressed as \"you\". You accept the license if you copy, modify or " +"distribute the work in a way requiring permission under copyright law." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:45 +msgid "" +"A \"Modified Version\" of the Document means any work containing the " +"Document or a portion of it, either copied verbatim, or with " +"modifications and/or translated into another language." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:49 +msgid "" +"A \"Secondary Section\" is a named appendix or a front-matter section of " +"the Document that deals exclusively with the relationship of the " +"publishers or authors of the Document to the Document's overall subject " +"(or to related matters) and contains nothing that could fall directly " +"within that overall subject. (Thus, if the Document is in part a " +"textbook of mathematics, a Secondary Section may not explain any " +"mathematics.) The relationship could be a matter of historical " +"connection with the subject or with related matters, or of legal, " +"commercial, philosophical, ethical or political position regarding them." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:60 +msgid "" +"The \"Invariant Sections\" are certain Secondary Sections whose titles " +"are designated, as being those of Invariant Sections, in the notice that " +"says that the Document is released under this License. If a section does" +" not fit the above definition of Secondary then it is not allowed to be " +"designated as Invariant. The Document may contain zero Invariant " +"Sections. If the Document does not identify any Invariant Sections then " +"there are none." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:68 +msgid "" +"The \"Cover Texts\" are certain short passages of text that are listed, " +"as Front-Cover Texts or Back-Cover Texts, in the notice that says that " +"the Document is released under this License. A Front-Cover Text may be " +"at most 5 words, and a Back-Cover Text may be at most 25 words." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:73 +msgid "" +"A \"Transparent\" copy of the Document means a machine-readable copy, " +"represented in a format whose specification is available to the general " +"public, that is suitable for revising the document straightforwardly with" +" generic text editors or (for images composed of pixels) generic paint " +"programs or (for drawings) some widely available drawing editor, and that" +" is suitable for input to text formatters or for automatic translation to" +" a variety of formats suitable for input to text formatters. A copy made" +" in an otherwise Transparent file format whose markup, or absence of " +"markup, has been arranged to thwart or discourage subsequent modification" +" by readers is not Transparent. An image format is not Transparent if " +"used for any substantial amount of text. A copy that is not " +"\"Transparent\" is called \"Opaque\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:86 +msgid "" +"Examples of suitable formats for Transparent copies include plain ASCII " +"without markup, Texinfo input format, LaTeX input format, SGML or XML " +"using a publicly available DTD, and standard-conforming simple HTML, " +"PostScript or PDF designed for human modification. Examples of " +"transparent image formats include PNG, XCF and JPG. Opaque formats " +"include proprietary formats that can be read and edited only by " +"proprietary word processors, SGML or XML for which the DTD and/or " +"processing tools are not generally available, and the machine-generated " +"HTML, PostScript or PDF produced by some word processors for output " +"purposes only." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:97 +msgid "" +"The \"Title Page\" means, for a printed book, the title page itself, plus" +" such following pages as are needed to hold, legibly, the material this " +"License requires to appear in the title page. For works in formats which" +" do not have any title page as such, \"Title Page\" means the text near " +"the most prominent appearance of the work's title, preceding the " +"beginning of the body of the text." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:104 +msgid "" +"A section \"Entitled XYZ\" means a named subunit of the Document whose " +"title either is precisely XYZ or contains XYZ in parentheses following " +"text that translates XYZ in another language. (Here XYZ stands for a " +"specific section name mentioned below, such as \"Acknowledgements\", " +"\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the " +"Title\" of such a section when you modify the Document means that it " +"remains a section \"Entitled XYZ\" according to this definition." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:112 +msgid "" +"The Document may include Warranty Disclaimers next to the notice which " +"states that this License applies to the Document. These Warranty " +"Disclaimers are considered to be included by reference in this License, " +"but only as regards disclaiming warranties: any other implication that " +"these Warranty Disclaimers may have is void and has no effect on the " +"meaning of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:120 +msgid "2. VERBATIM COPYING" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:122 +msgid "" +"You may copy and distribute the Document in any medium, either " +"commercially or noncommercially, provided that this License, the " +"copyright notices, and the license notice saying this License applies to " +"the Document are reproduced in all copies, and that you add no other " +"conditions whatsoever to those of this License. You may not use " +"technical measures to obstruct or control the reading or further copying " +"of the copies you make or distribute. However, you may accept " +"compensation in exchange for copies. If you distribute a large enough " +"number of copies you must also follow the conditions in section 3." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:132 +msgid "" +"You may also lend copies, under the same conditions stated above, and you" +" may publicly display copies." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:136 +msgid "3. COPYING IN QUANTITY" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:138 +msgid "" +"If you publish printed copies (or copies in media that commonly have " +"printed covers) of the Document, numbering more than 100, and the " +"Document's license notice requires Cover Texts, you must enclose the " +"copies in covers that carry, clearly and legibly, all these Cover Texts: " +"Front-Cover Texts on the front cover, and Back-Cover Texts on the back " +"cover. Both covers must also clearly and legibly identify you as the " +"publisher of these copies. The front cover must present the full title " +"with all words of the title equally prominent and visible. You may add " +"other material on the covers in addition. Copying with changes limited to" +" the covers, as long as they preserve the title of the Document and " +"satisfy these conditions, can be treated as verbatim copying in other " +"respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:151 +msgid "" +"If the required texts for either cover are too voluminous to fit legibly," +" you should put the first ones listed (as many as fit reasonably) on the " +"actual cover, and continue the rest onto adjacent pages." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:156 +msgid "" +"If you publish or distribute Opaque copies of the Document numbering more" +" than 100, you must either include a machine-readable Transparent copy " +"along with each Opaque copy, or state in or with each Opaque copy a " +"computer-network location from which the general network-using public has" +" access to download using public-standard network protocols a complete " +"Transparent copy of the Document, free of added material. If you use the " +"latter option, you must take reasonably prudent steps, when you begin " +"distribution of Opaque copies in quantity, to ensure that this " +"Transparent copy will remain thus accessible at the stated location until" +" at least one year after the last time you distribute an Opaque copy " +"(directly or through your agents or retailers) of that edition to the " +"public." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:169 +msgid "" +"It is requested, but not required, that you contact the authors of the " +"Document well before redistributing any large number of copies, to give " +"them a chance to provide you with an updated version of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:174 +msgid "4. MODIFICATIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:176 +msgid "" +"You may copy and distribute a Modified Version of the Document under the " +"conditions of sections 2 and 3 above, provided that you release the " +"Modified Version under precisely this License, with the Modified Version " +"filling the role of the Document, thus licensing distribution and " +"modification of the Modified Version to whoever possesses a copy of it. " +"In addition, you must do these things in the Modified Version:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:183 +msgid "" +"__A__. Use in the Title Page (and on the covers, if any) a title distinct" +" from that of the Document, and from those of previous versions (which " +"should, if there were any, be listed in the History section of the " +"Document). You may use the same title as a previous version if the " +"original publisher of that version gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:188 +msgid "" +"__B__. List on the Title Page, as authors, one or more persons or " +"entities responsible for authorship of the modifications in the Modified" +" Version, together with at least five of the principal authors of the " +"Document (all of its principal authors, if it has fewer than five), " +"unless they release you from this requirement." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:193 +msgid "" +"__C__. State on the Title page the name of the publisher of the Modified" +" Version, as the publisher." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:195 +msgid "__D__. Preserve all the copyright notices of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:196 +msgid "" +"__E__. Add an appropriate copyright notice for your modifications " +"adjacent to the other copyright notices." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:198 +msgid "" +"__F__. Include, immediately after the copyright notices, a license notice" +" giving the public permission to use the Modified Version under the " +"terms of this License, in the form shown in the Addendum below." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:201 +msgid "" +"__G__. Preserve in that license notice the full lists of Invariant " +"Sections and required Cover Texts given in the Document's license " +"notice." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:203 +msgid "__H__. Include an unaltered copy of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:204 +msgid "" +"__I__. Preserve the section Entitled \"History\", Preserve its Title, and" +" add to it an item stating at least the title, year, new authors, and " +"publisher of the Modified Version as given on the Title Page. If there " +"is no section Entitled \"History\" in the Document, create one stating " +"the title, year, authors, and publisher of the Document as given on its " +"Title Page, then add an item describing the Modified Version as stated " +"in the previous sentence." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:211 +msgid "" +"__J__. Preserve the network location, if any, given in the Document for " +"public access to a Transparent copy of the Document, and likewise the " +"network locations given in the Document for previous versions it was " +"based on. These may be placed in the \"History\" section. You may omit " +"a network location for a work that was published at least four years " +"before the Document itself, or if the original publisher of the version " +"it refers to gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:218 +msgid "" +"__K__. For any section Entitled \"Acknowledgements\" or \"Dedications\"," +" Preserve the Title of the section, and preserve in the section all the" +" substance and tone of each of the contributor acknowledgements and/or " +"dedications given therein." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:222 +msgid "" +"__L__. Preserve all the Invariant Sections of the Document, unaltered in" +" their text and in their titles. Section numbers or the equivalent are " +"not considered part of the section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:225 +msgid "" +"__M__. Delete any section Entitled \"Endorsements\". Such a section may" +" not be included in the Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:227 +msgid "" +"__N__. Do not retitle any existing section to be Entitled " +"\"Endorsements\" or to conflict in title with any Invariant Section." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:229 +msgid "__O__. Preserve any Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:231 +msgid "" +"If the Modified Version includes new front-matter sections or appendices " +"that qualify as Secondary Sections and contain no material copied from " +"the Document, you may at your option designate some or all of these " +"sections as invariant. To do this, add their titles to the list of " +"Invariant Sections in the Modified Version's license notice. These titles" +" must be distinct from any other section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:238 +msgid "" +"You may add a section Entitled \"Endorsements\", provided it contains " +"nothing but endorsements of your Modified Version by various parties--for" +" example, statements of peer review or that the text has been approved by" +" an organization as the authoritative definition of a standard." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:244 +msgid "" +"You may add a passage of up to five words as a Front-Cover Text, and a " +"passage of up to 25 words as a Back-Cover Text, to the end of the list of" +" Cover Texts in the Modified Version. Only one passage of Front-Cover " +"Text and one of Back-Cover Text may be added by (or through arrangements " +"made by) any one entity. If the Document already includes a cover text " +"for the same cover, previously added by you or by arrangement made by the" +" same entity you are acting on behalf of, you may not add another; but " +"you may replace the old one, on explicit permission from the previous " +"publisher that added the old one." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:254 +msgid "" +"The author(s) and publisher(s) of the Document do not by this License " +"give permission to use their names for publicity for or to assert or " +"imply endorsement of any Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:259 +msgid "5. COMBINING DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:261 +msgid "" +"You may combine the Document with other documents released under this " +"License, under the terms defined in section 4 above for modified " +"versions, provided that you include in the combination all of the " +"Invariant Sections of all of the original documents, unmodified, and list" +" them all as Invariant Sections of your combined work in its license " +"notice, and that you preserve all their Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:268 +msgid "" +"The combined work need only contain one copy of this License, and " +"multiple identical Invariant Sections may be replaced with a single copy." +" If there are multiple Invariant Sections with the same name but " +"different contents, make the title of each such section unique by adding " +"at the end of it, in parentheses, the name of the original author or " +"publisher of that section if known, or else a unique number. Make the " +"same adjustment to the section titles in the list of Invariant Sections " +"in the license notice of the combined work." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:277 +msgid "" +"In the combination, you must combine any sections Entitled \"History\" in" +" the various original documents, forming one section Entitled " +"\"History\"; likewise combine any sections Entitled \"Acknowledgements\"," +" and any sections Entitled \"Dedications\". You must delete all sections" +" Entitled \"Endorsements\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:284 +msgid "6. COLLECTIONS OF DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:286 +msgid "" +"You may make a collection consisting of the Document and other documents " +"released under this License, and replace the individual copies of this " +"License in the various documents with a single copy that is included in " +"the collection, provided that you follow the rules of this License for " +"verbatim copying of each of the documents in all other respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:292 +msgid "" +"You may extract a single document from such a collection, and distribute " +"it individually under this License, provided you insert a copy of this " +"License into the extracted document, and follow this License in all other" +" respects regarding verbatim copying of that document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:298 +msgid "7. AGGREGATION WITH INDEPENDENT WORKS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:300 +msgid "" +"A compilation of the Document or its derivatives with other separate and " +"independent documents or works, in or on a volume of a storage or " +"distribution medium, is called an \"aggregate\" if the copyright " +"resulting from the compilation is not used to limit the legal rights of " +"the compilation's users beyond what the individual works permit. When the" +" Document is included in an aggregate, this License does not apply to the" +" other works in the aggregate which are not themselves derivative works " +"of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:309 +msgid "" +"If the Cover Text requirement of section 3 is applicable to these copies " +"of the Document, then if the Document is less than one half of the entire" +" aggregate, the Document's Cover Texts may be placed on covers that " +"bracket the Document within the aggregate, or the electronic equivalent " +"of covers if the Document is in electronic form. Otherwise they must " +"appear on printed covers that bracket the whole aggregate." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:318 +msgid "8. TRANSLATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:320 +msgid "" +"Translation is considered a kind of modification, so you may distribute " +"translations of the Document under the terms of section 4. Replacing " +"Invariant Sections with translations requires special permission from " +"their copyright holders, but you may include translations of some or all " +"Invariant Sections in addition to the original versions of these " +"Invariant Sections. You may include a translation of this License, and " +"all the license notices in the Document, and any Warranty Disclaimers, " +"provided that you also include the original English version of this " +"License and the original versions of those notices and disclaimers. In " +"case of a disagreement between the translation and the original version " +"of this License or a notice or disclaimer, the original version will " +"prevail." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:333 +msgid "" +"If a section in the Document is Entitled \"Acknowledgements\", " +"\"Dedications\", or \"History\", the requirement (section 4) to Preserve " +"its Title (section 1) will typically require changing the actual title." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:339 +msgid "9. TERMINATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:341 +msgid "" +"You may not copy, modify, sublicense, or distribute the Document except " +"as expressly provided for under this License. Any other attempt to copy," +" modify, sublicense or distribute the Document 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." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:350 +msgid "10. FUTURE REVISIONS OF THIS LICENSE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:352 +msgid "" +"The Free Software Foundation may publish new, revised versions of the GNU" +" Free Documentation 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. See http://www.gnu.org/copyleft/." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:358 +msgid "" +"Each version of the License is given a distinguishing version number. If " +"the Document specifies that a particular numbered version of this License" +" \"or any later version\" applies to it, you have the option of following" +" the terms and conditions either of that specified version or of any " +"later version that has been published (not as a draft) by the Free " +"Software Foundation. If the Document does not specify a version number " +"of this License, you may choose any version ever published (not as a " +"draft) by the Free Software Foundation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:368 +msgid "ADDENDUM: How to use this License for your documents" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:370 +msgid "" +"To use this License in a document you have written, include a copy of the" +" License in the document and put the following copyright and license " +"notices just after the title page:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:382 +msgid "" +"If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, " +"replace the \"with...Texts.\" line with this:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:388 +msgid "" +"If you have Invariant Sections without Cover Texts, or some other " +"combination of the three, merge those two alternatives to suit the " +"situation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:392 +msgid "" +"If your document contains nontrivial examples of program code, we " +"recommend releasing these examples in parallel under your choice of free " +"software license, such as the GNU General Public License, to permit their" +" use in free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:397 +msgid "fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/MATH_index.md:1 +#: ../../source/learn/intrinsics/index.md:17 +msgid "General mathematical functions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:2 +msgid "acos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:4 +msgid "" +"__acos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] arccosine (inverse cosine) " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:14 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:19 +msgid "__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:24 +msgid "" +"Must be type _real_ or _complex_. If the type is _real_, the value must " +"satisfy |__x__| <= 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:29 +#, python-format +msgid "" +"The return value is of the same type and kind as __x__. The _real_ part " +"of the result is in radians and lies in the range __0 \\<= acos(x%re) " +"\\<= PI__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:60 +msgid "FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:64 +#: ../../source/learn/intrinsics/_pages/ASIN.md:94 +#: ../../source/learn/intrinsics/_pages/ATAN.md:78 +msgid "" +"[wikipedia: inverse trigonometric " +"functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:66 +msgid "Inverse function: [__cos__(3](COS))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:2 +msgid "acosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:5 +msgid "" +"__acosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic cosine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:15 +#: ../../source/learn/intrinsics/_pages/COS.md:14 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any KIND supported " +"by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:20 +msgid "__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:25 +msgid "the type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:29 +#: ../../source/learn/intrinsics/_pages/EXP.md:36 +#: ../../source/learn/intrinsics/_pages/SIN.md:34 +#: ../../source/learn/intrinsics/_pages/TAN.md:23 +msgid "The return value has the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:31 +msgid "" +"If __x__ is _complex_, the imaginary part of the result is in radians and" +" lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:34 +msgid "__0 \\<= aimag(acosh(x)) \\<= PI__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:58 +#: ../../source/learn/intrinsics/_pages/ASINH.md:57 +#: ../../source/learn/intrinsics/_pages/ATANH.md:51 +#: ../../source/learn/intrinsics/_pages/COSH.md:55 +#: ../../source/learn/intrinsics/_pages/SINH.md:86 +#: ../../source/learn/intrinsics/_pages/TANH.md:52 +msgid "" +"[Wikipedia:hyperbolic " +"functions](https://en.wikipedia.org/wiki/Hyperbolic_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:60 +msgid "Inverse function: [__cosh__(3)](COSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:2 +msgid "asin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:5 +msgid "__asin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arcsine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:14 +msgid "" +"where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:19 +msgid "__asin(x)__ computes the arcsine of its argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:21 +msgid "" +"The arcsine is the inverse function of the sine function. It is commonly " +"used in trigonometry when trying to find the angle when the lengths of " +"the hypotenuse and the opposite side of a right triangle are known." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:28 +msgid "" +"The type shall be either _real_ and a magnitude that is less than or " +"equal to one; or be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:33 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:29 +#: ../../source/learn/intrinsics/_pages/SIN.md:33 +msgid "__result__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:34 +msgid "" +"The return value is of the same type and kind as __x__. The real part of " +"the result is in radians and lies in the range __-PI/2 \\<= asin(x) \\<= " +"PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:40 +msgid "" +"The arcsine will allow you to find the measure of a right angle when you " +"know the ratio of the side opposite the angle to the hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:43 +msgid "" +"So if you knew that a train track rose 1.25 vertical miles on a track " +"that was 50 miles long, you could determine the average angle of incline " +"of the track using the arcsine. Given" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:77 +msgid "" +"The percentage grade is the slope, written as a percent. To calculate the" +" slope you divide the rise by the run. In the example the rise is 1.25 " +"mile over a run of 50 miles so the slope is 1.25/50 = 0.025. Written as a" +" percent this is 2.5 %." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:82 +msgid "" +"For the US, two and 1/2 percent is generally thought of as the upper " +"limit. This means a rise of 2.5 feet when going 100 feet forward. In the " +"US this was the maximum grade on the first major US railroad, the " +"Baltimore and Ohio. Note curves increase the frictional drag on a train " +"reducing the allowable grade." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:90 +#: ../../source/learn/intrinsics/_pages/TANH.md:49 +msgid "FORTRAN 77 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:96 +msgid "Inverse function: [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:2 +msgid "asinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:5 +msgid "" +"__asinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic sine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:15 +#: ../../source/learn/intrinsics/_pages/SINH.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:20 +msgid "__asinh(x)__ computes the inverse hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:25 +#: ../../source/learn/intrinsics/_pages/ATANH.md:19 +#: ../../source/learn/intrinsics/_pages/COSH.md:26 +#: ../../source/learn/intrinsics/_pages/EXP.md:30 +#: ../../source/learn/intrinsics/_pages/LOG.md:20 +#: ../../source/learn/intrinsics/_pages/SINH.md:31 +#: ../../source/learn/intrinsics/_pages/TAN.md:19 +#: ../../source/learn/intrinsics/_pages/TANH.md:19 +msgid "The type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:29 +msgid "" +"The return value is of the same type and kind as __x__. If __x__ is " +"_complex_, the imaginary part of the result is in radians and lies " +"between __-PI/2 \\<= aimag(asinh(x)) \\<= PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:59 +msgid "Inverse function: [__sinh__(3)](SINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:2 +msgid "atan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:5 +msgid "__atan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:15 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type. If __y__ is present __x__ is " +"_real`." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:20 +msgid "__atan(x)__ computes the arctangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:25 +msgid "" +"The type shall be _real_ or _complex_; if __y__ is present, __x__ shall " +"be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:25 +#: ../../source/learn/intrinsics/_pages/DIM.md:27 +#: ../../source/learn/intrinsics/_pages/DPROD.md:25 +#: ../../source/learn/intrinsics/_pages/DPROD.md:36 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:31 +msgid "__y__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:29 +msgid "" +"Shall be of the same type and kind as __x__. If __x__ is zero, __y__ " +"must not be zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:34 +msgid "" +"The returned value is of the same type and kind as __x__. If __y__ is " +"present, the result is identical to __atan2(y,x)__. Otherwise, it is the " +"arc tangent of __x__, where the real part of the result is in radians and" +" lies in the range __-PI/2 \\<= atan(x) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:73 +msgid "" +"FORTRAN 77 and later for a complex argument; and for two arguments " +"Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:80 +msgid "[__atan2__(3)](ATAN2), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:2 +msgid "atan2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:5 +msgid "__atan2__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:13 +msgid "" +"__atan2(y, x)__ computes the arctangent of the complex number ( __x__ + i" +" __y__ ) ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:16 +msgid "" +"This function can be used to transform from Cartesian into polar " +"coordinates and allows to determine the angle in the correct quadrant. To" +" convert from Cartesian Coordinates __(x,y)__ to polar coordinates" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:20 +msgid "" +"(r,theta): $$ \\begin{aligned} r &= \\sqrt{x**2 + y**2} \\\\ \\theta &= " +"\\tan**{__-1__}(y / x) \\end{aligned} $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:20 +#: ../../source/learn/intrinsics/_pages/CEILING.md:23 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:33 +#: ../../source/learn/intrinsics/_pages/ERF.md:22 +#: ../../source/learn/intrinsics/_pages/ERFC.md:38 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:25 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:26 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:29 +msgid "The type shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:29 +msgid "" +"The type and kind type parameter shall be the same as __y__. If __y__ is " +"zero, then __x__ must be nonzero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:34 +msgid "" +"The return value has the same type and kind type parameter as __y__. It " +"is the principal value of the complex number __(x + i, y)__. If x is " +"nonzero, then it lies in the range __-PI \\<= atan(x) \\<= PI__. The sign" +" is positive if __y__ is positive. If __y__ is zero, then the return " +"value is zero if __x__ is strictly positive, __PI__ if __x__ is negative " +"and __y__ is positive zero (or the processor does not handle signed " +"zeros), and __-PI__ if __x__ is negative and __Y__ is negative zero. " +"Finally, if __x__ is zero, then the magnitude of the result is __PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:2 +msgid "atanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:5 +msgid "" +"__atanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic tangent" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:14 +msgid "__atanh(x)__ computes the inverse hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians and lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:26 +msgid "__-PI/2 \\<= aimag(atanh(x)) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:53 +msgid "Inverse function: [__tanh__(3)](TANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:2 +msgid "cos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:5 +msgid "__cos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:19 +msgid "" +"__cos(x)__ computes the cosine of an angle __x__ given the size of the " +"angle in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:22 +msgid "" +"The cosine of a _real_ value is the ratio of the adjacent side to the " +"hypotenuse of a right-angled triangle." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:28 +msgid "The type shall be _real_ or _complex_. __x__ is assumed to be in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:33 +#: ../../source/learn/intrinsics/_pages/TINY.md:30 +msgid "The return value is of the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:35 +msgid "" +"If __x__ is of the type _real_, the return value lies in the range __-1 " +"\\<= cos(x) \\<= 1__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:70 +#: ../../source/learn/intrinsics/_pages/SIN.md:126 +msgid "[Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:72 +msgid "[__acos__(3)](ACOS), [__sin__(3)](SIN), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:2 +msgid "cosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:5 +msgid "__cosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:15 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any supported kind" +" for the associated type. The returned __value__ will be the same type " +"and kind as the input value __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:21 +msgid "__cosh(x)__ computes the hyperbolic cosine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:30 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:33 +msgid "" +"If __x__ is _real_, the return value has a lower bound of one, __cosh(x)" +" \\>= 1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:52 +msgid "FORTRAN 77 and later, for a complex argument - Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:57 +msgid "Inverse function: [__acosh__(3)](ACOSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:2 +msgid "sin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:5 +msgid "__sin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be " +"_real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:19 +msgid "" +"__sin(x)__ computes the sine of an angle given the size of the angle in " +"radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:22 +msgid "" +"The sine of an angle in a right-angled triangle is the ratio of the " +"length of the side opposite the given angle divided by the length of the " +"hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:29 +msgid "The type shall be _real_ or _complex_ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:48 +msgid "__Haversine Formula__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:50 +msgid "From the article on \"Haversine formula\" in Wikipedia:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:58 +msgid "" +"So to show the great-circle distance between the Nashville International " +"Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX)" +" in CA, USA you would start with their latitude and longitude, commonly " +"given as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:68 +msgid "which converted to floating-point values in degrees is:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:80 +msgid "" +"And then use the haversine formula to roughly calculate the distance " +"along the surface of the Earth between the locations:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:128 +msgid "[__asin__(3)](ASIN), [__cos__(3)](COS), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:2 +msgid "sinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:5 +msgid "__sinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:19 +msgid "__sinh(x)__ computes the hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:21 +msgid "The hyperbolic sine of x is defined mathematically as:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:23 +msgid "__sinh(x) = (exp(x) - exp(-x)) / 2.0__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:25 +msgid "" +"If __x__ is of type _complex_ its imaginary part is regarded as a value " +"in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:35 +msgid "The return value has same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:83 +msgid "Fortran 95 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:88 +msgid "[__asinh__(3)](ASINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:2 +msgid "tan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:5 +msgid "__tan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:14 +msgid "__tan(x)__ computes the tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:44 +msgid "FORTRAN 77 and later. For a complex argument, Fortran 2008 or later." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:48 +msgid "[__atan__(3)](ATAN), [__cos__(3)](COS), [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:2 +msgid "tanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:5 +msgid "__tanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:14 +msgid "__tanh(x)__ computes the hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is complex, " +"the imaginary part of the result is in radians. If __x__ is _real_, the " +"return value lies in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:54 +msgid "[__atanh__(3)](ATANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:2 +msgid "random\\_number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:5 +msgid "__random\\_number__(3) - \\[MATHEMATICS:RANDOM\\] Pseudo-random number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:14 +msgid "" +"Returns a single pseudorandom number or an array of pseudorandom numbers " +"from the uniform distribution over the range 0 \\<= x \\< 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:19 +msgid "__harvest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:20 +msgid "Shall be a scalar or an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:87 +msgid "[__random\\_seed__(3)](RANDOM_SEED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:2 +msgid "random\\_seed" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:5 +msgid "" +"__random\\_seed__(3) - \\[MATHEMATICS:RANDOM\\] Initialize a pseudo-" +"random number sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:14 +msgid "" +"Restarts or queries the state of the pseudorandom number generator used " +"by random\\_number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:17 +msgid "" +"If random\\_seed is called without arguments, it is seeded with random " +"data retrieved from the operating system." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:23 +msgid "" +"(Optional) Shall be a scalar and of type default _integer_, with " +"__intent(out)__. It specifies the minimum size of the arrays used with " +"the __put__ and __get__ arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:27 +msgid "__put__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:28 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(in)__ and the size of the array must be larger than or equal " +"to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:32 +msgid "__get__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:33 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(out)__ and the size of the array must be larger than or equal" +" to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:66 +msgid "[__random\\_number__(3)](RANDOM_NUMBER)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:2 +msgid "exp" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:5 +msgid "__exp__(3) - \\[MATHEMATICS\\] Exponential function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:13 +msgid "" +"__exp__(x) computes the base \"_e_\" exponential of __x__ where \"_e_\" " +"is _Euler's constant_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:16 +msgid "" +"If __x__ is of type _complex_, its imaginary part is regarded as a value " +"in radians such that (see _Euler's formula_):" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:19 +msgid "" +"if __cx=(re,im)__ then " +"__exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:24 +msgid "" +"Since __exp__(3) is the inverse function of __log__(3) the maximum valid " +"magnitude of the _real_ component of __x__ is __log(huge(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:34 +msgid "The value of the result is __e\\*\\*x__ where __e__ is Euler's constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:88 +msgid "[__log__(3)](LOG)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:90 +msgid "" +"Wikipedia:[Exponential " +"function](https://en.wikipedia.org/wiki/Exponential_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:92 +#, python-format +msgid "" +"Wikipedia:[Euler's " +"formula](https://en.wikipedia.org/wiki/Euler%27s_formula)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:2 +msgid "log" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:5 +msgid "__log__(3) - \\[MATHEMATICS\\] Logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:14 +msgid "" +"__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to" +" the base \"e\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:24 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is " +"in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:27 +msgid "__-PI__ \\< OMEGA \\<= PI." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:2 +msgid "log10" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:5 +msgid "__log10__(3) - \\[MATHEMATICS\\] Base 10 logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:16 +msgid "" +"__log10(x)__ computes the base 10 logarithm of __x__. This is generally " +"called the \"common logarithm\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:22 +msgid "A _real_ value > 0 to take the log of." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:26 +msgid "" +"The return value is of type _real_ . The kind type parameter is the same " +"as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:2 +msgid "sqrt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:5 +msgid "__sqrt__(3) - \\[MATHEMATICS\\] Square-root function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:15 +msgid "" +"Where TYPE may be _real_ or _complex_ and __KIND__ may be any kind valid " +"for the declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:20 +msgid "__sqrt(x)__ computes the principal square root of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:22 +msgid "" +"In mathematics, a square root of a number __x__ is a number __y__ such " +"that __y*y = x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:25 +msgid "" +"The number whose square root is being considered is known as the " +"_radicand_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:28 +msgid "" +"Every nonnegative number _x_ has two square roots of the same unique " +"magnitude, one positive and one negative. The nonnegative square root is " +"called the principal square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:32 +msgid "" +"The principal square root of 9 is 3, for example, even though (-3)*(-3) " +"is also 9." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:35 +msgid "A _real_, _radicand_ must be positive." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:37 +msgid "" +"Square roots of negative numbers are a special case of complex numbers, " +"where the components of the _radicand_ need not be positive in order to " +"have a valid square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:44 +msgid "" +"If __x__ is real its value must be greater than or equal to zero. The " +"type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:49 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:2 +msgid "hypot" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:5 +msgid "" +"__hypot__(3) - \\[MATHEMATICS\\] returns the distance between the point " +"and the origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:14 +msgid "where __x,y,value__ shall all be of the same __kind__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:18 +msgid "" +"__hypot(x,y)__ is referred to as the Euclidean distance function. It is " +"equal to __sqrt(x**2 + y**2)__, without undue underflow or overflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:21 +msgid "" +"In mathematics, the _Euclidean distance_ between two points in Euclidean " +"space is the length of a line segment between two points." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:24 +msgid "" +"__hypot(x,y)__ returns the distance between the point ____ and the " +"origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:32 +msgid "The type and kind type parameter shall be the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:36 +msgid "The return value has the same type and kind type parameter as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:38 +msgid "" +"The result is the positive magnitude of the distance of the point " +"____ from the origin __<0.0,0.0>__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:2 +msgid "bessel\\_j0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:5 +msgid "" +"__bessel\\_j0__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:14 +msgid "" +"__bessel\\_j0(x)__ computes the Bessel function of the first kind of " +"order __0__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.4027 \\<= " +"bessel(0,x) \\<= 1__. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:52 +msgid "" +"[__bessel\\_j1__(3)](BESSEL_J1), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:2 +msgid "bessel\\_j1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:5 +msgid "" +"__bessel\\_j1__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:14 +msgid "" +"__bessel\\_j1(x)__ computes the Bessel function of the first kind of " +"order __1__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.5818 \\<= " +"bessel(0,x) \\<= 0.5818__ . It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:2 +msgid "bessel\\_jn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:5 +msgid "__bessel\\_jn__(3) - \\[MATHEMATICS\\] Bessel function of the first kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:16 +msgid "" +"__bessel\\_jn(n, x)__ computes the Bessel function of the first kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:20 +msgid "" +"__bessel\\_jn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:25 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:25 +msgid "__n__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:26 +msgid "Shall be a scalar or an array of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:28 +msgid "__n1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:32 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:32 +msgid "Shall be a non-negative scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:31 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:31 +msgid "__n2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_. For __bessel\\_jn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:40 +msgid "" +"The return value is a scalar of type _real_. It has the same kind as " +"__x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:67 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:2 +msgid "bessel\\_y0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:5 +msgid "" +"__bessel\\_y0__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:14 +msgid "" +"__bessel\\_y0(x)__ computes the Bessel function of the second kind of " +"order 0 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:24 +msgid "The return value is of type _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:2 +msgid "bessel\\_y1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:5 +msgid "" +"__bessel\\_y1__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:14 +msgid "" +"__bessel\\_y1(x)__ computes the Bessel function of the second kind of " +"order 1 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:24 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:40 +msgid "The return value is _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:46 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:2 +msgid "bessel\\_yn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:5 +msgid "__bessel\\_yn__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:16 +msgid "" +"__bessel\\_yn(n, x)__ computes the Bessel function of the second kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:20 +msgid "" +"__bessel\\_yn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_; for __bessel\\_yn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:65 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_y1__(3)](BESSEL_Y1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:2 +msgid "erf" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:5 +msgid "__erf__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:14 +msgid "" +"__erf__(x) computes the error function of __x__, defined as $$ " +"\\text{erf}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{__-t__^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:26 +msgid "" +"The return value is of type _real_, of the same kind as __x__ and lies in" +" the range __-1__ \\<= __erf__(x) \\<= 1 ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:50 +#: ../../source/learn/intrinsics/_pages/ERFC.md:68 +msgid "See also" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:52 +msgid "[__erfc__(3)](ERFC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:54 +#: ../../source/learn/intrinsics/_pages/ERFC.md:71 +msgid "[Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:2 +msgid "erfc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:5 +msgid "__erfc__(3) - \\[MATHEMATICS\\] Complementary error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:18 +msgid "" +"__erfc__(x) computes the complementary error function of __x__. Simpy " +"put this is equivalent to __1 - erf(x)__, but __erfc__ is provided " +"because of the extreme loss of relative accuracy if __erf(x)__ is called " +"for large __x__ and the result is subtracted from __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:23 +msgid "__erfc(x)__ is defined as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:31 +msgid "" +"$$ \\text{erfc}(x) = 1 - \\text{erf}(x) = 1 - \\frac{2}{\\sqrt{\\pi}} " +"\\int_x^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:42 +msgid "" +"The return value is of type _real_ and of the same kind as __x__. It lies" +" in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:45 +msgid "0 \\<= __erfc__(x) \\<= 2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:69 +msgid "[__erf__(3)](ERF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:73 +msgid "####### fortran-lang intrinsic descriptions license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:2 +msgid "erfc\\_scaled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:5 +msgid "__erfc\\_scaled__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:14 +msgid "" +"__erfc\\_scaled__(x) computes the exponentially-scaled complementary " +"error function of __x__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:17 +msgid "$$ e^{x^2} \\frac{2}{\\sqrt{\\pi}} \\int_{x}^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:29 +msgid "The return value is of type _real_ and of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:2 +msgid "gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:5 +msgid "" +"__gamma__(3) - \\[MATHEMATICS\\] Gamma function, which yields factorials " +"for positive whole numbers" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:13 +msgid "" +"__gamma(x)__ computes Gamma of __x__. For positive whole number values of" +" __n__ the Gamma function can be used to calculate factorials, as " +"__(n-1)! == gamma(real(n))__. That is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:20 +msgid "" +"$$ \\\\__Gamma__(x) = \\\\int\\_0\\*\\*\\\\infty " +"t\\*\\*{x-1}{\\\\mathrm{e}}\\*\\*{__-t__}\\\\,{\\\\mathrm{d}}t $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:26 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:19 +msgid "Shall be of type _real_ and neither zero nor a negative integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:30 +msgid "The return value is of type _real_ of the same kind as _x_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:124 +msgid "Logarithm of the Gamma function: [__log\\_gamma__(3)](LOG_GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:126 +msgid "[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:2 +msgid "log\\_gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:5 +msgid "__log\\_gamma__(3) - \\[MATHEMATICS\\] Logarithm of the Gamma function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:14 +msgid "" +"__log\\_gamma(x)__ computes the natural logarithm of the absolute value " +"of the Gamma function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:23 +msgid "The return value is of type _real_ of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:46 +msgid "Gamma function: [__gamma__(3)](GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:2 +msgid "norm2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:5 +msgid "__norm2__(3) - \\[MATHEMATICS\\] Euclidean vector norm" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:19 +msgid "" +"Calculates the Euclidean vector norm (L\\_2 norm) of __array__ along " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:25 +msgid "Shall be an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:28 +msgid "" +"shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __rank(array)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:35 +msgid "" +"If __dim__ is absent, a scalar with the square root of the sum of squares" +" of the elements of __array__ is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:38 +msgid "" +"Otherwise, an array of rank __n-1__, where __n__ equals the rank of " +"__array__, and a shape similar to that of __array__ with dimension DIM " +"dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:87 +msgid "[__product__(3)](PRODUCT), [__sum__(3)](SUM), [__hypot__(3)](HYPOT)" +msgstr "" + +#: ../../source/learn/intrinsics/MODEL_index.md:1 +msgid "Controlling and querying the current numeric model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:2 +msgid "exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:5 +msgid "__exponent__(3) - \\[MODEL\\_COMPONENTS\\] Exponent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:14 +msgid "" +"__exponent__(x) returns the value of the exponent part of __x__. If __x__" +" is zero the value returned is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:24 +msgid "The return value is of type default _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:2 +msgid "fraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:5 +msgid "" +"__fraction__(3) - \\[MODEL\\_COMPONENTS\\] Fractional part of the model " +"representation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:14 +msgid "" +"__fraction(x)__ returns the fractional part of the model representation " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:21 +#: ../../source/learn/intrinsics/_pages/SCALE.md:22 +msgid "The type of the argument shall be a _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:25 +msgid "" +"The return value is of the same type and kind as the argument. The " +"fractional part of the model representation of __x__ is returned; it is " +"__x \\* radix(x)\\*\\*(-exponent(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:2 +msgid "nearest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:5 +msgid "__nearest__(3) - \\[MODEL\\_COMPONENTS\\] Nearest representable number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:14 +msgid "" +"__nearest(x, s)__ returns the processor-representable number nearest to " +"__x__ in the direction indicated by the sign of __s__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/SPACING.md:20 +#: ../../source/learn/intrinsics/_pages/TINY.md:24 +msgid "Shall be of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:22 +msgid "__s__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:23 +msgid "Shall be of type _real_ and not equal to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:27 +msgid "" +"The return value is of the same type as __x__. If __s__ is positive, " +"__nearest__ returns the processor-representable number greater than __x__" +" and nearest to it. If __s__ is negative, __nearest__ returns the " +"processor-representable number smaller than __x__ and nearest to it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:67 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:2 +msgid "rrspacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:5 +msgid "" +"__rrspacing__(3) - \\[MODEL\\_COMPONENTS\\] Reciprocal of the relative " +"spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:14 +msgid "" +"__rrspacing(x)__ returns the reciprocal of the relative spacing of model " +"numbers near __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:24 +msgid "" +"The return value is of the same type and kind as __x__. The value " +"returned is equal to __abs(fraction(x)) \\* " +"float(radix(x))\\*\\*digits(x)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:33 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:2 +msgid "scale" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:5 +msgid "" +"__scale__(3) - \\[MODEL\\_COMPONENTS\\] Scale a real value by a whole " +"power of the radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:17 +msgid "__scale(x,i)__ returns x \\* __radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:25 +msgid "The type of the argument shall be a _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:29 +msgid "" +"The return value is of the same type and kind as __x__. Its value is __x" +" \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:57 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:2 +msgid "set\\_exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:5 +msgid "" +"__set\\_exponent__(3) - \\[MODEL\\_COMPONENTS\\] Set the exponent of the " +"model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:14 +msgid "" +"__set\\_exponent(x, i)__ returns the real number whose fractional part is" +" that of __x__ and whose exponent part is __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:27 +msgid "" +"The return value is of the same type and kind as __x__. The real number " +"whose fractional part is that that of __x__ and whose exponent part if " +"__i__ is returned; it is __fraction(x) \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:53 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__spacing__(3)](SPACING), [__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:2 +msgid "spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:5 +msgid "" +"__spacing__(3) - \\[MODEL\\_COMPONENTS\\] Smallest distance between two " +"numbers of a given type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:14 +msgid "" +"Determines the distance between the argument __x__ and the nearest " +"adjacent number of the same type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:24 +msgid "The result is of the same type as the input argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set\\_exponent__(3)](SET_EXPONENT), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:2 +msgid "digits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:5 +msgid "__digits__(3) - \\[NUMERIC MODEL\\] Significant digits function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:14 +msgid "" +"where TYPE may be _integer_ or _real_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:19 +msgid "" +"__digits(x)__ returns the number of significant digits of the internal " +"model representation of __x__. For example, on a system using a 32-bit " +"floating point representation, a default real number would likely return " +"24." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:27 +msgid "The type may be a scalar or array of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:31 +msgid "The return value is of type _integer_ of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:63 +msgid "" +"[__epsilon__(3)](EPSILON), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:2 +msgid "epsilon" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:5 +msgid "__epsilon__(3) - \\[NUMERIC MODEL\\] Epsilon function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:13 +msgid "" +"__epsilon(x)__ returns the floating point relative accuracy. It is the " +"nearly negligible number relative to __1__ such that __1+ little_number__" +" is not equal to __1__; or more precisely" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:20 +msgid "" +"It may be thought of as the distance from 1.0 to the next largest " +"floating point number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:23 +msgid "" +"One use of __epsilon__(3) is to select a _delta_ value for algorithms " +"that search until the calculation is within _delta_ of an estimate." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:26 +msgid "" +"If _delta_ is too small the algorithm might never halt, as a computation " +"summing values smaller than the decimal resolution of the data type does " +"not change." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:37 +msgid "The return value is of the same type as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:112 +msgid "" +"[__digits__(3)](DIGITS), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:2 +msgid "huge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:5 +msgid "__huge__(3) - \\[NUMERIC MODEL\\] Largest number of a type and kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:15 +msgid "" +"where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported" +" associated _kind_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:20 +msgid "" +"__huge(x)__ returns the largest number that is not an infinity for the " +"kind and type of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:26 +msgid "" +"Shall be an arbitrary value of type _real_ or _integer_. The value is " +"used merely to determine what _kind_ and _type_ of scalar is being " +"queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:32 +msgid "" +"The return value is of the same type and kind as _x_ and is the largest " +"value supported by the specified model." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:91 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:2 +msgid "maxexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:5 +msgid "__maxexponent__(3) - \\[NUMERIC MODEL\\] Maximum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:14 +msgid "" +"__maxexponent(x)__ returns the maximum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:2 +msgid "minexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:5 +msgid "__minexponent__(3) - \\[NUMERIC MODEL\\] Minimum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:14 +msgid "" +"__minexponent(x)__ returns the minimum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:2 +msgid "precision" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:5 +msgid "__precision__(3) - \\[NUMERIC MODEL\\] Decimal precision of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:14 +msgid "" +"__precision(x)__ returns the decimal precision in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:26 +msgid "Shall be of type _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:2 +msgid "radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:5 +msgid "__radix__(3) - \\[NUMERIC MODEL\\] Base of a model number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:14 +msgid "__radix(x)__ returns the base of the model representing the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:19 +msgid "Shall be of type _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:23 +#: ../../source/learn/intrinsics/_pages/RADIX.md:23 +msgid "" +"The return value is a scalar of type _integer_ and of the default integer" +" kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:2 +msgid "range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:5 +msgid "__range__(3) - \\[NUMERIC MODEL\\] Decimal exponent range of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:16 +msgid "" +"where TYPE is _real_ or _complex_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:20 +msgid "" +"__range(x)__ returns the decimal exponent range in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:58 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:2 +msgid "tiny" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:5 +msgid "__tiny__(3) - \\[NUMERIC MODEL\\] Smallest positive number of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:14 +msgid "where KIND may be any kind supported by type _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:18 +msgid "" +"__tiny(x)__ returns the smallest positive (non zero) number of the type " +"and kind of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:28 +msgid "The smallest positive value for the _real_ type of the specified kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:54 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set_exponent__(3)](SET_EXPONENT), " +"[__spacing__(3)](SPACING)" +msgstr "" + +#: ../../source/learn/intrinsics/NUMERIC_index.md:1 +#: ../../source/learn/intrinsics/index.md:20 +msgid "Manipulation and properties of numeric values" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:2 +msgid "abs" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:5 +msgid "__abs__(3) - \\[NUMERIC\\] Absolute value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:15 +msgid "" +"where the TYPE and KIND is determined by the type and type attributes of " +"__a__, which may be any _real_, _integer_, or _complex_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:18 +msgid "" +"If the type of __a__ is _cmplx_ the type returned will be _real_ with the" +" same kind as the _real_ part of the input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:21 +msgid "Otherwise the returned type will be the same type as __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:25 +msgid "__abs(a)__ computes the absolute value of numeric argument __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:27 +msgid "" +"In mathematics, the absolute value or modulus of a real number __x__, " +"denoted __|x|__, is the magnitude of __x__ without regard to its sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:30 +msgid "" +"The absolute value of a number may be thought of as its distance from " +"zero, which is the definition used by __abs__(3) when dealing with " +"_complex_ values (_see below_)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:37 +msgid "" +"the type of the argument shall be an _integer_, _real_, or _complex_ " +"scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:42 +msgid "" +"If __a__ is of type _integer_ or _real_, the value of the result is " +"__|a|__ and of the same type and kind as the input argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:45 +msgid "" +"(Take particular note) if __a__ is _complex_ with value __(x, y)__, the " +"result is a _real_ equal to a processor-dependent approximation to " +"__sqrt(x\\*\\*2 + y\\*\\*2)__ computed without undue overflow or " +"underflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:2 +msgid "aint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:5 +msgid "__aint__(3) - \\[NUMERIC\\] Truncate to a whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:16 +msgid "or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:27 +msgid "__aint(x, kind)__ truncates its argument to a whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:32 +#: ../../source/learn/intrinsics/_pages/ANINT.md:19 +msgid "the type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:40 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If the magnitude of __x__ is less " +"than one, __aint(x)__ returns zero. If the magnitude is equal to or " +"greater than one then it returns the largest whole number that does not " +"exceed its magnitude. The sign is the same as the sign of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:85 +msgid "" +"[__anint__(3)](ANINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:2 +msgid "anint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:5 +msgid "__anint__(3) - \\[NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:14 +msgid "__anint(a \\[, kind\\])__ rounds its argument to the nearest whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:27 +msgid "" +"The return value is of type real with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If __a__ is greater than zero, " +"__anint(a)__ returns __aint(a + 0.5)__. If __a__ is less than or equal to" +" zero then it returns __aint(a - 0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:75 +msgid "" +"[__aint__(3)](AINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:2 +msgid "ceiling" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:5 +msgid "__ceiling__(3) - \\[NUMERIC\\] Integer ceiling function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:18 +msgid "__ceiling(a)__ returns the least integer greater than or equal to __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:31 +msgid "" +"The return value is of type __integer__(kind) if __kind__ is present and " +"a default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:34 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:49 +#: ../../source/learn/intrinsics/_pages/NINT.md:44 +msgid "" +"The result is undefined if it cannot be represented in the specified " +"integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:69 +msgid "[__floor__(3)](FLOOR), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:73 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:85 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:2 +msgid "conjg" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:5 +msgid "__conjg__(3) - \\[NUMERIC\\] Complex conjugate of a complex value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:14 +msgid "where __K__ is the kind of the parameter __z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:18 +msgid "__conjg(z)__ returns the complex conjugate of the _complex_ value __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:20 +msgid "" +"In mathematics, the complex conjugate of a complex_ number is the number " +"with an equal real part and an imaginary part equal in magnitude but " +"opposite in sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:24 +msgid "That is, If __z__ is __(x, y)__ then the result is __(x, -y)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:26 +msgid "" +"For matrices of complex numbers, __conjg(array)__ represents the element-" +"by-element conjugation of __array__; not the conjugate transpose of " +"__array__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:22 +#: ../../source/learn/intrinsics/_pages/CONJG.md:32 +msgid "__z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:33 +msgid "The type shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:37 +msgid "The return value is of type _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:2 +msgid "dim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:5 +msgid "__dim__(3) - \\[NUMERIC\\] Positive difference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:16 +#: ../../source/learn/intrinsics/_pages/SIGN.md:16 +msgid "" +"where TYPE may be _real_ or _integer_ and KIND is any supported kind for " +"the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:19 +msgid "" +"__dim(x,y)__ returns the difference __x - y__ if the result is positive; " +"otherwise it returns zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:25 +msgid "The type shall be _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:28 +msgid "The type shall be the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:32 +msgid "" +"The return value is the same type and kind as the input arguments __x__ " +"and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:2 +msgid "dprod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:5 +msgid "__dprod__(3) - \\[NUMERIC\\] Double product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:14 +msgid "" +"__dprod(x,y)__ produces a higher _doubleprecision_ product of default " +"_real_ numbers __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:17 +msgid "" +"The result has a value equal to a processor-dependent approximation to " +"the product of __x__ and __y__. It is recommended that the processor " +"compute the product in double precision, rather than in single precision " +"and then converted to double precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:23 +#: ../../source/learn/intrinsics/_pages/DPROD.md:26 +msgid "shall be default real." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:28 +msgid "" +"The setting of compiler options specifying _real_ size can affect this " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:34 +msgid "Must be of default _real(kind=kind(0.0))_ type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:37 +msgid "Must have the same type and kind parameters as __x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:41 +msgid "The return value is of type _real(kind=kind(0.0d0))_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:2 +msgid "floor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:5 +msgid "" +"__floor__(3) - \\[NUMERIC\\] function to return largest integral value " +"not greater than argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:19 +msgid "" +"__floor(a)__ returns the greatest integer less than or equal to __a__. " +"That is, it picks the whole number at or to the left of the value on the " +"scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:29 +msgid "" +"(Optional) A scalar _integer_ constant initialization expression " +"indicating the kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:34 +msgid "" +"The return value is of type _integer(kind)_ if __kind__ is present and of" +" default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:81 +msgid "[__ceiling__(3)](CEILING), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:2 +msgid "max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:5 +msgid "__max__(3) - \\[NUMERIC\\] Maximum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:13 +msgid "Returns the argument with the largest (most positive) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:17 +#: ../../source/learn/intrinsics/_pages/MIN.md:18 +msgid "__a1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:18 +#: ../../source/learn/intrinsics/_pages/MIN.md:19 +msgid "The type shall be _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:20 +msgid "__a2,a3,...__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:21 +msgid "An expression of the same type and kind as __a1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:25 +msgid "" +"The return value corresponds to the maximum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:28 +msgid "" +"The function is both elemental and allows for an arbitrary number of " +"arguments. This means if some elements are scalar and some are arrays " +"that all the arrays must be of the same size, and the returned value will" +" be an array that is the result as if multiple calls were made with all " +"scalar values with a single element of each array used in each call. If " +"called with all arrays the returned array is the same as if multiple " +"calls were made with __max(arr1(1),arr2(1), ...)__ to " +"__max(arr1(N),arr2(N))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:115 +msgid "[__maxloc__(3)](MAXLOC), [__maxval__(3)](MAXVAL), [__min__(3)](MIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:2 +msgid "min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:5 +msgid "__min__(3) - \\[NUMERIC\\] Minimum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:14 +msgid "Returns the argument with the smallest (most negative) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:21 +msgid "__a2, a3, \\`\\`\\`__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:22 +msgid "An expression of the same type and kind as __A1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:26 +msgid "" +"The return value corresponds to the minimum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:52 +msgid "[__max__(3)](MAX), [__minloc__(3)](MINLOC), [__minval__(3)](MINVAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:2 +msgid "mod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:5 +msgid "__mod__(3) - \\[NUMERIC\\] Remainder function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:14 +msgid "__mod__(a,p) computes the remainder of the division of __a__ by __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:19 +#: ../../source/learn/intrinsics/_pages/MODULO.md:19 +msgid "Shall be a scalar of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:21 +#: ../../source/learn/intrinsics/_pages/MODULO.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:20 +msgid "__p__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__ and not equal to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:27 +msgid "" +"The return value is the result of __a - (int(a/p) \\* p)__. The type and " +"kind of the return value is the same as that of the arguments. The " +"returned value has the same sign as __a__ and a magnitude less than the " +"magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:76 +msgid "[__modulo__(3)](MODULO)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:2 +msgid "modulo" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:5 +msgid "__modulo__(3) - \\[NUMERIC\\] Modulo function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:14 +msgid "__modulo(a,p)__ computes the __a__ modulo __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__. It shall not be " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:27 +msgid "The type and kind of the result are those of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:29 +msgid "" +"If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value " +"of __a - floor (real(a) / real(p)) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:32 +msgid "" +"If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of " +"__a - floor (a / p) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:35 +msgid "" +"The returned value has the same sign as __p__ and a magnitude less than " +"the magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:70 +msgid "[__mod__(3)](MOD)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:2 +msgid "sign" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:5 +msgid "__sign__(3) - \\[NUMERIC\\] Sign copying function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:76 +msgid "####### fortran-lang intrinsic descriptions (license: MIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:2 +msgid "cshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:5 +msgid "__cshift__(3) - \\[TRANSFORMATIONAL\\] Circular shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:14 +msgid "" +"__cshift(array, shift \\[, dim\\])__ performs a circular shift on " +"elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= dim \\<= n__, where \"n\" is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are shifted back in the other end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:36 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:49 +msgid "Returns an array of same type and rank as the __array__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:2 +msgid "dot\\_product" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:5 +msgid "__dot\\_product__(3) - \\[TRANSFORMATIONAL\\] Dot product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:14 +msgid "" +"__dot\\_product(vector\\_a, vector\\_b)__ computes the dot product " +"multiplication of two vectors vector\\_a and vector\\_b. The two vectors " +"may be either numeric or logical and must be arrays of rank one and of " +"equal size. If the vectors are _integer_ or _real_, the result is " +"__sum(vector\\_a\\*vector\\_b)__. If the vectors are _complex_, the " +"result is __sum(conjg(vector\\_a)\\*vector\\_b)__. If the vectors are " +"_logical_, the result is __any(vector\\_a .and. vector\\_b)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:24 +msgid "__vector\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:25 +msgid "The type shall be numeric or _logical_, rank 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:27 +msgid "__vector\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:28 +msgid "" +"The type shall be numeric if vector\\_a is of numeric type or _logical_ " +"if vector\\_a is of type _logical_. vector\\_b shall be a rank-one array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:34 +msgid "" +"If the arguments are numeric, the return value is a scalar of numeric " +"type, _integer_, _real_, or _complex_. If the arguments are _logical_, " +"the return value is .true. or .false.." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:2 +msgid "eoshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:5 +msgid "__eoshift__(3) - \\[TRANSFORMATIONAL\\] End-off shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:14 +msgid "" +"__eoshift(array, shift\\[, boundary, dim\\])__ performs an end-off shift " +"on elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= DIM \\<= n__ where __\"n\"__ is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are dropped. If __boundary__ is present then the corresponding " +"value of from __boundary__ is copied back in the other end. If " +"__boundary__ is not present then the following are copied in depending on" +" the type of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:25 +msgid "\\*Array Type\\* - \\*Boundary Value\\*" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:27 +msgid "Numeric 0 of the type and kind of __array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:29 +msgid "Logical .false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:31 +msgid "__Character(len)__ LEN blanks" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:36 +msgid "May be any type, not scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:41 +msgid "__boundary__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:42 +msgid "Same type as ARRAY." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:2 +msgid "matmul" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:5 +msgid "__matmul__(3) - \\[TRANSFORMATIONAL\\] matrix multiplication" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:14 +msgid "Performs a matrix multiplication on numeric or logical arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:18 +msgid "__matrix\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:19 +msgid "" +"An array of _integer_, _real_, _complex_, or _logical_ type, with a rank " +"of one or two." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:22 +msgid "__matrix\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:23 +msgid "" +"An array of _integer_, _real_, or _complex_ type if __matrix\\_a__ is of " +"a numeric type; otherwise, an array of _logical_ type. The rank shall be " +"one or two, and the first (or only) dimension of __matrix\\_b__ shall be " +"equal to the last (or only) dimension of __matrix\\_a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:30 +msgid "" +"The matrix product of __matrix\\_a__ and __matrix\\_b__. The type and " +"kind of the result follow the usual type and kind promotion rules, as for" +" the \\* or .and. operators." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:2 +msgid "parity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:5 +msgid "__parity__(3) - \\[TRANSFORMATIONAL\\] Reduction with exclusive __OR__()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:17 +msgid "where KIND and LKIND are any supported kind for the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:2 +msgid "null" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:5 +msgid "" +"__null__(3) - \\[TRANSFORMATIONAL\\] Function that returns a " +"disassociated pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:15 +msgid "Returns a disassociated pointer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:17 +msgid "" +"If __mold__ is present, a disassociated pointer of the same type is " +"returned, otherwise the type is determined by context." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:20 +msgid "" +"In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ " +"includes cases where it is required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:26 +msgid "__mold__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:25 +msgid "(Optional) shall be a pointer of any association status and of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:30 +msgid "A disassociated pointer or an unallocated allocatable entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:116 +msgid "[__associated__(3)](ASSOCIATED)" +msgstr "" + +#: ../../source/learn/intrinsics/PARALLEL_index.md:1 +msgid "Parallel programming using co\\_arrays and co\\_indexed arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:2 +msgid "co\\_broadcast" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:5 +msgid "" +"__co\\_broadcast__(3) - \\[COLLECTIVE\\] Copy a value to all images the " +"current set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:14 +msgid "" +"__co\\_broadcast(3)__ copies the value of argument __a__ on the image " +"with image index source\\_image to all images in the current team. __a__ " +"becomes defined as if by intrinsic assignment. If the execution was " +"successful and __stat__ is present, it is assigned the value zero. If the" +" execution failed, __stat__ gets assigned a nonzero value and, if " +"present, __errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:24 +msgid "" +"__intent(inout)__ argument; shall have the same dynamic type and type " +"parameters on all images of the current team. If it is an array, it shall" +" have the same shape on all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:28 +msgid "__source\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:29 +msgid "" +"a scalar integer expression. It shall have the same the same value on all" +" images and refer to an image of the current team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:32 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:32 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:34 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:34 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:51 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:34 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:30 +msgid "__stat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:33 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:35 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:52 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:35 +msgid "(optional) a scalar integer variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:37 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:54 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:37 +msgid "__errmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:36 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:38 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:38 +msgid "(optional) a scalar character variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:56 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_reduce__(3)](CO_REDUCE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:2 +msgid "co\\_lbound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:5 +msgid "__co\\_lbound__(3) - \\[COLLECTIVE\\] Lower codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:14 +msgid "" +"Returns the lower bounds of a coarray, or a single lower cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:20 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:20 +msgid "Shall be an coarray, of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:23 +msgid "(Optional) Shall be a scalar _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:31 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:31 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind. If __dim__ is " +"absent, the result is an array of the lower cobounds of __coarray__. If " +"__dim__ is present, the result is a scalar corresponding to the lower " +"cobound of the array along that codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:43 +msgid "[__co\\_ubound__(3)](CO_UBOUND), [__lbound__(3)](LBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:2 +msgid "co\\_max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:5 +msgid "" +"__co\\_max__(3) - \\[COLLECTIVE\\] Maximal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:14 +msgid "" +"co\\_max determines element-wise the maximal value of __a__ on all images" +" of the current team. If result\\_image is present, the maximum values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:26 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:26 +msgid "" +"shall be an integer, real or character variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:29 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:29 +msgid "__result\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:30 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:30 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:47 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:30 +msgid "" +"(optional) a scalar integer expression; if present, it shall have the " +"same the same value on all images and refer to an image of the current " +"team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:50 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:62 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:58 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:92 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:63 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:54 +msgid "TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:66 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:2 +msgid "co\\_min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:5 +msgid "" +"__co\\_min__(3) - \\[COLLECTIVE\\] Minimal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:14 +msgid "" +"co\\_min determines element-wise the minimal value of __a__ on all images" +" of the current team. If result\\_image is present, the minimal values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:62 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:2 +msgid "co\\_reduce" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:5 +msgid "" +"__co\\_reduce__(3) - \\[COLLECTIVE\\] Reduction of values on the current " +"set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:14 +msgid "" +"co\\_reduce determines element-wise the reduction of the value of __a__ " +"on all images of the current team. The pure function passed as " +"__operation__ is used to pairwise reduce the values of __a__ by passing " +"either the value of __a__ of different images or the result values of " +"such a reduction as argument. If __a__ is an array, the reduction is done" +" element wise. If result\\_image is present, the result values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:30 +msgid "" +"is an __intent(inout)__ argument and shall be nonpolymorphic. If it is " +"allocatable, it shall be allocated; if it is a pointer, it shall be " +"associated. __a__ shall have the same type and type parameters on all " +"images of the team; if it is an array, it shall have the same shape on " +"all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:36 +msgid "__operation__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:37 +msgid "" +"pure function with two scalar nonallocatable arguments, which shall be " +"nonpolymorphic and have the same type and type parameters as __a__. The " +"function shall return a nonallocatable scalar of the same type and type " +"parameters as __a__. The function shall be the same on all images and " +"with regards to the arguments mathematically commutative and associative." +" Note that OPERATION may not be an elemental" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:44 +msgid "__function, unless it is an intrinsic function.__ result\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:85 +msgid "" +"While the rules permit in principle an intrinsic function, none of the " +"intrinsics in the standard fulfill the criteria of having a specific " +"function, which takes two arguments of the same type and returning that " +"type as a result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:96 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_max__(3)](CO_MAX), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:2 +msgid "co\\_sum" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:5 +msgid "" +"__co\\_sum__(3) - \\[COLLECTIVE\\] Sum of values on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:14 +msgid "" +"co\\_sum sums up the values of each element of __a__ on all images of the" +" current team. If result\\_image is present, the summed-up values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:26 +msgid "" +"shall be an integer, real or complex variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:67 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:2 +msgid "co\\_ubound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:5 +msgid "__co\\_ubound__(3) - \\[COLLECTIVE\\] Upper codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:14 +msgid "" +"Returns the upper cobounds of a coarray, or a single upper cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:43 +msgid "" +"[__co\\_lbound__(3)](CO_LBOUND), [__lbound__(3)](LBOUND), " +"[__ubound__(3)](UBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:2 +msgid "event\\_query" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:5 +msgid "" +"__event\\_query__(3) - \\[COLLECTIVE\\] Query whether a coarray event has" +" occurred" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:14 +msgid "" +"__event\\_query__ assigns the number of events to __count__ which have " +"been posted to the __event__ variable and not yet been removed by calling" +" __event\\_wait__. When __stat__ is present and the invocation was " +"successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value and __count__ is " +"assigned the value __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:22 +msgid "__event__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:23 +msgid "" +"(intent(in)) Scalar of type event\\_type, defined in iso\\_fortran\\_env;" +" shall not be coindexed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:25 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:26 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:42 +msgid "__count__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:27 +msgid "" +"(intent(out))Scalar integer with at least the precision of default " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:31 +msgid "(OPTIONAL) Scalar default-kind _integer_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:2 +msgid "image\\_index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:5 +msgid "" +"__image\\_index__(3) - \\[COLLECTIVE\\] Cosubscript to image index " +"conversion" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:14 +msgid "Returns the image index belonging to a cosubscript." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:23 +msgid "__coarray__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:19 +msgid "Coarray of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:21 +msgid "__sub__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:22 +msgid "default integer rank-1 array of a size equal to the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:27 +msgid "" +"Scalar default integer with the value of the image index which " +"corresponds to the cosubscripts. For invalid cosubscripts the result is " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:50 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__num\\_images__(3)](NUM_IMAGES)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:2 +msgid "num\\_images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:5 +msgid "__num\\_images__(3) - \\[COLLECTIVE\\] Number of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:14 +msgid "Returns the number of images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:19 +msgid "__distance__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:19 +msgid "(optional, __intent(in)__) Nonnegative scalar integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:21 +msgid "__failed__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:22 +msgid "(optional, __intent(in)__) Scalar logical expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:26 +msgid "" +"Scalar default-kind _integer_. If __distance__ is not present or has " +"value 0, the number of images in the current team is returned. For values" +" smaller or equal distance to the initial team, it returns the number of " +"images index on the ancestor team which has a distance of __distance__ " +"from the invoking team. If __distance__ is larger than the distance to " +"the initial team, the number of images of the initial team is returned. " +"If __failed__ is not present the total number of images is returned; if " +"it has the value .true., the number of failed images is returned, " +"otherwise, the number of images which do have not the failed status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:59 +msgid "" +"Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or " +"later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:63 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__image\\_index__(3)](THIS_INDEX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:2 +msgid "this\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:5 +msgid "__this\\_image__(3) - \\[COLLECTIVE\\] Cosubscript index of this image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:15 +msgid "Returns the cosubscript for this image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:20 +msgid "" +"(optional, __intent(in)__) Nonnegative scalar integer (not permitted " +"together with __coarray__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:24 +msgid "Coarray of any type (optional; if __dim__ present, required)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:27 +msgid "" +"default integer scalar (optional). If present, __dim__ shall be between " +"one and the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:32 +msgid "" +"Default integer. If __coarray__ is not present, it is scalar; if " +"__distance__ is not present or has value __0__, its value is the image " +"index on the invoking image for the current team, for values smaller or " +"equal distance to the initial team, it returns the image index on the " +"ancestor team which has a distance of __distance__ from the invoking " +"team. If __distance__ is larger than the distance to the initial team, " +"the image index of the initial team is returned. Otherwise when the " +"__coarray__ is present, if __dim__ is not present, a rank-1 array with " +"corank elements is returned, containing the cosubscripts for __coarray__ " +"specifying the invoking image. If __dim__ is present, a scalar is " +"returned, with the value of the __dim__ element of " +"__this\\_image(coarray)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:66 +msgid "" +"! ! Check whether the current image is the initial image if " +"(this_image(huge(1)) /= this_image()) error stop \"something is rotten " +"here\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:2 +msgid "atomic\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:5 +msgid "" +"__atomic\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise AND " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:14 +msgid "" +"__atomic\\_and(atom, value)__ atomically defines __atom__ with the " +"bitwise __and__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value 0. If it is present and the invocation has failed, it is assigned " +"a positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:24 +msgid "__atom__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:25 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:28 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:32 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:34 +msgid "__value__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:29 +msgid "" +"Scalar of the same type as __atom__. If the kind is different, the value " +"is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:42 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:33 +msgid "(optional) Scalar default-kind integer variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:53 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:2 +msgid "atomic\\_fetch\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:5 +msgid "" +"__atomic\\_fetch\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise AND operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:14 +msgid "" +"__atomic\\_fetch\\_and(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise AND between " +"the values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:33 +msgid "__old__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:34 +msgid "Scalar of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:65 +msgid "[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:2 +msgid "atomic\\_fetch\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:5 +msgid "" +"__atomic\\_fetch\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise" +" OR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:14 +msgid "" +"__atomic\\_fetch\\_or(atom, value, old)__ atomically stores the value of " +"__atom__ in __old__ and defines __atom__ with the bitwise OR between the " +"values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), [__atomic\\_or__(3)](ATOMIC_OR)," +" [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:2 +msgid "atomic\\_fetch\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:5 +msgid "" +"__atomic\\_fetch\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise XOR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:14 +msgid "" +"__atomic\\_fetch\\_xor(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise __xor__ " +"between the values of __atom__ and __value__. When __stat__ is present " +"and the invocation was successful, it is assigned the value __0__. If it " +"is present and the invocation has failed, it is assigned a positive " +"value; in particular, for a coindexed __atom__, if the remote image has " +"stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_xor__(3)](ATOMIC_XOR), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:65 +msgid "[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:2 +msgid "atomic\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:5 +msgid "" +"__atomic\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:14 +msgid "" +"__atomic\\_or(atom, value)__ atomically defines __atom__ with the bitwise" +" __or__ between the values of __atom__ and __value__. When __stat__ is " +"present and the invocation was successful, it is assigned the value " +"__0__. If it is present and the invocation has failed, it is assigned a " +"positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:57 +msgid "" +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:61 +msgid "[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:2 +msgid "atomic\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:5 +msgid "" +"__atomic\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:14 +msgid "" +"__atomic\\_xor(atom, value)__ atomically defines __atom__ with the " +"bitwise __xor__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value __0__. If it is present and the invocation has failed, it is " +"assigned a positive value; in particular, for a coindexed __atom__, if " +"the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH), " +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:2 +msgid "atomic\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:5 +msgid "__atomic\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:13 +msgid "" +"__atomic\\_ad(atom, value)__ atomically adds the value of VAR to the " +"variable __atom__. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed ATOM, if the remote image has stopped, it is assigned the" +" value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote " +"image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:53 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR) __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:2 +msgid "atomic\\_cas" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:5 +msgid "__atomic\\_cas__(3) - \\[ATOMIC\\] Atomic compare and swap" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:14 +msgid "" +"atomic\\_cas compares the variable __atom__ with the value of " +"__compare__; if the value is the same, __atom__ is set to the value of " +"__new__. Additionally, __old__ is set to the value of __atom__ that was " +"used for the comparison. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:29 +msgid "" +"Scalar coarray or coindexed variable of either integer type with " +"atomic\\_int\\_kind kind or logical type with atomic\\_logical\\_kind " +"kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:34 +msgid "__compare__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:35 +msgid "Scalar variable of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:37 +msgid "__new__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:38 +msgid "" +"Scalar variable of the same type as __atom__. If kind is different, the " +"value is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:63 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__iso\\_fortran\\_env__(3)]()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:2 +msgid "atomic\\_define" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:5 +msgid "__atomic\\_define__(3) - \\[ATOMIC\\] Setting a variable atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:19 +msgid "" +"__atomic\\_define(atom, value)__ defines the variable __atom__ with the " +"value __value__ atomically. When __stat__ is present and the invocation " +"was successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:55 +msgid "Fortran 2008 and later; with __stat__, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:59 +msgid "" +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:2 +msgid "atomic\\_fetch\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:5 +msgid "" +"__atomic\\_fetch\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation with " +"prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:14 +msgid "" +"__atomic\\_fetch\\_add(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and adds the value of __var__ to the variable " +"__atom__. When __stat__ is present and the invocation was successful, it " +"is assigned the value __0__. If it is present and the invocation has " +"failed, it is assigned a positive value; in particular, for a coindexed " +"__atom__, if the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:26 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind. atomic\\_logical\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_add__(3)](ATOMIC_ADD), __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:62 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:2 +msgid "atomic\\_ref" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:5 +msgid "" +"__atomic\\_ref__(3) - \\[ATOMIC\\] Obtaining the value of a variable " +"atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:14 +msgid "" +"__atomic\\_ref(value, atom)__ atomically assigns the value of the " +"variable __atom__ to __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's " +"__stat\\_stopped\\_image__ and if the remote image has failed, the value " +"__stat\\_failed\\_image__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:57 +msgid "Fortran 2008 and later; with STAT, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:61 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_cas__(3)](ATOMIC_CAS), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:65 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:68 +msgid "" +"[__atomic\\_fetch\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/STATE_index.md:1 +msgid "General and miscellaneous intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:2 +msgid "associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:5 +msgid "__associated__(3) - \\[STATE\\] Status of a pointer or pointer/target pair" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:14 +msgid "" +"__associated(pointer \\[, target\\])__ determines the status of the " +"pointer __pointer__ or if __pointer__ is associated with the target " +"__target__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:19 +msgid "__pointer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:20 +msgid "__pointer__ shall have the _pointer_ attribute and it can be of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:22 +msgid "__target__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:23 +msgid "" +"(Optional) __target__ shall be a pointer or a target. It must have the " +"same type, kind type parameter, and array rank as __pointer__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:26 +msgid "" +"The association status of neither __pointer__ nor __target__ shall be " +"undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:30 +msgid "" +"__associated(pointer)__ returns a scalar value of type _logical_. There " +"are several cases:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:33 +msgid "" +"When the optional __target__ is not present then __associated(pointer)__ " +"is true if __pointer__ is associated with a target; otherwise, it returns" +" false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:37 +msgid "" +"If __target__ is present and a scalar target, the result is true if " +"__target__ is not a zero-sized storage sequence and the target associated" +" with __pointer__ occupies the same storage units. If __pointer__ is " +"disassociated, the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:42 +msgid "" +"If __target__ is present and an array target, the result is true if " +"__target__ and __pointer__ have the same shape, are not zero-sized " +"arrays, are arrays whose elements are not zero-sized storage sequences, " +"and __target__ and __pointer__ occupy the same storage units in array " +"element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:48 +msgid "As in case 2, the result is false, if __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:50 +msgid "" +"If __target__ is present and an scalar pointer, the result is true if " +"__target__ is associated with __pointer__, the target associated with " +"__target__ are not zero-sized storage sequences and occupy the same " +"storage units." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:55 +msgid "" +"The result is __.false.__, if either __target__ or __pointer__ is " +"disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:57 +msgid "" +"If __target__ is present and an array pointer, the result is true if " +"target associated with __pointer__ and the target associated with " +"__target__ have the same shape, are not zero-sized arrays, are arrays " +"whose elements are not zero-sized storage sequences, and __target__ and " +"__pointer__ occupy the same storage units in array element order. The " +"result is false, if either __target__ or __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:86 +msgid "[__null__(3)](NULL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:2 +msgid "extends\\_type\\_of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:5 +msgid "" +"__extends\\_type\\_of__(3) - \\[STATE\\] determine if the dynamic type of" +" __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:14 +msgid "" +"__extends\\_type\\_of__(3) is __.true.__ if and only if the dynamic type " +"of __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:17 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:27 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:25 +msgid "__Options__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:20 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:24 +msgid "" +"shall be an object of extensible type. If it is a pointer, it shall not " +"have an undefined association status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:30 +msgid "Default logical scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:33 +msgid "" +"If __mold__ is unlimited polymorphic and is either a disassociated " +"pointer or unallocated allocatable variable, the result is true; " +"otherwise if __a__ is unlimited polymorphic and is either a disassociated" +" pointer or unallocated allocatable variable, the result is false; " +"otherwise the result is true if and only if the dynamic type of __a__ is " +"an extension type of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:40 +msgid "" +"The dynamic type of a disassociated pointer or unallocated allocatable " +"variable is its declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:2 +msgid "is\\_iostat\\_end" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:5 +msgid "__is\\_iostat\\_end__(3) - \\[STATE\\] Test for end-of-file value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:17 +msgid "" +"is\\_iostat\\_end(3) tests whether a variable (assumed returned as a " +"status from an I/O statement) has the \"end of file\" I/O status value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:20 +msgid "" +"The function is equivalent to comparing the variable with the " +"__iostat\\_end__ parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:26 +msgid "An _integer_ status value to test if indicating end of file." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:30 +msgid "" +"Returns a _logical_ of the default kind, __.true.__ if __i__ has the " +"value which indicates an end of file condition for __iostat=__ " +"specifiers, and is __.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:2 +msgid "is\\_iostat\\_eor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:5 +msgid "__is\\_iostat\\_eor__(3) - \\[STATE\\] Test for end-of-record value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:14 +msgid "" +"is\\_iostat\\_eor tests whether an variable has the value of the I/O " +"status \"end of record\". The function is equivalent to comparing the " +"variable with the iostat\\_eor parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:22 +msgid "Shall be of the type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:26 +msgid "" +"Returns a _logical_ of the default kind, which .true. if __i__ has the " +"value which indicates an end of file condition for iostat= specifiers, " +"and is .false. otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:2 +msgid "move\\_alloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:5 +msgid "__move\\_alloc__(3) - \\[\\] Move allocation from one object to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:14 +msgid "" +"__move\\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC " +"will become deallocated in the process." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:19 +msgid "__src__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:20 +msgid "allocatable, __intent(inout)__, may be of any type and kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:22 +msgid "__dest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:23 +msgid "" +"allocatable, __intent(out)__, shall be of the same type, kind and rank as" +" SRC." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:28 +msgid "Basic Sample program to allocate a bigger grid" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:70 +msgid "[__allocated__(3)](ALLOCATED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:2 +msgid "present" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:5 +msgid "" +"__present__(3) - [STATE\\] Determine whether an optional dummy argument" +" is specified" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:17 +msgid "Determines whether an optional dummy argument is present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:22 +msgid "" +"May be of any type and may be a pointer, scalar or array value, or a " +"dummy procedure. It shall be the name of an optional dummy argument " +"accessible within the current subroutine or function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:28 +msgid "" +"Returns either __.true.__ if the optional argument __a__ is present, or " +"__.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:2 +msgid "same\\_type\\_as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:5 +msgid "__same\\_type\\_as__(3) - \\[STATE\\] Query dynamic types for equality" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:14 +msgid "Query dynamic types for equality." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:19 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:23 +msgid "Shall be an object of extensible declared type or unlimited polymorphic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:22 +msgid "__b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:28 +msgid "" +"The return value is a scalar of type default logical. It is true if and " +"only if the dynamic type of __a__ is the same as the dynamic type of " +"__b__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:37 +msgid "[__extends\\_type\\_of__(3)](EXTENDS_TYPE_OF)" +msgstr "" + +#: ../../source/learn/intrinsics/SYSTEM_index.md:1 +msgid "Accessing external system information" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:2 +msgid "command\\_argument\\_count" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:5 +msgid "" +"__command\\_argument\\_count__(3) - \\[SYSTEM:COMMAND LINE\\] Get number " +"of command line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:16 +msgid "" +"__command\\_argument\\_count()__ returns the number of arguments passed" +" on the command line when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:21 +msgid "None" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:26 +msgid "" +"The return value is of type default _integer_. It is the number of " +"arguments passed on the command line when the program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:42 +msgid "Sample output:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:60 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:2 +msgid "get\\_command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:5 +msgid "" +"__get\\_command__(3) - \\[SYSTEM:COMMAND LINE\\] Get the entire command " +"line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:18 +msgid "Retrieve the entire command line that was used to invoke the program." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:20 +msgid "" +"Note that what is typed on the command line is often processed by a " +"shell. The shell typically processes special characters and white space " +"before passing it to the program. The processing can typically be turned " +"off by turning off globbing or quoting the command line arguments and/or " +"changing the default field separators, but this should rarely be " +"necessary." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:42 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:29 +msgid "__command__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:30 +msgid "" +"Shall be of type _character_ and of default kind. If __command__ is " +"present, stores the entire command line that was used to invoke the " +"program in __command__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:42 +msgid "__length__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:35 +msgid "" +"Shall be of type _integer_ and of default kind. If __length__ is present," +" it is assigned the length of the command line." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:38 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:48 +msgid "__status__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:39 +msgid "" +"Shall be of type _integer_ and of default kind. If __status__ is present," +" it is assigned 0 upon success of the command, __-1__ if __command__ is " +"too short to store the command line, or a positive value in case of an " +"error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:83 +msgid "" +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:2 +msgid "get\\_command\\_argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:5 +msgid "" +"__get\\_command\\_argument__(3) - \\[SYSTEM:COMMAND LINE\\] Get command " +"line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:19 +msgid "" +"Retrieve the __number__-th argument that was passed on the command line " +"when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:22 +msgid "" +"There is not anything specifically stated about what an argument is but " +"in practice the arguments are split on whitespace unless the arguments " +"are quoted and IFS values (Internal Field Separators) used by common " +"shells are ignored." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:29 +msgid "__number__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:30 +msgid "" +"Shall be a scalar of type __integer__, __number \\>= 0__. If __number = " +"0__, __value__ is set to the name of the program (on systems that support" +" this feature)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:36 +msgid "" +"__value__ :Shall be a scalar of type _character_ and of default kind. " +"After get\\_command\\_argument returns, the __value__ argument holds the " +"__number__-th command line argument. If __value__ can not hold the " +"argument, it is truncated to fit the length of __value__. If there are " +"less than __number__ arguments specified at the command line, __value__ " +"will be filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:44 +msgid "" +"__length__ :(Optional) Shall be a scalar of type _integer_. The " +"__length__ argument contains the length of the __number__-th command line" +" argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:48 +msgid "" +"__status__ :(Optional) Shall be a scalar of type _integer_. If the " +"argument retrieval fails, __status__ is a positive number; if __value__ " +"contains a truncated command line argument, __status__ is __-1__; and " +"otherwise the __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:125 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:2 +msgid "cpu\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:5 +msgid "__cpu\\_time__(3) - \\[SYSTEM:TIME\\] return CPU processor time in seconds" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:14 +msgid "" +"Returns a _real_ value representing the elapsed CPU time in seconds. This" +" is useful for testing segments of code to determine execution time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:17 +msgid "" +"The exact definition of time is left imprecise because of the variability" +" in what different processors are able to provide." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:20 +msgid "If no time source is available, TIME is set to a negative value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:22 +msgid "" +"Note that TIME may contain a system dependent, arbitrary offset and may " +"not start with 0.0. For cpu\\_time the absolute value is meaningless. " +"Only differences between subsequent calls, as shown in the example below," +" should be used." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:27 +msgid "" +"A processor for which a single result is inadequate (for example, a " +"parallel processor) might choose to provide an additional version for " +"which time is an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:33 +msgid "__TIME__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:34 +msgid "" +"The type shall be _real_ with __intent(out)__. It is assigned a " +"processor-dependent approximation to the processor time in seconds. If " +"the processor cannot return a meaningful time, a processor-dependent " +"negative value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:39 +msgid "" +"__is returned.__ The start time is left imprecise because the purpose is " +"to time sections of code, as in the example. This might or might not " +"include system overhead time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:71 +msgid "" +"[__system\\_clock__(3)](SYSTEM_CLOCK), " +"[__date\\_and\\_time__(3)](DATE_AND_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:2 +msgid "date\\_and\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:5 +msgid "__date\\_and\\_time__(3) - \\[SYSTEM:TIME\\] gets current time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:18 +msgid "" +"__date\\_and\\_time(date, time, zone, values)__ gets the corresponding " +"date and time information from the real-time system clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:21 +msgid "Unavailable time and date _character_ parameters return blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:25 +msgid "__date__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:26 +msgid "" +"A character string of default kind of the form CCYYMMDD, of length 8 or " +"larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:28 +msgid "__time__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:29 +msgid "" +"A character string of default kind of the form HHMMSS.SSS, of length 10 " +"or larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:31 +msgid "__zone__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:32 +msgid "" +"A character string of default kind of the form (+-)HHMM, of length 5 or " +"larger, representing the difference with respect to Coordinated Universal" +" Time (UTC)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:35 +msgid "__values__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:36 +msgid "An _integer_ array of eight elements that contains:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:38 +msgid "__values__(1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:39 +msgid ": The year" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:40 +msgid "__values__(2)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:41 +msgid ": The month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:42 +msgid "__values__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:43 +msgid ": The day of the month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:44 +msgid "__values__(4)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:45 +msgid ": Time difference with UTC in minutes" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:46 +msgid "__values__(5)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:47 +msgid ": The hour of the day" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:48 +msgid "__values__(6)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:49 +msgid ": The minutes of the hour" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:50 +msgid "__values__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:51 +msgid ": The seconds of the minute" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:52 +msgid "__values__(8)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:53 +msgid ": The milliseconds of the second" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:103 +msgid "[__cpu\\_time__(3)](CPU_TIME), [__system\\_clock__(3)](SYSTEM_CLOCK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:107 +msgid "date and time conversion, formatting and computation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:109 +msgid "[M_time](https://github.com/urbanjost/M_time)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:110 +msgid "[datetime](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:111 +msgid "[datetime-fortran](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:2 +msgid "system_clock" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:5 +msgid "" +"__system\\_clock__(3) - \\[SYSTEM:TIME\\] Return numeric data from a " +"real-time clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:20 +msgid "" +"__system\\_clock__ lets you measure durations of time with the precision " +"of the smallest time increment generally available on a system by " +"returning processor-dependent values based on the current value of the " +"processor clock. The __clock__ value is incremented by one for each clock" +" count until the value __count\\_max__ is reached and is then reset to " +"zero at the next count. __clock__ therefore is a modulo value that lies " +"in the range __0 to count\\_max__. __count\\_rate__ and __count\\_max__ " +"are assumed constant (even though CPU rates can vary on a single " +"platform)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:29 +msgid "" +"__count\\_rate__ is system dependent and can vary depending on the kind " +"of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:32 +msgid "" +"If there is no clock, or querying the clock fails, __count__ is set to " +"__-huge(count)__, and __count\\_rate__ and __count\\_max__ are set to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:35 +msgid "" +"__system\\_clock__ is typically used to measure short time intervals " +"(system clocks may be 24-hour clocks or measure processor clock ticks " +"since boot, for example). It is most often used for measuring or tracking" +" the time spent in code blocks in lieu of using profiling tools." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:43 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned a processor-" +"dependent value based on the current value of the processor clock, or " +"__-huge(count)__ if there is no clock. The processor-dependent value is " +"incremented by one for each clock count until the value __count\\_max__ " +"is reached and is reset to zero at the next count. It lies in the range " +"__0__ to __count\\_max__ if there is a clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:51 +msgid "__count\\_rate__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:52 +msgid "" +"(optional) shall be an _integer_ or _real_ scalar. It is assigned a " +"processor-dependent approximation to the number of processor clock counts" +" per second, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:56 +msgid "__count\\_max__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:57 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned the maximum value" +" that __COUNT__ can have, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:82 +msgid "" +"If the processor clock is a 24-hour clock that registers time at " +"approximately 18.20648193 ticks per second, at 11:30 A.M. the reference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:87 +msgid "defines" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:100 +msgid "[__date\\_and\\_time__(3)](DATE_AND_TIME), [__cpu\\_time__(3)](CPU_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:2 +msgid "execute\\_command\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:5 +msgid "" +"__execute\\_command\\_line__(3) - \\[SYSTEM:PROCESSES\\] Execute a shell " +"command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:20 +msgid "" +"The __command__ argument is passed to the shell and executed. (The shell " +"is generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If " +"__wait__ is present and has the value __.false.__, the execution of the " +"command is asynchronous if the system supports it; otherwise, the command" +" is executed synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:26 +msgid "" +"The three last arguments allow the user to get status information. After " +"synchronous execution, __exitstat__ contains the integer exit code of the" +" command, as returned by __system__. __cmdstat__ is set to zero if the " +"command line was executed (whatever its exit status was). __cmdmsg__ is " +"assigned an error message if an error has occurred." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:32 +msgid "" +"Note that the system call need not be thread-safe. It is the " +"responsibility of the user to ensure that the system is not called " +"concurrently if required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:36 +msgid "" +"When the command is executed synchronously, __execute\\_command\\_line__ " +"returns after the command line has completed execution. Otherwise, " +"__execute\\_command\\_line__ returns without waiting." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:43 +msgid "" +"a default _character_ scalar containing the command line to be executed. " +"The interpretation is programming-environment dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:46 +msgid "__wait__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:47 +msgid "" +"(Optional) a default _logical_ scalar. If __wait__ is present with the " +"value .false., and the processor supports asynchronous execution of the " +"command, the command is executed asynchronously; otherwise it is executed" +" synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:52 +msgid "__exitstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:53 +msgid "" +"(Optional) an _integer_ of the default kind with __intent(inout)__. If " +"the command is executed synchronously, it is assigned the value of the " +"processor-dependent exit status. Otherwise, the value of __exitstat__ is " +"unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:58 +msgid "__cmdstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:59 +msgid "" +"(Optional) an _integer_ of default kind with __intent(inout)__. If an " +"error condition occurs and __cmdstat__ is not present, error termination " +"of execution of the image is initiated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:63 +msgid "" +"It is assigned the value __-1__ if the processor does not support command" +" line execution, a processor-dependent positive value if an error " +"condition occurs, or the value __-2__ if no error condition occurs but " +"__wait__ is present with the value false and the processor does not " +"support asynchronous execution. Otherwise it is assigned the value 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:70 +msgid "__cmdmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:71 +msgid "" +"(Optional) a _character_ scalar of the default kind. It is an __intent " +"(inout)__ argument.If an error condition occurs, it is assigned a " +"processor-dependent explanatory message.Otherwise, it is unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:94 +msgid "" +"Because this intrinsic is making a system call, it is very system " +"dependent. Its behavior with respect to signaling is processor dependent." +" In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT " +"signals will be ignored, and the SIGCHLD will be blocked. As such, if the" +" parent process is terminated, the child process might not be terminated " +"alongside." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:2 +msgid "get\\_environment" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:5 +msgid "" +"__get\\_environment\\_variable__(3) - \\[SYSTEM:ENVIRONMENT\\] Get an " +"environmental variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:19 +msgid "Get the __value__ of the environmental variable __name__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:21 +msgid "" +"Note that __get\\_environment\\_variable__(3) need not be thread-safe. It" +" is the responsibility of the user to ensure that the environment is not " +"being updated concurrently." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:22 +msgid "__name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:28 +msgid "The name of the environment variable to query." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:30 +msgid "Shall be a scalar of type _character_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:35 +msgid "The value of the environment variable being queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:37 +msgid "" +"Shall be a scalar of type _character_ and of default kind. The value of " +"__name__ is stored in __value__. If __value__ is not large enough to hold" +" the data, it is truncated. If __name__ is not set, __value__ will be " +"filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:43 +msgid "" +"Argument __length__ contains the length needed for storing the " +"environment variable __name__ or zero if it is not present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:46 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:54 +msgid "Shall be a scalar of type _integer_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:49 +msgid "" +"__status__ is __-1__ if __value__ is present but too short for the " +"environment variable; it is __1__ if the environment variable does not " +"exist and __2__ if the processor does not support environment variables; " +"in all other cases __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:56 +msgid "__trim\\_name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:57 +msgid "" +"If __trim\\_name__ is present with the value __.false.__, the trailing " +"blanks in __name__ are significant; otherwise they are not part of the " +"environment variable name." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:61 +msgid "Shall be a scalar of type _logical_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/TRANSFORM_index.md:1 +msgid "Matrix multiplication, dot product, and array shifts" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:1 +msgid "Types and kinds" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:3 +msgid "" +"These intrinsics allow for explicitly casting one type of variable to " +"another or can be used to conditionally execute code blocks based on " +"variable types when working with polymorphic variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:7 +msgid "Fortran Data Types" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:9 +msgid "Fortran provides five basic intrinsic data types:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:11 +msgid "Integer type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:12 +msgid "The integer types can hold only whole number values." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:13 +msgid "Real type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:14 +msgid "Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:15 +msgid "Complex type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:16 +msgid "" +"A complex number has two parts, the real part and the imaginary part. Two" +" consecutive floating point storage units store the two parts." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:19 +msgid "Logical type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:20 +msgid "There are only two logical values: .true. and .false." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:21 +msgid "Character type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:22 +msgid "" +"The character type stores strings. The length of the string can be " +"specified by the __len__ specifier. If no length is specified, it is 1." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:25 +msgid "" +"These \"types\" can be of many \"kinds\". Often different numeric kinds " +"take up different storage sizes and therefore can represent different " +"ranges; but a different kind can have other meanings. A _character_ " +"variable might represent ASCII characters or UTF-8 or Unicode characters," +" for example." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:31 +msgid "You can derive your own data types from these fundamental types as well." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:33 +msgid "Implicit Typing" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:35 +msgid "" +"Fortran allows a feature called implicit typing, i.e., you do not have to" +" declare some variables before use. By default if a variable is not " +"declared, then the first letter of its name will determine its type:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:39 +msgid "" +"Variable names starting with __i-n__ (the first two letters of " +"\"integer\") specify _integer_ variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:42 +msgid "All other variable names default to _real_." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:45 +msgid "" +"However, in most circles it is considered good programming practice to " +"declare all the variables. For that to be enforced, you start your " +"variable declaration section with a statement that turns off implicit " +"typing: the statement" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:52 +msgid "For more information refer to the __implicit__ statement." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:2 +msgid "aimag" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:5 +msgid "__aimag__(3) - \\[TYPE:NUMERIC\\] Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:18 +msgid "__aimag(z)__ yields the imaginary part of complex argument __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:23 +msgid "The type of the argument shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:27 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:2 +msgid "cmplx" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:5 +msgid "__cmplx__(3) - \\[TYPE:NUMERIC\\] Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:19 +msgid "" +"To convert numeric variables to complex, use the __cmplx__(3) function. " +"Constants can be used to define a complex variable using the syntax" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:26 +msgid "" +"but this will not work for variables. You must use the __cmplx__(3) " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:28 +msgid "" +"__cmplx(x \\[, y \\[, kind\\]\\])__ returns a complex number where __x__ " +"is converted to the _real_ component. If __x__ is _complex_ then __y__ " +"must not be present. If __y__ is present it is converted to the imaginary" +" component. If __y__ is not present then the imaginary component is set " +"to __0.0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:33 +msgid "__cmplx(3) and double precision__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:35 +msgid "" +"The Fortran 90 language defines __cmplx__(3) as always returning a result" +" that is type __complex(kind=KIND(0.0))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:38 +msgid "" +"This means \\`__cmplx(d1,d2)__', where __\\`d1'__ and __\\`d2'__ are " +"_doubleprecision_, is treated as: fortran" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:45 +msgid "_doubleprecision complex_ numbers require specifying a precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:47 +msgid "" +"It was necessary for Fortran 90 to specify this behavior for " +"_doubleprecision_ arguments, since that is the behavior mandated by " +"FORTRAN 77." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:51 +msgid "" +"So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra " +"argument used to specify the desired kind of complex result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:75 +msgid "" +"F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity " +"can be accessed independently with a component-like syntax in f2018:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:78 +msgid "A complex-part-designator is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:80 +msgid "``fortran designator % RE or designator % IM." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:103 +msgid "__x__ The type may be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:106 +msgid "" +"__y__ (Optional; only allowed if __x__ is not _complex_.). May be " +"_integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:110 +msgid "" +"__kind__ (Optional) An _integer_ initialization expression indicating the" +" kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:116 +msgid "" +"The return value is of _complex_ type, with a kind equal to __kind__ if " +"it is specified. If __kind__ is not specified, the result is of the " +"default _complex_ kind, regardless of the kinds of __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:153 +msgid "[__aimag__(3)](AIMAG) - Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:155 +msgid "[__cmplx__(3)](CMPLX) - Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:157 +msgid "[__conjg__(3)](CONJG) - Complex conjugate function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:159 +msgid "[__real__(3)](REAL) - Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:2 +msgid "int" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:4 +msgid "" +"__int__(3) - \\[TYPE:NUMERIC\\] Convert to integer type by truncating " +"towards zero" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:16 +msgid "Convert to integer type by truncating towards zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:21 +msgid "" +"Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-" +"constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:27 +msgid "If not present the returned type is that of default integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:31 +msgid "returns an _integer_ variable or array applying the following rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:33 +msgid "__Case__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:35 +msgid "If __a__ is of type _integer_, __int__(a) = a" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:37 +msgid "" +"If __a__ is of type _real_ and __|a| \\< 1, int(a)__ equals __0__. If " +"__|a| \\>= 1__, then __int(a)__ equals the integer whose magnitude does " +"not exceed __a__ and whose sign is the same as the sign of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:41 +msgid "" +"If __a__ is of type _complex_, rule 2 is applied to the _real_ part of " +"__a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:43 +msgid "" +"If _a_ is a boz-literal constant, it is treated as an _integer_ with the " +"_kind_ specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:46 +msgid "" +"The interpretation of a bit sequence whose most significant bit is __1__ " +"is processor dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:118 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:2 +msgid "nint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:5 +msgid "__nint__(3) - \\[TYPE:NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:15 +msgid "" +"__nint(x)__ rounds its argument to the nearest whole number with its sign" +" preserved." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:18 +msgid "" +"The user must ensure the value is a valid value for the range of the " +"__kind__ returned. If the processor cannot represent the result in the " +"kind specified, the result is undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:22 +msgid "If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:24 +msgid "" +"If __x__ is less than or equal to zero, __nint(x)__ has the value " +"__int(a-0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:30 +msgid "The type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:33 +msgid "" +"(Optional) A constant _integer_ expression indicating the kind parameter " +"of the result. Otherwise, the kind type parameter is that of default " +"_integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:39 +msgid "__answer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:40 +msgid "" +"The result is the integer nearest __x__, or if there are two integers " +"equally near __x__, the result is whichever such _integer_ has the " +"greater magnitude." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:112 +msgid "FORTRAN 77 and later, with KIND argument - Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:116 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:2 +msgid "real" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:4 +msgid "__real__(3) - \\[TYPE:NUMERIC\\] Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:13 +msgid "__real(x, kind)__ converts its argument __x__ to a real type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:18 +msgid "Shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:26 +msgid "" +"These functions return a _real_ variable or array under the following " +"rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:29 +msgid "" +"__real__(x) is converted to a default _real_ type if __x__ is an " +"_integer_ or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:32 +msgid "" +"__real__(x) is converted to a real type with the kind type parameter of " +"__x__ if __x__ is a _complex_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:35 +msgid "" +"__real(x, kind)__ is converted to a _real_ type with kind type parameter " +"__kind__ if __x__ is a _complex_, _integer_, or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:71 +msgid "[__dble__(3)](DBLE), [__float__(3)](FLOAT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:2 +msgid "dble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:5 +msgid "__dble__(3) - \\[TYPE:NUMERIC\\] Double conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:16 +msgid "" +"where TYPE may be _integer_, _real_, or _complex_ and KIND any kind " +"supported by the TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:20 +msgid "__dble(a)__ Converts __a__ to double precision _real_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:25 +msgid "The type shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:29 +msgid "" +"The return value is of type _doubleprecision_. For _complex_ input, the " +"returned value has the magnitude and sign of the real component of the " +"input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:56 +msgid "[__float__(3)](FLOAT), [__real__(3)](REAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:2 +msgid "transfer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:5 +msgid "__transfer__(3) - \\[TYPE:MOLD\\] Transfer bit patterns" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:14 +msgid "" +"Interprets the bitwise representation of __source__ in memory as if it is" +" the representation of a variable or array of the same type and type " +"parameters as __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:18 +msgid "" +"This is approximately equivalent to the C concept of \\*casting\\* one " +"type to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:27 +msgid "Shall be a scalar or an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:30 +msgid "(Optional) shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:34 +msgid "" +"The result has the same type as __mold__, with the bit level " +"representation of __source__. If __size__ is present, the result is a " +"one-dimensional array of length __size__. If __size__ is absent but " +"__mold__ is an array (of any size or shape), the result is a one-" +"dimensional array of the minimum length needed to contain the entirety of" +" the bitwise representation of __source__. If __size__ is absent and " +"__mold__ is a scalar, the result is a scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:41 +msgid "" +"If the bitwise representation of the result is longer than that of " +"__source__, then the leading bits of the result correspond to those of " +"__source__ and any trailing bits are filled arbitrarily." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:45 +msgid "" +"When the resulting bit representation does not correspond to a valid " +"representation of a variable of the same type as __mold__, the results " +"are undefined, and subsequent operations on the result cannot be " +"guaranteed to produce sensible behavior. For example, it is possible to " +"create _logical_ variables for which __var__ and .not. var both appear to" +" be true." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:80 +msgid "__Comments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:82 +msgid "_Joe Krahn_: Fortran uses __molding__ rather than __casting__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:84 +msgid "" +"Casting, as in C, is an in-place reinterpretation. A cast is a device " +"that is built around an object to change its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:87 +msgid "" +"Fortran TRANSFER reinterprets data out-of-place. It can be considered " +"__molding__ rather than casting. A __mold__ is a device that confers a " +"shape onto an object placed into it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:91 +msgid "" +"The advantage of molding is that data is always valid in the context of " +"the variable that holds it. For many cases, a decent compiler should " +"optimize TRANSFER into a simple assignment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:95 +msgid "" +"There are disadvantages of this approach. It is problematic to define a " +"union of data types because you must know the largest data object, which " +"can vary by compiler or compile options. In many cases, an EQUIVALENCE " +"would be far more effective, but Fortran Standards committees seem " +"oblivious to the benefits of EQUIVALENCEs when used sparingly." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:103 +msgid "Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:2 +msgid "logical" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:5 +msgid "" +"__logical__(3) - \\[TYPE:LOGICAL\\] Converts one kind of _logical_ " +"variable to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:18 +msgid "Converts one kind of _logical_ variable to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:23 +msgid "__l__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:24 +msgid "The type shall be _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:32 +msgid "" +"The return value is a _logical_ value equal to __l__, with a kind " +"corresponding to __kind__, or of the default logical kind if __kind__ is " +"not given." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:61 +msgid "Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:65 +msgid "[__int__(3)](INT), [__real__(3)](REAL), [__cmplx__(3)](CMPLX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:2 +msgid "kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:5 +msgid "__kind__(3) - \\[KIND INQUIRY\\] Kind of an entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:14 +msgid "__kind(x)__ returns the kind value of the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:19 +msgid "Shall be of type _logical_, _integer_, _real_, _complex_ or _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:2 +msgid "selected\\_char\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:5 +msgid "" +"__selected\\_char\\_kind__(3) - \\[KIND\\] Choose character kind such as " +"\"Unicode\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:14 +msgid "" +"__selected\\_char\\_kind(name)__ returns the kind value for the character" +" set named NAME, if a character set with such a name is supported, or " +"__-1__ otherwise. Currently, supported character sets include \"ASCII\" " +"and \"DEFAULT\" (iwhich are equivalent), and \"ISO\\_10646\" (Universal " +"Character Set, UCS-4) which is commonly known as \"Unicode\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:23 +msgid "Shall be a scalar and of the default character type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:2 +msgid "selected\\_int\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:5 +msgid "__selected\\_int\\_kind__(3) - \\[KIND\\] Choose integer kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:14 +msgid "" +"__selected\\_int\\_kind(r)__ return the kind value of the smallest " +"integer type that can represent all values ranging from __-10\\*\\*r__ " +"(exclusive) to __10\\*\\*r__ (exclusive). If there is no integer kind " +"that accommodates this range, selected\\_int\\_kind returns __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:23 +msgid "__r__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:22 +msgid "Shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:55 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__nint__(3)](NINT), [__ceiling__(3)](CEILING), [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:2 +msgid "selected\\_real\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:5 +msgid "__selected\\_real\\_kind__(3) - \\[KIND\\] Choose real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:14 +msgid "" +"__selected\\_real\\_kind(p, r, radix)__ return the kind value of a real " +"data type with decimal precision of at least __p__ digits, exponent range" +" of at least __r__, and with a radix of __radix__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:27 +msgid "(Optional) shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:26 +msgid "__radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:29 +msgid "" +"Before __Fortran 2008__, at least one of the arguments __r__ or __p__ " +"shall be present; since __Fortran 2008__, they are assumed to be zero if " +"absent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:35 +msgid "" +"selected\\_real\\_kind returns the value of the kind type parameter of a " +"real data type with decimal precision of at least __p__ digits, a decimal" +" exponent range of at least R, and with the requested __radix__. If the " +"__radix__ parameter is absent, real kinds with any radix can be returned." +" If more than one real data type meet the criteria, the kind of the data " +"type with the smallest decimal precision is returned. If no real data " +"type matches the criteria, the result is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:43 +msgid "" +"__-1__ if the processor does not support a real data type with a " +"precision greater than or equal to __p__, but the __r__ and __radix__ " +"requirements can be fulfilled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:47 +msgid "" +"__-2__ if the processor does not support a real type with an exponent " +"range greater than or equal to __r__, but __p__ and __radix__ are " +"fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:51 +msgid "__-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:53 +msgid "__-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:55 +msgid "__-5__ if there is no real type with the given __radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:84 +msgid "Fortran 95 and later; with RADIX - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:88 +msgid "" +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__radix__(3)](RADIX)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:7 +msgid "Fortran Intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:9 +msgid "" +"This is a collection of extended descriptions of the Fortran intrinsics " +"based on the reference document \"[Current F2018 Working Document as of " +"April " +"2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)\"." +" Vendor-specific extensions are not included." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:14 +msgid "☛[Array Operations](ARRAY_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:16 +msgid "☛[Mathematics](MATH_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:18 +msgid "☛[Type and Kind](TYPE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:19 +msgid "☛[Numeric](NUMERIC_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:21 +msgid "☛[Transformational](TRANSFORM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:22 +msgid "Matrix multiplication, Dot product, array shifts," +msgstr "" + +#: ../../source/learn/intrinsics/index.md:23 +msgid "☛[General State](STATE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:24 +msgid "General and miscellaneous intrinsics on state of variables and I/O" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:25 +msgid "☛[Character](CHARACTER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:26 +msgid "basic procedures specifically for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:27 +msgid "☛[System Environment](SYSTEM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:28 +msgid "" +"accessing external system information such as environmental variables, " +"command line arguments, date and timing data ..." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:29 +msgid "☛[C Interface](C_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:30 +msgid "procedures useful for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:31 +msgid "☛[Bit-level](BIT_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:32 +msgid "bit-level manipulation and inquiry of values0" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:33 +msgid "☛[Parallel Programming](PARALLEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:34 +msgid "Parallel programming using co-arrays and co-indexing" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:35 +msgid "☛[Numeric Model](MODEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:36 +msgid "numeric compiler-specific numeric model information" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:37 +msgid "☛[Compiler Information](COMPILER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:38 +msgid "information about compiler version and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:40 +msgid "Overview" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:41 +msgid "" +"The standard documents and most vendor-supplied descriptions of the " +"intrinsics are often very brief and concise to the point of the " +"functionality of the intrinsics being obscure, particularly to someone " +"unfamiliar with the procedure." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:46 +msgid "By describing the procedures here" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:47 +msgid "in greater detail" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:48 +msgid "with a working example" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:49 +msgid "" +"providing links to additional resources (including additional documents " +"at fortran-lang.org and related discussions in Fortran Discourse)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:53 +msgid "these documents strive to be a valuable asset for Fortran programmers." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:55 +msgid "" +"This is a community-driven resource and everyone is encouraged to " +"contribute to the documents. For contribution guidelines see " +"[MINIBOOKS](https://github.com/fortran-lang/fortran-" +"lang.org/blob/master/MINIBOOKS.md) and the following Copyright " +"guidelines." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:60 +msgid "See Also" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:61 +msgid "The [Fortran stdlib](https://stdlib.fortran-lang.org/) project" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:62 +msgid "" +"[fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which " +"are general-purpose libraries/modules" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:64 +msgid "Experimental" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:66 +msgid "" +"[review by procedure " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:68 +msgid "" +"[review by header " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:70 +msgid "" +"[fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A " +"self-contained Fortran program that lets you view the non-graphical plain" +" ASCII portions of the documentation from a terminal interface. Compile " +"the program and enter \"./fman --help\" for directions." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:75 +msgid "" +"[man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) " +"A gzipped tar(1) file containing early versions of man-pages derived from" +" the markdown documents." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:78 +msgid "" +"Typical installation on a Linux platform as an administrator ( but it " +"varies) :" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:110 +msgid "Text Content Copyrights" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:112 +msgid "" +"Many of the documents presented here are modified versions of man-pages " +"from the [Fortran Wiki](https://fortranwiki.org) and as such are " +"available under the terms of the GNU Free Documentation License " +"[__GFDL__](GNU_Free_Documentation_License.md) with no invariant sections," +" front-cover texts, or back-cover texts." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:118 +msgid "" +"If you contribute to this site by modifying the files marked as GFDL, you" +" thereby agree to license the contributed material to the public under " +"the GFDL (version 1.2 or any later version published by the Free Software" +" Foundation, with no invariant sections, front-cover texts, or back-cover" +" texts)." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:124 +msgid "" +"If you contribute new material you thereby agree to release it under the " +"MIT license, and should indicate this by placing MIT on the specially-" +"formatted last line. For example, change" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:130 +msgid "to" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:135 +msgid "" +"Written in [Markdown](https://github.com/adam-p/markdown-here/wiki" +"/Markdown-Cheatsheet) " +"[kramdown](https://kramdown.gettalong.org/syntax.html)" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:8 +msgid "Choosing a compiler" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:10 +msgid "" +"A comprehensive list of available compilers is provided " +"[here]({{site.baseurl}}/compilers). In this guide, we will focus only on " +"those that are free to install and use." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:12 +msgid "" +"Of those listed at the link above, open source and free are GFortran " +"(with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their " +"compilers for free and as of the latest update of this tutorial, " +"NVFortran (NVIDIA) is available only for Linux systems, while Intel " +"oneAPI is available for Linux, Windows and macOS systems. Both are well " +"documented and readers can find detailed information about installing and" +" using them on their websites respectively." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:14 +msgid "" +"In the next chapter, we use GFortran for the tutorial as it is a mature " +"open source compiler. We encourage users to also try other open source " +"and commercial compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:8 +msgid "IDEs" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:10 +msgid "" +"An IDE (Integrated Development Environment) refers to a complete software" +" development environment, where, all those packages that come as external" +" plug-ins in Text-Editors, are already integrated within the software. An" +" IDE is usually optimized towards a specific set of languages. For " +"example it is very common for IDEs to advertise themselves towards either" +" compiled or interpreted languages, or even towards a single language, or" +" depending on the application developed, like scientific or web " +"development. IDEs are recommended for beginner programmers, since it is " +"possible to start coding with minimum effort after installation. However," +" it is quite common, in professional environments, individual developers " +"and teams alike, to choose an IDE for large projects because of some " +"unique features that they may offer over a Text-Editor." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:13 +msgid "" +"A list of popular IDEs that provide good Fortran support is provided in " +"alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:14 +msgid "" +"[AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-" +"ide/): commercial product, cross-platform, comes with Absoft's own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:15 +msgid "" +"[Code::Blocks](http://www.codeblocks.org/): free product, cross-platform " +"and supports multiple compilers. Plenty of tutorials online on how to " +"install it and add a Fortran Compiler. As well as a recent presentation, " +"[here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon)," +" of its capabilities and future prospects at the International Fortran " +"Conference 2020 by its main developer." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:16 +msgid "" +"[Eclipse-Photran](https://marketplace.eclipse.org/content/photran-" +"fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran " +"based on Eclipse and the C/C++ Development Tools*. A free product, cross-" +"platform and supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:17 +msgid "" +"[Geany](https://www.geany.org/): a free product, cross platform and " +"supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:18 +msgid "" +"[NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) " +"is a commercial product, available in Windows and MacOS and supports " +"NAG's own Fortran Compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:19 +msgid "" +"[Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial " +"product, cross-platform, comes with Silverfrost's Fortran FTN95 own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:20 +msgid "" +"[SimplyFortran](https://simplyfortran.com/) is a commercial product, " +"cross-platform with support of the GNU Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:21 +msgid "" +"[Visual Studio](https://visualstudio.microsoft.com/) its *Community " +"Edition 2019* is a free product, available in Windows and macOS and " +"supports only Intel's Fortran compiler, now bundled with many other free-" +"to-use HPC tools under *Intel oneAPI*." +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "choose compiler" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "text editors" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "ides" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "install gfortran" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "tips" +msgstr "" + +#: ../../source/learn/os_setup/index.md:7 +msgid "

" +msgstr "" + +#: ../../source/learn/os_setup/index.md:12 +msgid "" +"*Authors: Stavros Meskos, " +"Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:14 +msgid "" +"*Last update: " +"16-Feb-2021*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:18 +msgid "Setting up your OS" +msgstr "" + +#: ../../source/learn/os_setup/index.md:20 +msgid "" +"In this mini-book we address the very first problem that many new Fortran" +" programmers encounter. Before everything, you will need to choose a " +"compiler and install it. Then you will need a text editor or perhaps an " +"IDE (Integrated Development Environment). There are many options, most of" +" them available in all major OSs (operating systems). However, the " +"process to install and configure them greatly differs between Windows, " +"Linux, and macOS. There are several Fortran compilers. Here, we pick " +"those that meet certain criteria and provide a guide on how to install " +"them in all the aforementioned OSs. A list of popular text editors and " +"IDEs and information on how to choose between them is presented as well." +msgstr "" + +#: ../../source/learn/os_setup/index.md:24 +msgid "" +"If you have already set up your environment, you may skip this tutorial " +"and move forward with the Quickstart Fortran Tutorial to start coding " +"your first `Hello World` program or with the Building programs mini-book " +"to understand how a compiler works." +msgstr "" + +#: ../../source/learn/os_setup/index.md:28 +msgid "" +"*The choice of text editors and IDEs has been controversial among the " +"developers. What you choose is a matter of personal taste. Every solution" +" comes with its own pros and cons. For that reason, in this guide, we " +"will not push the reader towards one or another direction. We will, " +"however, present a list of the most popular tools.*" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:8 +msgid "Installing GFortran" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:10 +msgid "" +"GFortran is the name of the [GNU Fortran " +"project](https://gcc.gnu.org/fortran/). The main " +"[wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links " +"about GFortran, as well as Fortran in general. In this guide, the " +"installation process for GFortran on Windows, Linux, macOS and OpenBSD is" +" presented in a beginner-friendly format based on the information from " +"[GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries)." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:12 +msgid "Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:15 +msgid "" +"Three sources provide quick and easy way to install GFortran compiler on " +"Windows:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:16 +msgid "" +"[http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran)," +" provides 32 and 64-bit x86 executables of the latest (10.2) gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:18 +msgid "" +"[TDM GCC](https://jmeubank.github.io/tdm-" +"gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 " +"executables of the 9.2 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:19 +msgid "" +"[MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides" +" a 64-bit x86 executable of the 8.1.0 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:21 +msgid "" +"In all the above choices, the process is straightforward—just download " +"the installer and follow the installation wizard." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:23 +msgid "Unix-like development on Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:24 +msgid "" +"For those familiar with a unix-like development environment, several " +"emulation options are available on Windows each of which provide packages" +" for gfortran:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:26 +msgid "" +"__Cygwin:__ A runtime environment that provides POSIX compatibility to " +"Windows;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:27 +msgid "" +"__MSYS2:__ A collection of Unix-like development tools, based on modern " +"Cygwin and MinGW-w64;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:28 +msgid "" +"__Windows Subsystem for Linux (WSL):__ An official compatibility layer " +"for running Linux binary executables on Windows. With [Windows Subsystem " +"for Linux GUI](https://github.com/microsoft/wslg) one can run text " +"editors and other graphical programs." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:30 +msgid "" +"All of the above approaches provide access to common shells such as bash " +"and development tools including GNU coreutils, Make, CMake, autotools, " +"git, grep, sed, awk, ssh, etc." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:32 +msgid "" +"We recommend the WSL environment for those looking for a Unix-like " +"development environment on Windows." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:34 +msgid "Linux" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:37 +msgid "Debian-based (Debian, Ubuntu, Mint, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:38 +msgid "Check whether you have gfortran already installed" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:42 +msgid "" +"If nothing is returned then gfortran is not installed. To install " +"gfortran type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:47 +msgid "to check what version was installed type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:51 +msgid "" +"You can install multiple versions up to version 9 by typing the version " +"number immediately after \"gfortran\", e.g.:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:55 +msgid "" +"To install the latest version 10 you need first to add / update the " +"following repository and then install:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:61 +#, python-format +msgid "" +"Finally, you can switch between different versions or set the default one" +" with the **update-alternatives** ([see " +"manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-" +"alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.))." +" There are many online tutorials on how to use this feature. A well " +"structured one using as an example C and C++ can be found " +"[here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g" +"-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the " +"same logic by replacing either `gcc` or `g++` with `gfortran`." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:63 +msgid "RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:68 +msgid "Since Fedora 22, `dnf` is the default package manager for Fedora:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:73 +msgid "Arch-based (Arch Linux, Antergos, Manjaro, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:78 +msgid "macOS" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:79 +msgid "Xcode" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:80 +msgid "If you have Xcode installed, open a terminal window and type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:84 +msgid "Binaries" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:85 +msgid "" +"Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert" +"/gfortran-for-macOS/releases) to directly install binaries." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:86 +msgid "Homebrew" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:90 +msgid "Fink" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:91 +msgid "" +"GNU-gcc Package " +"[link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:92 +msgid "MacPorts" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:93 +msgid "Search for available gcc versions:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:97 +msgid "Install a gcc version:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:102 +msgid "OpenBSD" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:107 +msgid "" +"On OpenBSD, the GFortran executable is named `egfortran`. To test it, " +"type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:113 +msgid "OpenCoarrays" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:115 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software " +"project that produces an application binary interface (ABI) used by the " +"GNU Compiler Collection (GCC) Fortran front-end to build executable " +"programs that leverage the parallel programming features of Fortran 2018." +" Since OpenCoarrays is not a separate compiler, we include it here, under" +" gfortran." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:117 +msgid "" +"While with gfortran you can compile perfectly valid code using coarrays, " +"the generated binaries will only run in a single image (_image_ is a " +"Fortran term for a parallel process), that is, in serial mode. " +"OpenCoarrays allows running code in parallel on shared- and distributed-" +"memory machines, similar to MPI:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:122 +msgid "" +"The process of installation is provided in a clear and comprehensive " +"manner on the official site." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:124 +msgid "" +"We emphasize that native installation on Windows is not possible. It is " +"only possible through WSL." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:8 +msgid "Text Editors" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:10 +msgid "" +"After you have installed your compiler, you will need a text editor to " +"write your code. Any text editor can serve this purpose, even the built-" +"in Notepad on Windows. However, there are specialized editors for " +"programming languages. These editors come with many useful features like " +"auto-complete, syntax-highlighting, auto-indentation, brace-matching, and" +" many more, with few of them pre-installed and the majority in form of " +"external plug-ins. This means that by default these features are not " +"installed in the editor, but it's up to you to search for them through a " +"package manager and install and configure them manually." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:12 +msgid "" +"Here's a list of the most popular text editors that support Fortran " +"syntax, in alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:13 +msgid "[Atom](https://atom.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:14 +msgid "[Emacs](https://www.gnu.org/software/emacs/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:15 +msgid "[NotePad++](https://notepad-plus-plus.org/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:16 +msgid "[SublimeText](https://www.sublimetext.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:17 +msgid "[Vim](https://www.vim.org/) and [Neovim](https://neovim.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:18 +msgid "[Visual Studio Code](https://code.visualstudio.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:20 +msgid "" +"A comprehensive list with more choices is provided in " +"[fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:22 +msgid "Things to consider before choosing a text editor:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:23 +msgid "" +"**Ergonomics:** This is purely subjective and concerns how easy, " +"uninterrupted the UI (User Interface) feels to the developer while using " +"the editor." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:24 +msgid "" +"**Extensibility:** As mentioned above, text editors come with many " +"features as external packages. The variety, the installation process, the" +" documentation, and user-friendliness of the packages all fall under this" +" category." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:25 +msgid "" +"**Speed:** With how powerful modern hardware can be, the speed of editors" +" is becoming of minor importance. However, for the less powerful systems," +" you may want to consider this as well. Heavyweight editors may impact " +"the writing performance. For example, you can expect Atom and VSCode to " +"run slower than the lightweight editors like Vim or Emacs." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:26 +msgid "" +"**Learning curve:** Last but not least, new users should consider how " +"easy it is to get used to a new editor. Vim and Emacs have a steep " +"learning curve and are notoriously difficult for newcomers. They offer a " +"uniquely different experience than any other editor by forcing you to use" +" the keyboard for all editing tasks." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:28 +msgid "Configuring VS Code" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:30 +msgid "" +"With the editor opened, at the main UI, at the buttoned-column on the " +"left, there is a *four-square-shaped* icon to open the Marketplace for " +"extensions. Install [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm" +".linter-gfortran) for syntax highlighting, linting and Language Server " +"support and formatting." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:33 +msgid "Additional Tools" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:35 +msgid "" +"The following extensions are not essential but most users might find them" +" useful:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:37 +msgid "" +"[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)" +" for advanced Git visualization and operations." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:38 +msgid "" +"[CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode" +".cmake-tools) for full-featured CMake integration in VS Code." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:39 +msgid "" +"[Remote Development](https://marketplace.visualstudio.com/items?itemName" +"=ms-vscode-remote.vscode-remote-extensionpack) for working with " +"containers, on a remote machines, or in the Windows Subsystem for Linux " +"(WSL)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:40 +msgid "" +"[Even Better TOML by " +"tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe" +".even-better-toml). For Fortran developers that are using the new " +"[fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a " +"TOML language support might come in handy." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:42 +msgid "Configuring SublimeText" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:44 +msgid "" +"A well structured gist that provides instructions on how to set up " +"SublimeText for Fortran developement is given " +"[here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:46 +msgid "Configuring Atom" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:48 +msgid "" +"Atom's configuration process is similar to VSCode one. At the main " +"interface, if the *Welcome Guide* page is already opened for you, just " +"click the **Install a Package** option, otherwise you can find the same " +"option through the navigation bar at the top by clicking *Packages*. In " +"doing so a new page under *Settings* opens where you can just start " +"typing the package you want to install." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:50 +msgid "" +"One package that includes many Fortran features is [IDE-FORTRAN by " +"hansec](https://atom.io/packages/ide-fortran). It needs the following " +"packages to be installed:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:51 +msgid "[atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:52 +msgid "[language-fortran by dparkins](https://atom.io/packages/language-fortran)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:54 +msgid "" +"Additionally just like in VSCode it needs " +"[Python](https://www.python.org/) and [Fortran Language " +"Server](https://github.com/hansec/fortran-language-server) to be " +"installed." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:56 +msgid "" +"For version control a very popular package is [Git-Plus by " +"akonwi](https://atom.io/packages/git-plus)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:8 +msgid "Smart Tips" +msgstr "" + +#: ../../source/learn/os_setup/tips.md:10 +msgid "" +"To conclude, we give a few tips that may help you to choose a compiler " +"and an editor or an IDE." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:12 +msgid "" +"Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) " +"for a comprehensive comparison of Fortran compilers." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:13 +msgid "" +"Since NVFortran version 17.1, the support for compute capability 2.0 " +"(Fermi) and lower has been removed. This is important because, at any " +"time, only the latest compiler version is free to download. Users with " +"older GPUs will not be able to run CUDA Fortran with the current (20.7) " +"or future versions. Read [this " +"wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your " +"GPU's compute capability and cross-check with the latest CUDA SDK that " +"supports it." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:14 +msgid "" +"There are many online Fortran compilers. These are websites that offer a " +"basic text editor and allow you to compile and run your code on a remote " +"server. They are particularly useful for quick prototyping and testing. " +"Although we promised neutrality, we recommend that you check out the " +"open-source and free [Compiler Explorer](https://godbolt.org/), an " +"amazing tool with unique features." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:15 +msgid "" +"Arguably the most popular text editor, according to recent online " +"surveys, is the Visual Studio Code, developed by Microsoft." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:16 +msgid "" +"The most popular free IDEs are the Code::Blocks and Geany. Many " +"commercial IDEs give up to 30 days of free trial. Keep in mind that the " +"prices of commercial IDEs may vary, and some may be quite affordable. " +"Finally, if you are a student, an open-source developer, or a …hobbyist " +"*Fortraner* do not hesitate to contact those companies and request a " +"discount. There have been cases, e.g., in r/fortran, where " +"representatives, from at least one company, have offered discount codes " +"to individuals looking for affordable complete solutions (IDE + " +"compiler)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:17 +msgid "" +"Finally, please join us on [Fortran Discourse](https://fortran-" +"lang.discourse.group/) and do not hesitate to post your questions and " +"request for further information." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:9 +msgid "" +"More often than not, we need to store and operate on long lists of " +"numbers as opposed to just the single scalar variables that we have been " +"using so far; in computer programming such lists are called _arrays_." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:12 +msgid "" +"Arrays are _multidimensional_ variables that contain more than one value " +"where each value is accessed using one or more indices." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:15 +msgid "" +"Arrays in Fortran are _one-based_ by default; this means that the first " +"element along any dimension is at index 1." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:19 +msgid "Array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:21 +msgid "" +"We can declare arrays of any type. There are two common notations for " +"declaring array variables: using the `dimension` attribute or by " +"appending the array dimensions in parentheses to the variable name." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:24 +msgid "__Example:__ static array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:45 +msgid "Array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:47 +msgid "" +"A powerful feature of the Fortran language is its built-in support for " +"array operations; we can perform operations on all or part of an array " +"using array _slicing_ notation:" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:50 +msgid "__Example:__ array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:72 +msgid "" +"Fortran arrays are stored in _column-major_ order; the first index varies" +" fastest." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:75 +msgid "Allocatable (dynamic) arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:77 +msgid "" +"So far we have specified the size of our array in our program code---this" +" type of array is known as a _static_ array since its size is fixed when " +"we compile our program." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:81 +msgid "" +"Quite often, we do not know how big our array needs to be until we run " +"our program, for example, if we are reading data from a file of unknown " +"size." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:83 +msgid "" +"For this problem, we need `allocatable` arrays. These are _allocated_ " +"while the program is running once we know how big the array needs to be." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:86 +msgid "__Example:__ allocatable arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:105 +msgid "" +"Allocatable local arrays are deallocated automatically when they go out " +"of scope." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:109 +msgid "Character strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:112 +msgid "__Example:__ static character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:132 +msgid "__Example:__ allocatable character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:153 +msgid "Array of strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:155 +msgid "" +"An array of strings can be expressed in Fortran as an array of " +"`character` variables. All elements in a `character` array have equal " +"length. However, strings of varying lengths can be provided as input to " +"the array constructor, as shown in the example below. They will be " +"truncated or right-padded with spaces if they are longer or shorter, " +"respectively, than the declared length of the `character` array. Finally," +" we use the intrinsic function `trim` to remove any excess spaces when " +"printing the values to the standard output." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:162 +msgid "__Example:__ string array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:6 +msgid "Derived Types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:7 +msgid "" +"As discussed previously in [Variables](variables), there are five built-" +"in data types in Fortran. A _derived type_ is a special form of data type" +" that can encapsulate other built-in types as well as other derived " +"types. It could be considered equivalent to _struct_ in the C and C++ " +"programming languages." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:9 +msgid "A quick take on derived types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:11 +msgid "Here's an example of a basic derived type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:20 +msgid "" +"The syntax to create a variable of type `t_pair` and access its members " +"is:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:29 +msgid "The percentage symbol `%` is used to access the members of a derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:31 +msgid "" +"In the above snippet, we declared an instance of a derived type and " +"initialized its members explicitly. You can also initialize derived type " +"members by invoking the derived type constructor." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:35 +msgid "Example using the derived type constructor:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:42 +msgid "Example with default initialization:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:55 +msgid "Derived types in detail" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:57 +msgid "" +"The full syntax of a derived type with all optional properties is " +"presented below:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:69 +msgid "Options to declare a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:71 +msgid "`attribute-list` may refer to the following:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:73 +msgid "_access-type_ that is either `public` or `private`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:74 +msgid "`bind(c)` offers interoperability with C programming language" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:75 +msgid "" +"`extends(`_parent_`)`, where _parent_ is the name of a previously " +"declared derived type from which the current derived type will inherit " +"all its members and functionality" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:76 +msgid "" +"`abstract` -- an object oriented feature that is covered in the advanced " +"programming tutorial" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:78 +msgid "" +"If the attribute `bind(c)` or the statement `sequence` is used, then a " +"derived type cannot have the attribute `extends` and vice versa." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:80 +msgid "" +"The `sequence` attribute may be used only to declare that the following " +"members should be accessed in the same order as they are defined within " +"the derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:82 +msgid "Example with `sequence`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:93 +msgid "" +"The use of the statement `sequence` presupposes that the data types " +"defined below are neither of `allocatable` nor of `pointer` type. " +"Furthermore, it does not imply that these data types will be stored in " +"memory in any particular form, i.e., there is no relation to the " +"`contiguous` attribute." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:95 +msgid "" +"The _access-type_ attributes `public` and `private`, if used, declare " +"that all member-variables declared below will be automatically assigned " +"the attribute accordingly." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:97 +msgid "" +"The attribute `bind(c)` is used to achieve compatibility between " +"Fortran's derived type and C's struct." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:99 +msgid "Example with `bind(c)`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:111 +msgid "matches the following C struct type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:117 +msgid "" +"A fortran derived type with the attribute `bind(c)` cannot have the " +"`sequence` and `extends` attributes. Furthermore it cannot contain any " +"Fortran `pointer` or `allocatable` types." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:119 +msgid "" +"`parameterized-declaration-list` is an optional feature. If used, then " +"the parameters must be listed in place of `[parameterized-definition-" +"statements]` and must be either `len` or `kind` parameters or both." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:121 +msgid "" +"Example of a derived type with `parameterized-declaration-list` and with " +"the attribute `public`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:143 +msgid "" +"In this example the parameter `k` has already been assigned a default " +"value of `kind(0.0)` (single-precision floating-point). Therefore, it can" +" be omitted, as is the case here in the declaration inside the main " +"program." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:145 +msgid "" +"By default, derived types and their members are public. However, in this " +"example, the attribute `private` is used at the beginning of the module. " +"Therefore, everything within the module will be by default `private` " +"unless explicitly declared as `public`. If the type `t_matrix` was not " +"given the attribute `public` in the above example, then the compiler " +"would throw an error inside `program test`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:147 +msgid "" +"The attribute `extends` was added in the F2003 standard and introduces an" +" important feature of the object oriented paradigm (OOP), namely " +"inheritance. It allows code reusability by letting child types derive " +"from extensible parent types: `type, extends(parent) :: child`. Here, " +"`child` inherits all the members and functionality from `type :: parent`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:149 +msgid "Example with the attribute `extends`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:209 +msgid "Options to declare members of a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:211 +msgid "" +"`[member-variables]` refers to the declaration of all the member data " +"types. These data types can be of any built-in data type, and/or of other" +" derived types, as already showcased in the above examples. However, " +"member-variables can have their own extensive syntax, in form of: `type " +"[,member-attributes] :: name[attr-dependent-spec][init]`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:214 +msgid "`type`: any built-in type or other derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:216 +msgid "`member-attributes` (optional):" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:218 +msgid "`public` or `private` access attributes" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:219 +msgid "`protected` access attribute" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:220 +msgid "`allocatable` with or without `dimension` to specify a dynamic array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:221 +msgid "`pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:223 +msgid "Examples of common cases:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:245 +msgid "" +"The following attributes: `pointer`, `codimension`, `contiguous`, " +"`volatile`, `asynchronous` are advanced features that will not be " +"addressed in the *Quickstart* tutorial. However, they are presented here," +" in order for the readers to know that these features do exist and be " +"able to recognize them. These features will be covered in detail in the " +"upcoming *Advanced programing* mini-book." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:247 +msgid "Type-bound procedures" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:249 +msgid "" +"A derived type can contain functions or subroutines that are *bound* to " +"it. We'll refer to them as _type-bound procedures_. Type-bound procedures" +" follow the `contains` statement that, in turn, follows all member " +"variable declarations." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:251 +msgid "" +"It is impossible to describe type-bound procedures in full without " +"delving into OOP features of modern Fortran. For now we'll focus on a " +"simple example to show their basic use." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:253 +msgid "Here's an example of a derived type with a basic type-bound procedure:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:296 +msgid "What is new:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:298 +msgid "" +"`self` is an arbitrary name that we chose to represent the instance of " +"the derived type `t_square` inside the type-bound function. This allows " +"us to access its members and to automatically pass it as an argument when" +" we invoke a type-bound procedure." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:299 +msgid "" +"We now use `class(t_square)` instead of `type(t_square)` in the interface" +" of the `area` function. This allows us to invoke the `area` function " +"with any derived type that extends `t_square`. The keyword `class` " +"introduces the OOP feature polymorphism." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:301 +msgid "" +"In the above example, the type-bound procedure `area` is defined as a " +"function and can be invoked only in an expression, for example `x = " +"sq%area()` or `print *, sq%area()`. If you define it instead as a " +"subroutine, you can invoke it from its own `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:319 +msgid "" +"In contrast to the example with the type-bound function, we now have two " +"arguments:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:321 +msgid "" +"`class(t_square), intent(in) :: self` -- the instance of the derived type" +" itself" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:322 +msgid "" +"`real, intent(out) :: x` -- used to store the calculated area and return " +"to the caller" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:7 +msgid "" +"In this part of the tutorial, we will write our first Fortran program: " +"the ubiquitous [\"Hello, " +"World!\"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) " +"example." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:10 +msgid "" +"However, before we can write our program, we need to ensure that we have " +"a Fortran compiler set up." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:13 +msgid "" +"Fortran is a *compiled language*, which means that, once written, the " +"source code must be passed through a compiler to produce a machine " +"executable that can be run." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:17 +msgid "Compiler setup" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:19 +msgid "" +"In this tutorial, we'll work with the free and open source [GNU Fortran " +"compiler (gfortran)](https://gcc.gnu.org/fortran/), which is part of the" +" [GNU Compiler Collection (GCC)](https://gcc.gnu.org/)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:24 +msgid "" +"To install gfortran on Linux, use your system package manager. On macOS, " +"you can install gfortran using [Homebrew](https://brew.sh/) or " +"[MacPorts](https://www.macports.org/). On Windows, you can get native " +"binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:28 +msgid "" +"To check if you have _gfortran_ setup correctly, open a terminal and run " +"the following command:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:34 +msgid "this should output something like:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:43 +msgid "Hello world" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:45 +msgid "" +"Once you have set up your compiler, open a new file in your favourite " +"code editor and enter the following:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:54 +msgid "" +"Having saved your program to `hello.f90`, compile at the command line " +"with:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:59 +msgid "" +"`.f90` is the standard file extension for modern Fortran source files. " +"The 90 refers to the first modern Fortran standard in 1990." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:62 +msgid "To run your compiled program:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:68 +msgid "" +"Congratulations, you've written, compiled and run your first Fortran " +"program! In the next part of this tutorial, we will introduce variables " +"for storing data." +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "arrays strings" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "hello world" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "operators control_flow" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "variables" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "derived types" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "organising code" +msgstr "" + +#: ../../source/learn/quickstart/index.md:7 +msgid "Quickstart" +msgstr "" + +#: ../../source/learn/quickstart/index.md:9 +msgid "" +"This quickstart tutorial gives an overview of the Fortran programming " +"language and its syntax for common structured programming concepts " +"including: types, variables, arrays, control flow and functions." +msgstr "" + +#: ../../source/learn/quickstart/index.md:13 +msgid "" +"The contents of this tutorial are shown in the navigation bar on the left" +" with the current page highlighted bold." +msgstr "" + +#: ../../source/learn/quickstart/index.md:15 +msgid "" +"Use the _Next_ button at the bottom to start the tutorial with a _Hello " +"World_ example." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:7 +msgid "" +"One of the powerful advantages of computer algorithms, compared to simple" +" mathematical formulae, comes in the form of program _branching_ whereby " +"the program can decide which instructions to execute next based on a " +"logical condition." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:11 +msgid "There are two main forms of controlling program flow:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:13 +msgid "" +"_Conditional_ (if): choose program path based on a boolean (true or " +"false) value" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:15 +msgid "_Loop_: repeat a portion of code multiple times" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:19 +msgid "Logical operators" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:20 +msgid "" +"Before we use a conditional branching operator, we need to be able to " +"form a logical expression." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:23 +msgid "" +"To form a logical expression, the following set of relational operators " +"are available:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Operator  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Alternative  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Description" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`==`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eq.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests for equality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`/=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ne.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Test for inequality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`> `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.gt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly greater than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`< `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.lt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly less than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`>=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ge.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is greater than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`<=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.le.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is less than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:36 +msgid "as well as the following logical operators:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.and.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if both left and right operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.or.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if either left or right or both operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.not.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if right operand is FALSE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has same logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.neqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has the opposite logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:49 +msgid "Conditional construct (`if`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:51 +msgid "" +"In the following examples, a conditional `if` construct is used to print " +"out a message to describe the nature of the `angle` variable:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:54 +msgid "__Example:__ single branch `if`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:62 +msgid "" +"In this first example, the code within the `if` construct is _only " +"executed if_ the test expression (`angle < 90.0`) is true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:66 +msgid "" +"It is good practice to indent code within constructs such as `if` and " +"`do` to make code more readable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:70 +#, python-format +msgid "" +"{% include tip.html content=\"It is good practice to indent code within " +"constructs such as `if` and `do` to make code more readable.\" %}" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:73 +msgid "" +"We can add an alternative branch to the construct using the `else` " +"keyword:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:75 +msgid "__Example:__ two-branch `if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:85 +msgid "" +"Now there are two _branches_ in the `if` construct, but _only one branch " +"is executed_ depending on the logical expression following the `if` " +"keyword." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:88 +msgid "" +"We can actually add any number of branches using `else if` to specify " +"more conditions:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:90 +msgid "__Example:__ multi-branch `if`-`else if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:101 +msgid "" +"When multiple conditional expressions are used, each conditional " +"expression is tested only if none of the previous expressions have " +"evaluated to true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:104 +msgid "Loop constructs (`do`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:106 +msgid "" +"In the following example, a `do` loop construct is used to print out the " +"numbers in a sequence. The `do` loop has an integer _counter_ variable " +"which is used to track which iteration of the loop is currently " +"executing. In this example we use a common name for this counter " +"variable: `i`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:111 +msgid "" +"When we define the start of the `do` loop, we use our counter variable " +"name followed by an equals (`=`) sign to specify the start value and " +"final value of our counting variable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:114 +msgid "__Example:__ `do` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:124 +msgid "__Example:__ `do` loop with skip" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:134 +msgid "Conditional loop (`do while`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:136 +msgid "" +"A condition may be added to a `do` loop with the `while` keyword. The " +"loop will be executed while the condition given in `while()` evaluates to" +" `.true.`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:139 +msgid "__Example:__ `do while()` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:152 +msgid "Loop control statements (`exit` and `cycle`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:154 +msgid "" +"Most often than not, loops need to be stopped if a condition is met. " +"Fortran provides two executable statements to deal with such cases." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:157 +msgid "" +"`exit` is used to quit the loop prematurely. It is usually enclosed " +"inside an `if`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:159 +msgid "__Example:__ loop with `exit`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:173 +msgid "" +"On the other hand, `cycle` skips whatever is left of the loop and goes " +"into the next cycle." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:175 +msgid "__Example:__ loop with `cycle`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:189 +msgid "" +"When used within nested loops, the `cycle` and `exit` statements operate " +"on the innermost loop." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:192 +msgid "Nested loop control: tags" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:194 +msgid "" +"A recurring case in any programming language is the use of nested loops. " +"Nested loops refer to loops that exist within another loop. Fortran " +"allows the programmer to _tag_ or _name_ each loop. If loops are tagged, " +"there are two potential benefits:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:195 +msgid "" +"The readability of the code may be improved (when the naming is " +"meaningful)." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:196 +msgid "" +"`exit` and `cycle` may be used with tags, which allows for very fine-" +"grained control of the loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:198 +msgid "__Example:__ tagged nested loops" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:213 +msgid "Parallelizable loop (`do concurrent`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:215 +msgid "" +"The `do concurrent` loop is used to explicitly specify that the _inside " +"of the loop has no interdependencies_; this informs the compiler that it " +"may use parallelization/_SIMD_ to speed up execution of the loop and " +"conveys programmer intention more clearly. More specifically, this means " +"that any given loop iteration does not depend on the prior execution of " +"other loop iterations. It is also necessary that any state changes that " +"may occur must only happen within each `do concurrent` loop. These " +"requirements place restrictions on what can be placed within the loop " +"body." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:221 +msgid "" +"Simply replacing a `do` loop with a `do concurrent` does not guarantee " +"parallel execution. The explanation given above does not detail all the " +"requirements that need to be met in order to write a correct `do " +"concurrent` loop. Compilers are also free to do as they see fit, meaning " +"they may not optimize the loop (e.g., a small number of iterations doing " +"a simple calculation, like the >below example). In general, compiler " +"flags are required to activate possible parallelization for `do " +"concurrent` loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:227 +msgid "__Example:__ `do concurrent()` loop" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:6 +msgid "Organising Code" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:8 +msgid "" +"Most programming languages allow you to collect commonly-used code into " +"_procedures_ that can be reused by _calling_ them from other sections of " +"code." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:11 +msgid "Fortran has two forms of procedure:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:13 +msgid "__Subroutine__: invoked by a `call` statement" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:14 +msgid "" +"__Function__: invoked within an expression or assignment to which it " +"returns a value" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:16 +msgid "" +"Both subroutines and functions have access to variables in the parent " +"scope by _argument association_; unless the `value` attribute is " +"specified, this is similar to call by reference." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:19 +msgid "Subroutines" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:21 +msgid "" +"The subroutine input arguments, known as _dummy arguments_, are specified" +" in parentheses after the subroutine name; the dummy argument types and " +"attributes are declared within the body of the subroutine just like local" +" variables." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:24 +#: ../../source/learn/quickstart/organising_code.md:118 +#: ../../source/learn/quickstart/variables.md:134 +msgid "__Example:__" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:44 +msgid "" +"Note the additional `intent` attribute when declaring the dummy " +"arguments; this optional attribute signifies to the compiler whether the " +"argument is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) " +"or ''read-write'' (`intent(inout)`) within the procedure. In this " +"example, the subroutine does not modify its arguments, hence all " +"arguments are `intent(in)`." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:48 +msgid "" +"It is good practice to always specify the `intent` attribute for dummy " +"arguments; this allows the compiler to check for unintentional errors and" +" provides self-documentation." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:52 +msgid "We can call this subroutine from a program using a `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:66 +msgid "" +"This example uses a so-called _explicit-shape_ array argument since we " +"have passed additional variables to describe the dimensions of the array " +"`A`; this will not be necessary if we place our subroutine in a module as" +" described later." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:70 +msgid "Functions" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:84 +msgid "In production code, the intrinsic function `norm2` should be used." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:86 +msgid "To execute this function:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:102 +msgid "" +"It is good programming practice for functions not to modify their " +"arguments---that is, all function arguments should be `intent(in)`. Such " +"functions are known as `pure` functions. Use subroutines if your " +"procedure needs to modify its arguments." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:107 +msgid "Modules" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:109 +msgid "" +"Fortran modules contain definitions that are made accessible to programs," +" procedures, and other modules through the `use` statement. They can " +"contain data objects, type definitions, procedures, and interfaces." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:112 +msgid "" +"Modules allow controlled scoping extension whereby entity access is made " +"explicit" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:113 +msgid "" +"Modules automatically generate explicit interfaces required for modern " +"procedures" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:115 +msgid "" +"It is recommended to always place functions and subroutines within " +"modules." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:147 +msgid "" +"Compare this `print_matrix` subroutine with that written outside of a " +"module we no longer have to explicitly pass the matrix dimensions and can" +" instead take advantage of _assumed-shape_ arguments since the module " +"will generate the required explicit interface for us. This results in a " +"much simpler subroutine interface." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:152 +msgid "To `use` the module within a program:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:167 +msgid "__Example:__ explicit import list" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:173 +msgid "__Example:__ aliased import" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:179 +msgid "" +"Each module should be written in a separate `.f90` source file. Modules " +"need to be compiled prior to any program units that `use` them." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:7 +msgid "" +"Variables store information that can be manipulated by the program. " +"Fortran is a _strongly typed_ language, which means that each variable " +"must have a type." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:11 +msgid "There are 5 built-in data types in Fortran:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:13 +msgid "`integer` -- for data that represent whole numbers, positive or negative" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:14 +msgid "`real` -- for floating-point data (not a whole number)" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:15 +msgid "`complex` -- pair consisting of a real part and an imaginary part" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:16 +msgid "`character` -- for text data" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:17 +msgid "`logical` -- for data that represent boolean (true or false) values" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:19 +msgid "" +"Before we can use a variable, we must _declare_ it; this tells the " +"compiler the variable type and any other variable attributes." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:22 +msgid "" +"Fortran is a _statically typed_ language, which means the type of each " +"variable is fixed when the program is compiled---variable types cannot " +"change while the program is running." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:25 +msgid "Declaring variables" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:27 +msgid "The syntax for declaring variables is:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:33 +msgid "" +"where `` is one of the built-in variable types listed " +"above and `` is the name that you would like to call your " +"variable." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:36 +msgid "" +"Variable names must start with a letter and can consist of letters, " +"numbers and underscores. In the following example we declare a variable " +"for each of the built-in types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:39 +msgid "__Example:__ variable declaration" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:54 +msgid "" +"Fortran code is __case-insensitive__; you don't have to worry about the " +"capitalisation of your variable names, but it's good practice to keep it " +"consistent." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:57 +msgid "" +"Note the additional statement at the beginning of the program: `implicit " +"none`. This statement tells the compiler that all variables will be " +"explicitly declared; without this statement variables will be implicitly" +" typed according to the letter they begin with." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:61 +msgid "" +"Always use the `implicit none` statement at the beginning of each program" +" and procedure. Implicit typing is considered bad practice in modern " +"programming since it hides information leading to more program errors." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:66 +msgid "" +"Once we have declared a variable, we can assign and reassign values to it" +" using the assignment operator `=`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:68 +msgid "__Example:__ variable assignment" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:78 +msgid "Characters are surrounded by either single (`'`) or double quotes (`\"`)." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:80 +msgid "Logical or boolean values can be either `.true.` or `.false.`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:82 +msgid "" +"Watch out\" content=\"for assignment at declaration: `integer :: amount =" +" 1`. __This is NOT a normal initialisation;__ it implies the `save` " +"attribute which means that the variable retains its value between " +"procedure calls. Good practice is to initialise your variables separately" +" to their declaration." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:87 +msgid "Standard input / output" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:89 +msgid "" +"In our _Hello World_ example, we printed text to the command window. This" +" is commonly referred to as writing to `standard output` or `stdout`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:92 +msgid "" +"We can use the `print` statement introduced earlier to print variable " +"values to `stdout`:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:102 +msgid "" +"In a similar way, we can read values from the command window using the " +"`read` statement:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:118 +msgid "This input source is commonly referred to as `standard input` or `stdin`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:121 +msgid "Expressions" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:122 +msgid "" +"The usual set of arithmetic operators are available, listed in order or " +"precedence:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`**`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Exponent" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`*`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Multiplication" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`/ `" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Division" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`+`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Addition" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`-`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Subtraction" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:170 +msgid "Floating-point precision" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:172 +msgid "" +"The desired floating-point precision can be explicitly declared using a " +"`kind` parameter. The `iso_fortran_env` intrinsic module provides `kind` " +"parameters for the common 32-bit and 64-bit floating-point types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:175 +msgid "__Example:__ explicit real `kind`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:190 +msgid "Always use a `kind` suffix for floating-point literal constants." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:192 +msgid "__Example:__ C-interoperable `kind`s" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:204 +msgid "" +"In the next part we will learn how to use arrays for storing more than " +"one value in a variable." +msgstr "" + diff --git a/locale/de/LC_MESSAGES/news.po b/locale/de/LC_MESSAGES/news.po new file mode 100644 index 000000000..8440304f9 --- /dev/null +++ b/locale/de/LC_MESSAGES/news.po @@ -0,0 +1,13945 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/news.rst:2 +msgid "News - The Fortran Programming Language" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:8 +msgid "" +"The J3 Fortran Committee meeting took place in Las Vegas, NV, on February" +" 24-28, 2020." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:11 +msgid "Attendance" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:13 +msgid "The following people / companies attended:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:15 +msgid "Voting members:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:17 +msgid "Intel: Jon Steidel" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:18 +msgid "HPE/Cray: Bill Long" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:19 +msgid "NVIDIA: Peter Klausler, Gary Klimowicz" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:20 +msgid "IBM: Daniel Chen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:21 +msgid "ARM: Srinath Vadlamani" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:22 +msgid "NCAR: Dan Nagle, Magne Haveraaen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:23 +msgid "NASA: Tom Clune" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:24 +msgid "JPL: Van Sneider" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:25 +msgid "LANL: Zach Jibben, Ondřej Čertík" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:26 +msgid "ORNL: Reuben Budiardja" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:27 +msgid "LBNL: Brian Friesen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:28 +msgid "Sandia: Damian Rouson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:29 +msgid "Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:30 +msgid "Corbett: Bob Corbett" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:32 +msgid "Others:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:34 +msgid "AMD: Richard Bleikamp" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:35 +msgid "WG23: Stephen Michell (convenor), Erhard Ploedereder (member)" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:36 +msgid "Structural Integrity: Brad Richardson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:38 +msgid "Proposals Discussed at Plenary" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:40 +msgid "Monday 2/24" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:42 +msgid "Tuesday 2/25" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:44 +msgid "" +"[#22] : Default values of optional arguments " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:46 +msgid "Wednesday 2/26" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:48 +msgid "" +"[#157] : Rank-agnostic array element and section denotation " +"(, " +")" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:49 +msgid "" +"[#158] : TYPEOF and CLASSOF " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:50 +msgid "" +"[#1] : Namespace for modules " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:51 +msgid "" +"Interpretation: FORM TEAM and failed images " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:52 +msgid "" +"Interpretation: Collective subroutines and STAT= " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:54 +msgid "Thursday 2/27" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:56 +msgid "" +"Interpretation: events that cause variables to become undefined " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:57 +msgid "" +"Edits for SIMPLE procedures " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:58 +msgid "BFLOAT16 ()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:59 +msgid "" +"[#146] : Interpretation: allocatable component finalization " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:61 +msgid "Friday 2/28" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:63 +msgid "" +"[#157] : Rank-agnostic syntax " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:64 +msgid "" +"[#156] : Protected components " +"(). Withdrawn to address " +"conflicting interests." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:65 +msgid "" +"[#160] : Edits for auto-allocate characters " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:66 +msgid "" +"Edits for procedure pointer association " +"(). Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:67 +msgid "" +"[#157] : Edits for rank-agnostic bounds " +"(). Withdrawn because some" +" edits were missing and need to be added. There were concerns about " +"fitting into the framework of generics later on." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:68 +msgid "" +"[#157] : Edits for rank-agnostic array element and section denotation " +"(). Failed (5 v 7). " +"Missing edits, and disagreement on types vs rank-1 integers, the options " +"need to be explored more." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:69 +msgid "" +"[#157] : Edits for rank-agnostic allocation and pointer assignment " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:70 +msgid "" +"Interpretation: Public namelist and private variable " +"(). Straw vote (0 yes, 8 " +"no, 9 undecided). Passed unanimously with \"no\" alternative." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:71 +msgid "" +"Interpretation F18/015 ()." +" Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:74 +msgid "Skipped" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:76 +msgid "This was on the plan but we did not get to it:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:78 +msgid "" +"[#5] : US 27 POINTER dummy arguments, INTENT, and target modification " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:79 +msgid "[#19] : Short-circuiting proposal" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:81 +msgid "More Details" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:83 +msgid "" +"More details available at [j3-fortran/fortran_proposals " +"#155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at " +"the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt)" +" from the meeting." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:8 +msgid "" +"FortranCon 2020, the first international conference targeting the Fortran" +" programming language, will take place on July 2-4, 2020, in Zürich, " +"Switzerland." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:13 +msgid "" +"FortranCon aims to bring together developers of Fortran libraries, " +"applications, and language itself to share their experience and ideas. " +"The conference is organized in two full days of speaker presentations on" +" July 2 and 3, and a half-day workshop with lectures and hands-on " +"sessions on July 4. Click " +"[here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit an " +"abstract." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:21 +msgid "" +"The keynote presentation will be delivered by Steve Lionel " +"([@doctorfortran](https://twitter.com/doctorfortran)), convener of the " +"US Fortran Standards Committee." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:25 +msgid "" +"The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/)" +" is **free of charge**, with June 1, 2020 as the deadline. Virtual " +"participation will be enabled for speakers and attendees unable to " +"travel." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:30 +msgid "" +"Read more about FortranCon 2020 " +"[here](https://tcevents.chem.uzh.ch/event/12/)." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:8 +msgid "" +"Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and " +"Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) " +"spoke yesterday about the future of Fortran in Episode 40 of the Open " +"Source Directions Webinar. We discussed the current state of the " +"language, how it's currently developed, and what we can do today to " +"build the Fortran community, ecosystem of packages, and developer tools." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:16 +msgid "Watch the episode now:" +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:20 +msgid "" +"Special thanks to our hosts Melissa Mendonça " +"([@melissawm](https://twitter.com/melissawm)) and Madicken Munk " +"([@munkium](https://twitter.com/munkium)), as well as " +"[OpenTeams](https://openteams.com) and " +"[QuanSight](https://www.quansight.com/) for having us." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:26 +msgid "" +"You can find all previous episodes of the Open Source Directions webinar" +" [here](https://www.quansight.com/open-source-directions)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:13 +msgid "" +"Welcome to the first monthly Fortran newsletter. It will come out on the " +"first calendar day of every month, detailing Fortran news from the " +"previous month." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:17 +msgid "[This website](#this-website)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:18 +msgid "[Standard Library](#standard-library)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:19 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:16 +msgid "[Package Manager](#package-manager)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:20 +msgid "[WG5 Convenor candidates](#wg5-convenor-candidates)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:21 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:17 +msgid "[Events](#events)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:22 +msgid "[Who's hiring?](#whos-hiring)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:24 +msgid "This website" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:26 +msgid "" +"If you came to this newsletter from elsewhere, welcome to the new Fortran" +" website. We built this site mid-April and hope for it to be _the_ home " +"of Fortran on the internet, which traditionally there hasn't been any to " +"date. Look around and [let us know](https://github.com/fortran-lang" +"/fortran-lang.github.io/issues) if you have any suggestions for " +"improvement. Specifically, [Learn](/learn) and [Packages](/packages) are " +"the pages that we'll be focusing on in the coming months. Please help " +"us make them better!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:35 +msgid "Standard Library" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:37 +msgid "Here's what's new in Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:39 +msgid "" +"[#172](https://github.com/fortran-lang/stdlib/pull/172) New function " +"`cov` in the `stdlib_experimental_stats` module to compute covariance of " +"array elements. Read the full specification [here](https://github.com" +"/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov" +"---covariance-of-array-elements)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:43 +msgid "" +"[#168](https://github.com/fortran-lang/stdlib/pull/168) Specify " +"recommended order of attributes for dummy arguments in the [Stdlib style" +" guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:47 +msgid "[#173](https://github.com/fortran-lang/stdlib/pull/173) Minor bug fix." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:50 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) WIP: Addition of " +"`diag`, `eye`, and `trace` functions to make working with matrices " +"easier." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:54 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:75 +msgid "Package Manager" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:56 +msgid "" +"In the past month we've seen the first working implementation of the " +"[Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). " +"Specifically:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:59 +msgid "FPM supports three commands:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:60 +msgid "`fpm build`--compiles and links your application and/or library." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:61 +msgid "`fpm test`--runs tests if your package has any test programs." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:62 +msgid "`fpm run`--runs the application if your package has an executable program." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:63 +msgid "FPM can build an executable program, a library, or a combination of both." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:64 +msgid "" +"Currently only gfortran is supported as the compiler backend. FPM will " +"suport other compilers soon." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:66 +msgid "" +"Read the [FPM packaging guide](https://github.com/fortran-" +"lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with " +"FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:69 +msgid "" +"FPM is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:72 +msgid "Try to use it. Does it work? No? Let us know!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:73 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:90 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:82 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:75 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:58 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:95 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:93 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:100 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:178 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:126 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:119 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:160 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:141 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:123 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:157 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:172 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:143 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:208 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:137 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:152 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:165 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:143 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:124 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:136 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:154 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:138 +msgid "" +"Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and " +"see if you can help implement any fixes or features." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:74 +msgid "Adapt your Fortran package for FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:75 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:92 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:84 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:77 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:60 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:97 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:95 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:102 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:180 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:128 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:121 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:162 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:143 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:125 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:159 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:174 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:145 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:210 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:139 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:154 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:145 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:126 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:138 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:156 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:140 +msgid "Improve the documentation." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:77 +msgid "" +"The short term goal of FPM is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are " +"created and published with ease." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:81 +msgid "WG5 Convenor candidates" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:83 +msgid "" +"Last month was also the deadline for the [WG5](https://wg5-fortran.org/) " +"convenor candidates to apply for the next 3-year term (2021-2024). There " +"are two candidates:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:87 +msgid "" +"[Steve Lionel](https://stevelionel.com), who is also the current WG5 " +"convenor, announced running for another term. Read Steve's " +"[post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-" +"forward) about how he has guided the standardization process over the " +"past three years and his direction for the future." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:92 +msgid "" +"[Ondřej Čertík](https://ondrejcertik.com) has also announced announced to" +" run for the WG5 convenor. Read Ondřej's " +"[announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5" +"-convenor-announcement/) and " +"[platform](https://github.com/certik/wg5_platform_2020) that detail " +"current issues with Fortran language development and how to overcome them" +" going forward." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:99 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:105 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:90 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:140 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:141 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:176 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:166 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:161 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:215 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:174 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:163 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:260 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:215 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:165 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:181 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:207 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:279 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:296 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:231 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:232 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:284 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:249 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:261 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:369 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:470 +msgid "Events" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:101 +msgid "" +"[OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com)" +" hosted Ondřej Čertík and Milan Curcic in the Episode 40 of the Open " +"Source Directions Webinar. They talked about the current state and future" +" of Fortran, as well as about building the Fortran community and " +"developer tools. Read more about it and watch the video " +"[here](/newsletter/2020/04/18/Fortran-Webinar/)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:105 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:108 +msgid "" +"J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, " +"Nevada. You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:112 +msgid "Who's hiring?" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:114 +msgid "" +"[Intel Corporation (Santa Clara, CA): Software Engineer, " +"Fortran](https://g.co/kgs/aogdeh)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:115 +msgid "" +"[Intel Corporation (Hillsboro, OR): Software Engineer, " +"Fortran](https://g.co/kgs/5X3d2Y)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:116 +msgid "[Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:117 +msgid "" +"[American Cybersystems, Inc. (Binghamton, NY): Software Engineer " +"(Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:118 +msgid "[BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:119 +msgid "" +"[Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and" +" Topology Optimization](https://g.co/kgs/eYftiA)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:9 +msgid "" +"Welcome to the June 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:13 +msgid "[fortran-lang.org](#fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:14 +msgid "[Fortran Discourse](#fortran-discourse)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:15 +msgid "[Standard Library](#fortran-standard-library)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:18 +msgid "[Contributors](#contributors)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:20 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:15 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:15 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:15 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:15 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:15 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:15 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:16 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:15 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:15 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:15 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:15 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:15 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:15 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:15 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:15 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:15 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:16 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:15 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:16 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:15 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:15 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:15 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:15 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:15 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:22 +msgid "" +"The Fortran website has been up since mid-April, and we've already got " +"great feedback from the community. In the past month we've updated the " +"[Compilers](/compilers) page which is now comprehensive and includes all " +"major open source and commercial compilers. The [Learn](/learn) page has " +"also seen significant updates—it's been reorganized for easier navigation" +" and currently features a quickstart tutorial, Fortran books, and other " +"online resources." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:30 +msgid "" +"If you haven't yet, please explore the website and [let us " +"know](https://github.com/fortran-lang/fortran-lang.org/issues) if you " +"have any suggestions for improvement. Specifically, we'll be focusing on " +"the [Learn](/learn) page and its mini-books in the coming months. Please " +"help us make them better!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:36 +msgid "Here are some specific items that we worked on:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:38 +msgid "" +"[#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) WIP: " +"Mini-book on building programs" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:40 +msgid "" +"[#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) Improving" +" the structure and navigation of the [Learn](/learn) pages" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:42 +msgid "" +"[#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) Build " +"website previews from pull requests" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:45 +msgid "Fortran Discourse" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:47 +msgid "" +"On May 4 we launched the [Fortran Discourse](https://fortran-" +"lang.discourse.group), an online discussion board for anything and " +"everything Fortran related. You can use it discuss the Fortran language, " +"ask for help, announce events and/or personal projects, or just lurk " +"around. There are already quite a few interesting discussions going on. " +"Join us!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:54 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:41 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:40 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:32 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:32 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:47 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:34 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:47 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:34 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:44 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:45 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:36 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:40 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:44 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:56 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:36 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:64 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:42 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:35 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:44 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:35 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:35 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:41 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:59 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:45 +msgid "Fortran Standard Library" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:56 +msgid "" +"Recently we launched a [website](https://stdlib.fortran-lang.org) for the" +" API documentation of the Fortran Standard Library. The " +"[website](https://stdlib.fortran-lang.org) is automaticaly generated by " +"[FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). [Code of" +" Conduct](https://stdlib.fortran-" +"lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib" +".fortran-lang.org/page/License.html), and [workflow](https://stdlib" +".fortran-lang.org/page/contributing/Workflow.html) for contributing to " +"the Fortran Standard Library can also be found on the " +"[website](https://stdlib.fortran-lang.org/)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:60 +msgid "Here's what's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:62 +msgid "" +"[#191](https://github.com/fortran-lang/stdlib/pull/191) WIP: Function for" +" computing Pearson correlations among elements of an array in the " +"`stdlib_experimental_stats` module" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:65 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) WIP: Procedures " +"for sparse matrices operations. Ongoing discussion on the API can be " +"found [here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-" +"matrix-API)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:68 +msgid "" +"[#183](https://github.com/fortran-lang/stdlib/pull/183) Automatic API-doc" +" generation and deployment of this [stdlib website](https://stdlib" +".fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:70 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) Addition of the " +"new functions `diag`, `eye`, and `trace` functions to make working with " +"matrices easier. Read the full specifications [here](https://stdlib" +".fortran-lang.org/page/specs/stdlib_experimental_linalg.html)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:77 +msgid "" +"In this past month support for dependencies between packages has been " +"added to the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/fpm). You can specify either a path to another folder on your " +"machine with an fpm package, or a git repository (and optionally a " +"specific branch, tag or commit) that contains the package. fpm will then " +"take care of fetching the dependency for you (if necessary) and any " +"packages it depends on, and compiling and linking it into your project. " +"Check out an example [hello world " +"package](https://gitlab.com/everythingfunctional/hello_fpm) that uses " +"this functionality." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:86 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:78 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:71 +msgid "" +"fpm is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:89 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:81 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:74 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:57 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:94 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:92 +msgid "" +"Try to use it. Does it work? No? Let us know! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:91 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:83 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:76 +msgid "Adapt your Fortran package for fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:94 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:86 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:79 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:62 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:99 +msgid "" +"The short term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:98 +msgid "Specific items that are new this month:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:100 +msgid "" +"[#82](https://github.com/fortran-lang/fpm/pull/82) You can now add remote" +" git repositories as Fortran dependencies to your project." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:102 +msgid "" +"[#73](https://github.com/fortran-lang/fpm/pull/73) Improved output " +"messages for the user" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:107 +msgid "" +"We hosted the very first Fortran Monthly call on May 14. The turnout was " +"astonishing--over 23 people joined. You can read the notes from the call " +"[here](https://fortran-lang.discourse.group/t/fortran-monthly-call-" +"may-2020). We'll have another one this month. Subscribe to the [mailing " +"list](https://groups.io/g/fortran-lang) and/or join the [Discourse](https" +"://fortran-lang.discourse.group) to stay tuned." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:113 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020. There are quite a few submissions from the fortran-lang community: " +"A talk on [stdlib](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, one " +"about the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, a talk on " +"[LFortran " +"compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by " +"Ondřej Čertík, as well as one about [building the Fortran " +"community](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-community) by Milan Curcic." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:122 +msgid "" +"J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, " +"Nevada, has been " +"[cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html)." +" However, the work on proposals for the Fortran Standard doesn't stop. " +"You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:127 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:104 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:157 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:151 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:186 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:179 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:173 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:230 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:189 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:188 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:290 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:227 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:186 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:202 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:224 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:296 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:310 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:252 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:247 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:303 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:266 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:282 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:257 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:379 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:485 +msgid "Contributors" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:129 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories [fortran-" +"lang/stdlib](https://github.com/fortran-lang/stdlib), [fortran-" +"lang/fpm](https://github.com/fortran-lang/fpm), [fortran-lang/fortran-" +"lang.org](https://github.com/fortran-lang/fortran-lang.org), " +"[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:136 +msgid "" +"Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), Laurence Kedward " +"([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas " +"([@jvdp1](https://github.com/jvdp1)), Brad Richardson " +"([@everythingfunctional](https://github.com/everythingfunctional)), Izaak" +" \"Zaak\" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin " +"Diehl ([@MarDiehl](https://github.com/MarDiehl)), " +"[@arjenmarkus](https://github.com/arjenmarkus), Van Snyder " +"([@vansnyder](https://github.com/vansnyder)), " +"[@FortranFan](https://github.com/FortranFan), " +"[@epagone](https://github.com/epagone), Ivan ([@ivan-" +"pi](https://github.com/ivan-pi)), Neil Carlson " +"([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu " +"([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima " +"([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler " +"([@klausler](https://github.com/klausler)), Chris MacMackin " +"([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa " +"([@p-costa](https://github.com/p-costa)), [@mobius-" +"eng](https://github.com/mobius-eng), Salvatore Filippone " +"([@sfilippone](https://github.com/sfilippone)), " +"[@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar " +"([@aktech](https://github.com/aktech)), Bálint Aradi " +"([@aradi](https://github.com/aradi)), Melissa Weber Mendonça " +"([@melissawm](https://github.com/melissawm)), Jacob Williams " +"([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami " +"([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi " +"([@shahmoradi](https://github.com/shahmoradi)), Bill Long " +"([@longb](https://github.com/longb))." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:9 +msgid "" +"Welcome to the July 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:17 +msgid "" +"Work has continued on the Fortran-lang website, including a new community" +" page and additional tutorial content:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:19 +msgid "" +"[#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated " +"the [Quickstart mini-book](https://fortran-" +"lang.org/learn/quickstart/derived_types) tutorial with a comprehensive " +"overview of derived types;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:21 +msgid "" +"[#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a " +"second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) " +"page on building compiled programs and libraries;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:23 +msgid "" +"[#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added " +"a new top-level web-page for Fortran-lang community projects. The page " +"gives useful information and links for new contributors, as well as " +"acknowledging each of our many existing contributors. Check it out at " +"." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:27 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:27 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:22 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:22 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:37 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:26 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:35 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:22 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:34 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:35 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:26 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:28 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:30 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:46 +msgid "Ongoing work:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:29 +msgid "" +"[#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code" +" style for Fortran examples in the tutorials. See the corresponding " +"community poll and discussion on [Discourse](https://fortran-" +"lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a" +"-consistent-style-for-code-listings/134);" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:32 +msgid "" +"[#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan" +" for core language tutorials." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:34 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:36 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:29 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:29 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:44 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:31 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:44 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:31 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:41 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:42 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:33 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:37 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:41 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:33 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:58 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:35 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:29 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:38 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:29 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:29 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:35 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:53 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:39 +msgid "" +"[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if" +" you have any suggestions for the website and its content. We welcome any" +" new contributors to the website and the tutorials page in particular - " +"see the [contributor guide](https://github.com/fortran-lang/fortran-" +"lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:37 +msgid "" +"__Did you know__ you don't need to know HTML or any fancy languages to " +"contribute to the website; all of the online tutorials and most of the " +"website content are written in [markdown](https://github.com/adam-p" +"/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for " +"formatting text - don't worry if you haven't used it before, it's very " +"easy to pick up!" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:43 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:42 +msgid "What's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:45 +msgid "" +"[#209](https://github.com/fortran-lang/stdlib/pull/209) Implements " +"Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the " +"quadrature module (`stdlib_experimental_quadrature`)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:48 +msgid "" +"[#205](https://github.com/fortran-lang/stdlib/pull/205) Tests for and " +"improved standard conformance." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:51 +msgid "Some miscellaneous fixes and improvements:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:53 +msgid "" +"[#208](https://github.com/fortran-lang/stdlib/pull/208) Fixes to support " +"Intel Fortran compilers" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:55 +msgid "" +"[#210](https://github.com/fortran-lang/stdlib/pull/210) Fixes to support " +"NAG compiler" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:57 +msgid "" +"[#207](https://github.com/fortran-lang/stdlib/pull/207) " +"[#211](https://github.com/fortran-lang/stdlib/pull/211) Other minor fixes" +" and improvements" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:61 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:51 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:47 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:63 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:67 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:99 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:96 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:81 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:102 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:94 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:94 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:116 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:137 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:108 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:158 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:102 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:108 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:135 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:88 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:82 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:96 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:114 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:104 +msgid "Fortran Package Manager" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:63 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:53 +msgid "What's new in fpm:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:65 +msgid "" +"[#99](https://github.com/fortran-lang/fpm/pull/99) fpm now lets you " +"specify a custom build script or a Makefile to use. This will help " +"building packages that use a custom structure and/or external " +"dependencies in other languages." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:69 +msgid "" +"[#89](https://github.com/fortran-lang/fpm/pull/89) Allow specifying " +"specific tests or executables to run via command-line arguments." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:71 +msgid "" +"[#85](https://github.com/fortran-lang/fpm/pull/85) Enables having " +"specific dependencies for tests and executables." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:73 +msgid "" +"[#97](https://github.com/fortran-lang/fpm/pull/97) " +"[#100](https://github.com/fortran-lang/fpm/pull/100) " +"[#101](https://github.com/fortran-lang/fpm/pull/101) Minor improvements " +"to the README." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:92 +msgid "" +"We had our second Fortran Monthly call on June 19. You can read watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:97 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:153 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:148 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:183 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:176 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:170 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:222 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:186 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:185 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:287 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:224 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:183 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:199 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:221 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:293 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:307 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:249 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:244 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:300 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:263 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:279 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:254 +msgid "" +"As usual, subscribe to the [mailing list](https://groups.io/g/fortran-" +"lang) and/or join the [Discourse](https://fortran-lang.discourse.group) " +"to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:100 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today " +"(July 2), with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:106 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:159 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:109 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:162 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:156 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:191 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:110 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:163 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:157 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:192 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:111 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:164 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:159 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:194 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:112 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:165 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:161 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:196 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:9 +msgid "" +"Welcome to the August 2020 edition of the monthly Fortran newsletter. The" +" newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:17 +msgid "We continued the work on the Fortran-lang website, including:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:19 +msgid "" +"[#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): " +"updates to the Quickstart tutorial on loop control and syntax" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:21 +msgid "" +"[#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): " +"updated the [Book section](https://fortran-lang.org/learn/) with a " +"comprehensive list of books about Fortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:25 +msgid "" +"[#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), " +"[#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), " +"[#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), " +"[#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): " +"additional packages added to the Fortran-lang.org [packages](https" +"://fortran-lang.org/packages) page" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:29 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:43 +msgid "" +"[#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of" +" the Fortran Standard Library has been modified for clarity and ease of " +"use. With these changes, both experimental and stable procedures will " +"reside together in the same modules. The status of the procedures " +"(experimental vs stable) are documented in the code, in the specs, and in" +" the [API docs](https://stdlib.fortran-lang.org/)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:45 +msgid "Main ongoing discussions:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:46 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:47 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:48 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:39 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:55 +msgid "" +"[#221](https://github.com/fortran-lang/stdlib/issues/221): API for a " +"bitset data type" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:49 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:40 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:56 +msgid "" +"[#201](https://github.com/fortran-lang/stdlib/issues/201): API for file " +"system operations" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:54 +msgid "" +"We created the [fpm-registry](https://github.com/fortran-lang/fpm-" +"registry) repository, which serves as a registry of fpm-enabled Fortran " +"packages. Please see the README there to learn how to contribute a " +"package. For now, the registry is simply a list of fpm-enabled Fortran " +"packages that you can use as a dependency in your `fpm.toml` file. Soon, " +"this registry will be used to generate detailed metadata that will be " +"used by fpm to allow you to search for packages from the command-line, " +"e.g. `fpm search ` or similar." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:59 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the " +"design of the new Fortran implementation of fpm in a video call. We " +"agreed on the need for an intermediate package model which will allow for" +" clean separation of fpm frontends (user interface, parsing, and " +"semantics) and fpm backends (fpm itself, CMake, Make, etc.)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:60 +msgid "" +"[#131](https://github.com/fortran-lang/fpm/pull/131), " +"[#132](https://github.com/fortran-lang/fpm/pull/132), " +"[#139](https://github.com/fortran-lang/fpm/pull/139), " +"[#140](https://github.com/fortran-lang/fpm/pull/140), " +"[#142](https://github.com/fortran-lang/fpm/pull/142), " +"[#145](https://github.com/fortran-lang/fpm/pull/145), " +"[#147](https://github.com/fortran-lang/fpm/pull/147), " +"[#148](https://github.com/fortran-lang/fpm/pull/148), " +"[#151](https://github.com/fortran-lang/fpm/pull/151): We merged several " +"pull requests toward the Fortran fpm implementation. The Haskell " +"implementation has moved to the `fpm/bootstrap` directory, and the " +"Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of " +"course, an fpm package itself so it can be built by the Haskell fpm. " +"Soon, it will be able to be build by itself." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:83 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:66 +msgid "Fortran benchmarks" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:85 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:68 +msgid "" +"We created the [benchmarks repository](https://github.com/fortran-" +"lang/benchmarks) with the goal to design and implement a comprehensive " +"set of benchmarks. The benchmarks will aim to compare the performance of " +"various Fortran compilers, as well as the performance of canonical " +"algorithms implemented in Fortran and different languages. If you'd like " +"to contribute in any way, be it the design, implementation, or testing of" +" benchmarks, please join the ongoing discussion [here](https://github.com" +"/fortran-lang/benchmarks/issues)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:89 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:84 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:106 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:103 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:110 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:188 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:136 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:170 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:151 +msgid "Classic Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:91 +msgid "" +"We've begun to evaluate pull requests and merge them into the original " +"Flang compiler again. There is now a biweekly call to discuss issues and " +"plans for Classic Flang. The next call will be Wednesday, August 12, 8:30" +" AM Pacific time. The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:97 +msgid "" +"In the last call, AMD reviewed their outstanding pull requests for " +"Fortran debug metadata enhancements." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:100 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:100 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:131 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:125 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:134 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:196 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:156 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:196 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:162 +msgid "LLVM Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other test suites that use F77." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:106 +msgid "" +"We cominue upstreaming the lowering code from the fir-dev fork (MLIR-" +"based Fortran IR) into the llvm-project repository. Arm is working on " +"changes to support a driver program to replace the throwaway driver we " +"currently have." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:110 +msgid "" +"AMD has been contributing parser and semantic processing for OpenMP " +"constructs like task wait, barrier and parallel constructs." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:113 +msgid "" +"Changes have been made to default parse/unparse/compile processing to " +"default to gfortran (not NVIDIA Fortran)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:116 +msgid "Valentin Clement has been committing initial changes for OpenACC support." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:119 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:118 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:152 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:148 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:129 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:235 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:204 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:134 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:168 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:182 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:211 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:267 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:218 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:214 +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:131 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:269 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:196 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:251 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:237 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:236 +msgid "LFortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:121 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:120 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:154 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:150 +msgid "What's new in LFortran:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:123 +msgid "" +"The initial prototype C++ backend can translate Fortran's `do concurrent`" +" to C++'s `Kokkos::parallel_for`: " +"[https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:124 +msgid "" +"LFortran has a Twitter account for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:125 +msgid "" +"Work is progressing on the production version of LFortran that is written" +" in C++" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:126 +msgid "" +"22 Merge Requests were merged and 4 issues fixed in July 2020. Some " +"notable ones:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:127 +msgid "" +"[#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement " +"basic Fortran to C++ translation backend" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:128 +msgid "" +"[!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make " +"simple calculations work via LLVM in interactive mode" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:129 +msgid "" +"[!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build " +"ASR (Abstract Semantic Representation) properly for subroutines and " +"functions" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:131 +msgid "" +"The short term goal is to get the C++ based production version of " +"LFortran matching most of the features from the Python prototype version " +"and make a public release. The long term goal is to build a modern " +"Fortran compiler that works with any production code and allows it to run" +" efficiently on modern hardware (CPUs and GPUs), both interactively and " +"compiling to binaries, and provide the basis for other tools such as the " +"Fortran to C++ translation, editor support, automatic documentation " +"generation (and doctesting like in Python), automatic formatting and " +"others." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:142 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 " +"- 4. with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +" All presentations have been recorded and will be soon made available " +"online by the FortranCon organizers." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:148 +msgid "" +"We had our third Fortran Monthly call on July 16. You can read watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:9 +msgid "" +"Welcome to the September 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:17 +msgid "We continued the work on the Fortran-lang website, specifically:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:19 +msgid "" +"[#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): " +"Listing fpm packages on the Packages page of the website" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:34 +msgid "" +"There hasn't been new stdlib development in August, however ongoing work " +"and discussions continue:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:36 +msgid "" +"[#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal " +"for logging facilities in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:37 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:53 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:38 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:54 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:42 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:58 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:62 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:58 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:94 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:91 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:76 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:97 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:89 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:89 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:111 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:132 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:103 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:153 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:97 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:103 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:130 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:83 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:77 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:91 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:109 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:99 +msgid "" +"The candidate for file system operations to be included in stdlib is " +"being developed by [@MarDiehl](https://github.com/MarDiehl) and " +"[@arjenmarkus](https://github.com/arjenmarkus) in [this " +"repository](https://github.com/MarDiehl/stdlib_os). Please try it out and" +" let us know how it works, if there are any issues, or if the API can be " +"improved." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:49 +msgid "Ongoing work in fpm:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:51 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): " +"Implementing internal dependencies and build backend in the Fortran fpm" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:54 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:91 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:89 +msgid "" +"fpm is still in early development and we need as much help as we can get." +" Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:59 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:96 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:94 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:101 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:179 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:127 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:120 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:161 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:142 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:124 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:158 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:173 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:144 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:209 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:138 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:153 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:166 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:144 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:125 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:137 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:155 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:139 +msgid "" +"Adapt your Fortran package for fpm and submit it to the " +"[Registry](https://github.com/fortran-lang/fpm-registry)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:72 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:104 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:101 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:108 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:186 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:134 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:127 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:168 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:149 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:131 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:165 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:180 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:178 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:217 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:146 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:161 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:173 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:151 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:132 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:144 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:162 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:146 +msgid "Compilers" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:74 +msgid "GFortran" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:76 +msgid "" +"GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed " +"include PR94361, a memory leak with finalizers." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:79 +msgid "" +"The development version of `gfortran` now supports the full OpenMP 4.5 " +"specification. This will be released with GCC 11, but of course people " +"can already download and test it." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:86 +msgid "" +"We're evaluating pull requests and merging them into the original Flang " +"compiler again. We pulled in 4 changes in the past couple of weeks, and " +"expect to merge in a few more each week. One upcoming change is the " +"support for LLVM 10, which requires the use of a new fork, the _classic-" +"flang-llvm-project_ fork of the LLVM monorepo. See " +"[PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:94 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other F77 test suites (and the F77 parts" +" of non-F77 suites)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:107 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs. We continue to work on refactoring necessary to upstream this " +"fork into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:112 +msgid "" +"Arm is working on changes to support a driver program to replace the " +"temporary driver we currently use." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:115 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:142 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:122 +msgid "143 Merge Requests were merged and 22 issues fixed in August 2020" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:123 +msgid "" +"The C++ backend can now translate to C++ and compile many simple Fortran " +"programs" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:124 +msgid "" +"The parser can now parse a large subset of Fortran (if you find something" +" that cannot be parsed, please " +"[report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all " +"the information is yet represented in the AST (so later stages of the " +"compiler also work on a smaller subset), but one should not get parse " +"errors anymore for most valid codes." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:128 +msgid "" +"Initial `lfortran fmt` subcommand for formatting Fortran files, you can " +"provide feedback [here](https://fortran-lang.discourse.group/t/feedback-" +"for-lfortran-fmt-to-format-fortran-source-code/281)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:131 +msgid "A new command `lfortran kernel` can run LFortran as a Jupyter kernel." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:132 +msgid "" +"LFortran itself gives a nice Python like stacktrace (on Linux and macOS) " +"in Debug mode when an unhandled excetion happens or a segfault." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:135 +msgid "" +"Our goal for September is to get LFortran working for a much larger " +"subset of Fortran and allow it to compile and run via the C++ translation" +" backend (the LLVM backend will follow soon after)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:139 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:174 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:164 +msgid "" +"You can follow LFortran on Twitter for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:143 +msgid "" +"We had our fourth Fortran Monthly call on August 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:153 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:188 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:181 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:175 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:232 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:191 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:190 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:292 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:229 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:188 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:204 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:226 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:298 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:312 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:254 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:249 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:305 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:268 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:284 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:259 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:381 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:487 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of these repositories:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:158 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:193 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)," +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:160 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:195 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)," +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:9 +msgid "" +"Welcome to the October 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:17 +msgid "This month we've had only one minor change to the website:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:19 +msgid "" +"[#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): Small " +"fix in the opening sentence on the compilers page" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:34 +msgid "" +"This month we've had an improvement to the `stdlib_ascii` module, as well" +" as addition of logging facilities." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:37 +msgid "" +"[#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to " +"the `stdlib_stats` module by adding explicit conversions." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:38 +msgid "" +"[#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation " +"of the `stdlib_logger` module. It provides a global logger instance for " +"easy use in user applications, as well as a `logger_type` derived type if" +" multiple concurrent loggers are needed. See the [logger " +"specification](https://stdlib.fortran-" +"lang.org/page/specs/stdlib_logger.html) to learn more." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:44 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:85 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:80 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:46 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:84 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:163 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:55 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:109 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:57 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:96 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:144 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:55 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:119 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:55 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:103 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:143 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:83 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:154 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:38 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:123 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:24 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:56 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:113 +msgid "Work in progress:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:46 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:51 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of the `stdlib_bitsets` module. It provides a bitset data type." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:47 +msgid "" +"[#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to " +"the `stdlib_ascii` module" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:51 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:53 +msgid "Otherwise, ongoing discussions continue:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:65 +msgid "" +"This month has seen over a dozen additions and improvements to the " +"Fortran implementation of fpm:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:67 +msgid "" +"[#186](https://github.com/fortran-lang/fpm/issues/186): Implement version" +" string validation and comparison" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:68 +msgid "[#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:69 +msgid "" +"[#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to " +"further development of subcommands" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:70 +msgid "" +"[#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source " +"discovery" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:71 +msgid "" +"[#178](https://github.com/fortran-lang/fpm/issues/178): Add more example " +"packages" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:72 +msgid "" +"[#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective " +"testing of single suites and tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:73 +msgid "" +"[#175](https://github.com/fortran-lang/fpm/issues/175): Updated " +"formatting of Markdown documents" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:74 +msgid "" +"[#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell " +"Stack build in CI" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:75 +msgid "" +"[#171](https://github.com/fortran-lang/fpm/issues/171): Increase test " +"coverage of fpm manifest" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:76 +msgid "" +"[#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing " +"tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:77 +msgid "" +"[#163](https://github.com/fortran-lang/fpm/issues/163): Use different " +"strategy to fetch git dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:78 +msgid "" +"[#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type " +"identification" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:79 +msgid "" +"[#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing " +"guidelines (you can read them [here](https://github.com/fortran-" +"lang/fpm/CONTRIBUTING.md))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:81 +msgid "" +"[#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading" +" of fpm.toml" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:82 +msgid "" +"[#155](https://github.com/fortran-lang/fpm/issues/155): Internal " +"dependencies and build backend" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:87 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path " +"dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:88 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto " +"discovery of executables" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:89 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement " +"`fpm new`" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:108 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in the past month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:111 +msgid "" +"One important merge was support for LLVM 10, which required the use of a " +"new fork, the _classic-flang-llvm-project_ fork of the LLVM monorepo. See" +" [PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:117 +msgid "Other recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:118 +msgid "" +"[PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-" +"compiler/flang/pull/658)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:119 +msgid "" +"[PR#737: TRAILZ function added to the fortran " +"compiler](https://github.com/flang-compiler/flang/pull/737)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:120 +msgid "" +"[PR#756: Fix ICE interf:new_symbol_and_link symbol not " +"found](https://github.com/flang-compiler/flang/pull/756)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:121 +msgid "" +"[PR#888: flang gen-exec does not show routine variables with parameter " +"attribute; there are multiple pull requests that this includes (details " +"below)](https://github.com/flang-compiler/flang/pull/888)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:122 +msgid "" +"[PR#916: Fix off-by-one error in minimum integers](https://github.com" +"/flang-compiler/flang/pull/916)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:123 +msgid "" +"[PR#921: Correction of representation of string (character type) " +"constants](https://github.com/flang-compiler/flang/pull/921)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:125 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, October 7 and 21, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:133 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:136 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS). We " +"continue to work on refactoring necessary to upstream the _fir-dev_ fork " +"into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:142 +msgid "Arm has contributed changes toward a full-fledged driver for flang." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:144 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:140 +msgid "AMD continues to add support for OpenMP semantics and lowering." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:146 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support. This will be the topic of the next Flang Technical " +"Community call on Monday, October 5, 8:30 AM Pacific Time." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:150 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:156 +msgid "59 Merge Requests were merged and 3 issues fixed in September 2020" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:157 +msgid "" +"The FortranCon 2020 LFortran video now " +"[available](https://www.youtube.com/watch?v=tW9tUxVMnzc)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:158 +msgid "" +"LFortran, now imlemented in C++, has surpassed the Python prototype from " +"a year ago" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:160 +msgid "The Jupyter notebook now works as it used to with the Python prototype" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:161 +msgid "" +"A new notebook added showcasing how to visualize AST, ASR and C++ " +"translation in Jupyter " +"([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:163 +msgid "" +"X86 backend to generate direct x86-32 machine code (very fast compilation" +" in Debug mode)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:165 +msgid "Further parser improvements" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:166 +msgid "Initial Fortran modules support" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:167 +msgid "" +"Initial support for using GFortran modules " +"([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:169 +msgid "" +"Better compiler error messages " +"([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:171 +msgid "" +"The interactive prompt (REPL) now understands arrow keys " +"([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:178 +msgid "" +"We had our fourth Fortran Monthly call on September 25. You can watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:9 +msgid "" +"Welcome to the November 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:17 +msgid "This month we've had a few additions and improvements to the website:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:19 +msgid "" +"[#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): New " +"mini-book on setting up the Fortran development environment. You can read" +" it [here](https://fortran-lang.org/learn/os_setup)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:22 +msgid "" +"[#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): " +"Automated posting to @fortranlang Twitter using twitter-together." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:24 +msgid "" +"[#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): Fix " +"for a security vulnerability reported by the GitHub Security Team." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:26 +msgid "" +"The following packages were added to the [Package Index](https://fortran-" +"lang.org/packages): atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, " +"fypp, HANDE, libmbd, libnegf, mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT," +" QMD-PROGRESS, scalapackfx, tapenade, wannier90, and xtb." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:31 +msgid "" +"[#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), " +"[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), " +"[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), " +"[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): Minor " +"fixes and improvements." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:39 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:28 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): " +"In-depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:41 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): " +"Updating the mini-book on building programs." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:49 +msgid "This month progress was made on a few pull requests:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:52 +msgid "" +"[#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation " +"of the `stdlib_stats_distribution` module. It provides probability " +"distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:53 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to" +" support newline characters in the message provided to the logger." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:55 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:51 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:74 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:71 +msgid "Don't hesitate to test and review these pull requests!" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:57 +msgid "Otherwise, ongoing discussions continue;" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:58 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/pull/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:59 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/pull/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:69 +msgid "What's new:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:71 +msgid "" +"[#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm " +"submodule support" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:72 +msgid "" +"[#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to " +"`list_files` and `mkdir` in `fpm_filesystem`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:73 +msgid "" +"[#206](https://github.com/fortran-lang/fpm/issues/206): Add installation " +"script in `install.sh`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:74 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote " +"package dependencies (Fortran fpm can now build itself)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:75 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of" +" executables" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:76 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189), " +"[#204](https://github.com/fortran-lang/fpm/issues/204), " +"[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm " +"new` in Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:82 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:86 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:165 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:111 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:98 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:146 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:121 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:105 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:145 +msgid "" +"[First beta release](https://github.com/fortran-lang/fpm/milestone/1) " +"(WIP): First feature-complete release of the Fortran implementation." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:83 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and " +"executable runner options" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:84 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler " +"and flags" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:85 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove " +"bashism from install.sh" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:86 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add " +"automatic documentation for Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:87 +msgid "" +"[#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create " +"package manifest with toml-f build interface" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:97 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:104 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:182 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:130 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:123 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:164 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:145 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:127 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:161 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:176 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:147 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:212 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:141 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:156 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:169 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:147 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:128 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:140 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:158 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:142 +msgid "" +"The short-term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:105 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in October." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:108 +msgid "Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:109 +msgid "" +"[PR#660: Enable support for simd directives](https://github.com/flang-" +"compiler/flang/pull/660)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:110 +msgid "" +"[PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug " +"metadata](https://github.com/flang-compiler/flang/pull/878)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:111 +msgid "" +"[PR#910: Fix f90_correct tests](https://github.com/flang-" +"compiler/flang/pull/910)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:112 +msgid "" +"[PR#922: Fix private flag overwrite in " +"find_def_in_most_recent_scope()](https://github.com/flang-" +"compiler/flang/pull/922)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:113 +msgid "" +"[PR#927: f90_correct: exclude tests failing with LLVM 10 on " +"OpenPOWER](https://github.com/flang-compiler/flang/pull/927)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:114 +msgid "" +"[PR#930: Fix HTML docs generation](https://github.com/flang-" +"compiler/flang/pull/930)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:115 +msgid "" +"[PR#931: [flang2] Fix segmentation faults (#421)](https://github.com" +"/flang-compiler/flang/pull/931)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:116 +msgid "" +"[PR#932: [flang1] Do not assume unempty derived types](https://github.com" +"/flang-compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:117 +msgid "" +"[PR#938: [flang2] Fixing possible crash due to ivl being NULL in " +"dinit.cpp](https://github.com/flang-compiler/flang/pull/938)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:119 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, November 4 and 18, 8:00 AM Pacific time (note " +"the time change). The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:127 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:129 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:138 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:133 +msgid "" +"Pat McCormick is working on an RFC for the merge of the lowering code in " +"the fir-dev fork into LLVM master. The goal is to expedite this in a way " +"that is acceptable to the Flang community, so we can do further work in " +"the single master branch." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:138 +msgid "" +"Arm continues to contribute changes toward a full-fledged driver for " +"flang." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:145 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC to the point that he can build and test Flang on Windows." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:152 +msgid "9 Merge Requests were merged and 5 issues fixed in October 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:153 +msgid "" +"We gave LFortran " +"[talk](https://cfp.jupytercon.com/2020/schedule/presentation/169" +"/lfortran-interactive-llvm-based-fortran-compiler-for-modern-" +"architectures/) at JupyterCon 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:156 +msgid "" +"A prototype compiler implementation of conditional expressions for the " +"October 2020 Fortran Standards Committee meeting " +"([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:159 +msgid "Better code formatting support (`lfortran fmt`)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:160 +msgid "Improvements to AST" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:161 +msgid "" +"Capture stdout on Windows in a Jupyter notebook " +"([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:168 +msgid "" +"The US Fortran Standards Committee held a virtual meeting from October " +"12-14. You can read the summary and the discussion " +"[here](https://github.com/j3-fortran/fortran_proposals/issues/185) and " +"all the documents [here](https://j3-fortran.org/doc/meeting/222)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:171 +msgid "" +"We had our 5th Fortran Monthly call on October 27. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:184 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:178 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:235 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:194 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:193 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:295 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:232 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:191 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:207 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:229 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:301 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:315 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:257 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:252 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:308 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:271 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:287 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:262 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:490 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:185 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:179 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:236 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:196 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:195 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:297 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:234 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:193 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:209 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:231 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:303 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:317 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:259 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:254 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:310 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:273 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:289 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:264 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:386 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:492 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:186 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:180 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:237 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:197 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:196 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:298 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:235 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:194 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:210 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:232 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:304 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:318 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:260 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:255 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:311 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:274 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:290 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:265 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:387 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:493 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:187 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:181 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:239 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:199 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:198 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:301 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:238 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:197 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:213 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:235 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:307 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:321 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:263 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:258 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:315 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:278 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:294 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:269 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:391 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:497 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:188 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:182 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:240 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:200 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:199 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:302 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:239 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:198 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:214 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:236 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:308 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:322 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:264 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:259 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:316 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:279 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:295 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:270 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:498 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:189 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:183 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:241 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:9 +msgid "" +"Welcome to the December 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:17 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:18 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:17 +msgid "This month we've had a few updates to the website:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:19 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): " +"Updates to the mini-book on building Fortran programs, including the " +"addition of short guides on Meson and CMake. You can read the mini-book " +"[here](https://fortran-lang.org/learn/building_programs)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:23 +msgid "" +"[#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): Add " +"PSBLAS to the package index." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:36 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:49 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:36 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:46 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:47 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:38 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:42 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:46 +msgid "Here's what's new in `stdlib`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:38 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of bitsets in `stdlib_bitsets`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:39 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243), " +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#252](https://github.com/fortran-lang/stdlib/pull/253), " +"[#255](https://github.com/fortran-lang/stdlib/pull/255): Various " +"improvements to `stdlib_logger`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:43 +msgid "" +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to " +"the CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:48 +msgid "" +"(WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): " +"Implementation of the `stdlib_stats_distribution` module. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:49 +msgid "" +"(WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:54 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/issues/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:55 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/issues/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:56 +msgid "" +"[#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to" +" add a logger for debug phases and levels among the different logs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:65 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:101 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:98 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:83 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:104 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:96 +msgid "Here's what's new in `fpm`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:67 +msgid "" +"[#259](https://github.com/fortran-lang/fpm/pull/259): Update the " +"instructions for building from source in README.md." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:68 +msgid "" +"[#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary " +"releases in CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:69 +msgid "" +"[#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with " +"external libraries." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:70 +msgid "" +"[#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference " +"document for the package manifest (fpm.toml)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:71 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/pull/221), " +"[#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for " +"test and app executables." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:73 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler " +"and flags settings in Haskell fpm." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:74 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/pull/209): " +"[#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:76 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/pull/216), " +"[#225](https://github.com/fortran-lang/fpm/pull/225), " +"[#226](https://github.com/fortran-lang/fpm/pull/226), " +"[#229](https://github.com/fortran-lang/fpm/pull/229), " +"[#236](https://github.com/fortran-lang/fpm/pull/236), " +"[#240](https://github.com/fortran-lang/fpm/pull/240), " +"[#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and " +"improvements." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:87 +msgid "" +"(WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261): Specification of " +"the fpm CLI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:89 +msgid "" +"(WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the " +"`extra` section in fpm.toml." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:90 +msgid "" +"(WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor " +"backend for incremental rebuilds." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:91 +msgid "" +"(WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:92 +msgid "" +"(WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the " +"compiler and specifying test or app target." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:93 +msgid "" +"(WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement " +"`fpm install`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:94 +msgid "" +"(WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to " +"test release build." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:96 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:173 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:121 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:114 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:155 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:136 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:118 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:152 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:167 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:138 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:200 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:129 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:144 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:157 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:135 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:116 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:128 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:146 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:130 +msgid "" +"`fpm` is still in early development and we need as much help as we can " +"get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:99 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:176 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:124 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:117 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:158 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:139 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:121 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:155 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:170 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:141 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:203 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:112 +msgid "" +"We continue to evaluate and merge pull requests into Classic Flang. " +"Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:113 +msgid "" +"[PR#883: Flang generated executable does not show result variable of " +"function](https://github.com/flang-compiler/flang/pull/883)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:114 +msgid "" +"[PR#933: Updating X-flag entries for internal command line option \"-x " +"49\"](https://github.com/flang-compiler/flang/pull/933)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:115 +msgid "" +"[PR#939: Publish Arm's internal documentation](https://github.com/flang-" +"compiler/flang/pull/939)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:116 +msgid "" +"[PR#941: [DebugInfo] Internal subprogram variable is not accessible for " +"printing in gdb](https://github.com/flang-compiler/flang/pull/941)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:117 +msgid "" +"[PR#942: Implement UNROLL(n) directive](https://github.com/flang-" +"compiler/flang/pull/942)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:118 +msgid "" +"[PR#943: Enable github Actions for push to master and pull requests to " +"master](https://github.com/flang-compiler/flang/pull/943)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:119 +msgid "" +"[PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-" +"compiler/flang/pull/945)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:120 +msgid "" +"[PR#946: Call check_member() for PD_is_contiguous](https://github.com" +"/flang-compiler/flang/pull/946)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:121 +msgid "" +"[PR#951: Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:123 +msgid "Pull requests merged into the supporting projects:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:124 +msgid "" +"[classic flang LLVM monorepo PR#5: [Driver] Reduce downstream " +"delta](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/5)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:125 +msgid "" +"[classic flang LLVM monorepo PR#6: Removing a few CI " +"pipelines](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/6)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:126 +msgid "" +"[classic flang LLVM monorepo PR#7: Github Actions added to pre-compile " +"artifacts for flang](https://github.com/flang-compiler/classic-flang-" +"llvm-project/pull/7)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:127 +msgid "" +"[llvm mirror PR#87: Enable github actions for llvm](https://github.com" +"/flang-compiler/llvm/pull/87)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:128 +msgid "" +"[flang-driver PR#94: Enable github actions](https://github.com/flang-" +"compiler/flang-driver/pull/94)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:130 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes " +"from previous calls, upcoming agenda and a link to join the call can be " +"found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:136 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime. Significant contributions are being made for OpenMP and OpenACC " +"support." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:140 +msgid "" +"Pat McCormick is (still) working on an RFC for the merge of the lowering " +"code in the fir-dev fork into LLVM master. (This was interrupted by " +"Supercomputing 2020 and other ECP duties.) The goal is to expedite this " +"in a way that is acceptable to the Flang community, so we can do further " +"work in the single master branch." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:143 +msgid "Recent updates include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:144 +msgid "" +"Johannes Doerfert has created a web page at https://flang.llvm.org; you " +"can find call and Slack logistics there" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:145 +msgid "" +"Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-" +"tests project: http://lists.llvm.org/pipermail/llvm-" +"dev/2020-November/146873.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:146 +msgid "" +"Andzrej Warzynski has a flang-dev RFC regarding flang option names: " +"http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:147 +msgid "" +"Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help " +"flang driver become independent of clang: http://lists.llvm.org/pipermail" +"/cfe-dev/2020-November/067263.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:148 +msgid "" +"Changed representation of CHARACTER data in type system to make more " +"consistent with other types (for arrays)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:149 +msgid "" +"Changed COMPLEX expression representation to provide better handling in " +"lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:150 +msgid "More improvements for supporting Fortran 77 programs" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:151 +msgid "Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:152 +msgid "" +"Continued implementation of table-driven runtime for derived types; " +"posted documentation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:153 +msgid "Continued implementation of array expression lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:154 +msgid "Improved error checks on forward references" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:155 +msgid "" +"More updates to flang driver (option handling; -E can now be used to " +"invoke just the Flang preprocessor)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:156 +msgid "OpenACC semantic checks for modifiers on enter/exit data, set directives" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:157 +msgid "" +"OpenACC lowering (enter/exit data, update, init, shutdown, wait " +"directives)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:158 +msgid "" +"OpenMP structure checker updates; semantic checks for copyin clause; " +"schedule class" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:163 +msgid "" +"Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be " +"the new Chair of PL22.3 (J3, US Standards Committee). Brian will serve in" +" his first term until November 2023. Congratulations, Brian!" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:165 +msgid "" +"We had our 6th Fortran Monthly call on November 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:9 +msgid "" +"Happy New Year! Welcome to the January 2021 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:20 +msgid "" +"[#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), " +"[#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): Fix " +"build preview" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:23 +msgid "" +"[#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): Fix " +"word spelling error in quickstart page" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:25 +msgid "" +"[#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), " +"[#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), " +"[#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): Add " +"missing packages from the list of popular Fortran projects to the package" +" index" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:29 +msgid "" +"[#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): Update" +" compilers page following Intel oneAPI release" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:31 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), " +"[#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): In-" +"depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:37 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:26 +msgid "" +"[#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): " +"Correct compiler page and tutorial regarding Intel oneAPI and PGI to " +"NVIDIA" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:39 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:28 +msgid "" +"[#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) " +"(WIP): We are searching for a representative Fortran code snippet for the" +" website and are looking forward to suggestions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:41 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): " +"Add links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:51 +msgid "" +"[#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method " +"`log_debug` to `stdlib_logger`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:52 +msgid "" +"[#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake " +"check for F18 error stop" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:53 +msgid "" +"[#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI" +" Fortran compiler to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:54 +msgid "" +"[#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level " +"option to ignore logging messages" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:55 +msgid "" +"[#263](https://github.com/fortran-lang/stdlib/pull/263), " +"[#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to " +"CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:57 +msgid "" +"[#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 " +"to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:58 +msgid "" +"[#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 " +"systems to Windows CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:59 +msgid "" +"[#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about" +" memory issues when compiling stdlib with the support of arrays to up 15 " +"ranks" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:60 +msgid "" +"[#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the " +"compilation load by splitting submodules" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:65 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:59 +msgid "" +"[#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:66 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:61 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), " +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:71 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required " +"changes to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:72 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:68 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:61 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:57 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:83 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:76 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:73 +msgid "" +"Otherwise, ongoing discussions continue about usability of `stdlib` " +"([#7](https://github.com/fortran-lang/stdlib/issues/7), " +"[#215](https://github.com/fortran-lang/stdlib/issues/215), " +"[#279](https://github.com/fortran-lang/stdlib/issues/279), " +"[#280](https://github.com/fortran-lang/stdlib/issues/280), " +"[#285](https://github.com/fortran-lang/stdlib/issues/285)), and new " +"implementations for `stdlib` ([#135](https://github.com/fortran-" +"lang/stdlib/issues/135), [#212](https://github.com/fortran-" +"lang/stdlib/issues/212), [#234](https://github.com/fortran-" +"lang/stdlib/issues/234), [#241](https://github.com/fortran-" +"lang/stdlib/issues/241), [#258](https://github.com/fortran-" +"lang/stdlib/issues/258), [#259](https://github.com/fortran-" +"lang/stdlib/issues/259), [#262](https://github.com/fortran-" +"lang/stdlib/issues/262), [#268](https://github.com/fortran-" +"lang/stdlib/issues/268), [#277](https://github.com/fortran-" +"lang/stdlib/issues/277))." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:103 +msgid "" +"[Alpha release version 0.1.3](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.1.3)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:104 +msgid "" +"[setup-fpm action](https://github.com/marketplace/actions/setup-fpm): " +"GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and " +"Windows runners" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:106 +msgid "" +"[Discussion board](https://github.com/fortran-lang/fpm/discussions): For " +"questions & answers, sharing of ideas, showing off projects and, of " +"course, discussions around fpm" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:108 +msgid "" +"[#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend " +"for incremental rebuilds" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:110 +msgid "" +"[#266](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management and `fpm update` subcommand" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:112 +msgid "" +"[#255](https://github.com/fortran-lang/fpm/pull/255) Setting the compiler" +" and specifying test or app target" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:114 +msgid "" +"[#262](https://github.com/fortran-lang/fpm/pull/262): Add " +"-fcoarray=single to default gfortran flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:116 +msgid "" +"[#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm " +"install`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:118 +msgid "" +"[#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test " +"release build" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:120 +msgid "" +"[#267](https://github.com/fortran-lang/fpm/pull/267): Fix enumeration of " +"non-library link objects" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:122 +msgid "" +"[#268](https://github.com/fortran-lang/fpm/pull/268): Fix dependency " +"tracking issue in bootstrap version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:124 +msgid "" +"[#271](https://github.com/fortran-lang/fpm/pull/271): Fix Windows run and" +" test commands" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:126 +msgid "" +"[#273](https://github.com/fortran-lang/fpm/pull/273): Update developer " +"documentation (manifest + command line)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:128 +msgid "" +"[#274](https://github.com/fortran-lang/fpm/pull/274): Update README with " +"link to setup-fpm github action." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:130 +msgid "" +"[#280](https://github.com/fortran-lang/fpm/pull/280): Create " +"specification for example section" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:132 +msgid "" +"[#281](https://github.com/fortran-lang/fpm/pull/281): Cleanup: Remove " +"archived Rust prototype" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:134 +msgid "" +"[#284](https://github.com/fortran-lang/fpm/pull/284): Document model and " +"backend for developers" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:136 +msgid "" +"[#285](https://github.com/fortran-lang/fpm/pull/285): CI: update naming " +"of release binaries" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:138 +msgid "" +"[#286](https://github.com/fortran-lang/fpm/pull/286): Implement check for" +" duplicated program names" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:140 +msgid "" +"[#289](https://github.com/fortran-lang/fpm/pull/289): Add support for " +"same compilers as Fortran version to Haskell version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:142 +msgid "" +"[#291](https://github.com/fortran-lang/fpm/pull/291): Initial " +"implementation of `fpm build --show-model`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:144 +msgid "" +"[#292](https://github.com/fortran-lang/fpm/pull/292): Specify the correct" +" help for `fpm run -h`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:146 +msgid "" +"[#293](https://github.com/fortran-lang/fpm/pull/293): Fix: missing error " +"check after `new_package` call" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:148 +msgid "" +"[#294](https://github.com/fortran-lang/fpm/pull/294): Add: support for " +"detecting .f and .F files" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:150 +msgid "" +"[#300](https://github.com/fortran-lang/fpm/pull/300): Remove " +"-coarray=single option from ifort compiler default options" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:152 +msgid "" +"[#303](https://github.com/fortran-lang/fpm/pull/303): Fixes to source " +"parsing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:154 +msgid "" +"[#304](https://github.com/fortran-lang/fpm/pull/304): Remove note on not " +"supported dependencies in program targets" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:156 +msgid "" +"[#307](https://github.com/fortran-lang/fpm/pull/307): Fix: program object" +" file collision" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:158 +msgid "" +"[#315](https://github.com/fortran-lang/fpm/pull/315): Remove: -ffast-math" +" in gfortran default release flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:160 +msgid "" +"[#322](https://github.com/fortran-lang/fpm/pull/322): Group sources by " +"package in the model" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:167 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:113 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Specification" +" of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:170 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:116 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): Update " +"subcommand \"new\" to reflect the addition of support for examples" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:177 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:125 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:118 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:159 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:140 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:122 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:156 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:171 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:142 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:207 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:136 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:151 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:164 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:142 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:123 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:135 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:153 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:137 +msgid "" +"Browse existing *fpm* packages on the [fortran-lang website](https" +"://fortran-lang.org/packages/fpm)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:190 +msgid "There are several pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:192 +msgid "Only one pull request was merged in December:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:194 +msgid "" +"[PR#951 Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:198 +msgid "" +"Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly " +"calls. An invitation was sent to the _flang-dev_ LLVM email list on " +"December 22nd. Call notes will be sent to the _flang-dev_ email list and " +"also recorded [here]( https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:202 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:158 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:198 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:164 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:182 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:221 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:150 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:165 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:177 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:155 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:136 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:148 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:166 +msgid "Recent development updates:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:204 +msgid "Semantic analysis fix for index-names of `FORALL` statements" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:205 +msgid "Continued work on parser support for `ALLOCATE`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:206 +msgid "Build tidying" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:207 +msgid "OpenMP semantic checks: atomic, flush" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:208 +msgid "Continued work on new driver" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:209 +msgid "Fix for list-directed REAL output editing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:210 +msgid "" +"Bug fixes: USE of USE of generic, crash in folding (#48437), crash in " +"OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:211 +msgid "Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:212 +msgid "" +"OpenACC: update serial construct clauses for 3.1, enforce restriction on " +"routine directive and clauses" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:213 +msgid "OpenMP: adding important clauses to OmpClause, task reduction clause" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:217 +msgid "" +"We had our 7th Fortran Monthly call on December 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:225 +msgid "" +"[Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the " +"Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and " +"the recent fortran-lang developments." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:228 +msgid "" +"[First year of Fortran-lang](https://medium.com/modern-fortran/first-" +"year-of-fortran-lang-d8796bfa0067) by Milan Curcic." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:238 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:198 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:197 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:299 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:236 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:195 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:211 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:233 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:305 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:319 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:261 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:256 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:313 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:276 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:292 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:267 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:389 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:495 +msgid "[fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:9 +msgid "" +"Welcome to the February 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:19 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): Add " +"links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:24 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): " +"Fix author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:38 +msgid "" +"[#303](https://github.com/fortran-lang/stdlib/pull/303), " +"[#301](https://github.com/fortran-lang/stdlib/pull/301), " +"[#294](https://github.com/fortran-lang/stdlib/pull/294): Fixes and " +"improvements for the manual Makefile build" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:42 +msgid "" +"[#293](https://github.com/fortran-lang/stdlib/pull/293): Write a more " +"verbose introduction to building stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:44 +msgid "" +"[#291](https://github.com/fortran-lang/stdlib/pull/291): Export package " +"files (CMake and pkg-config)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:46 +msgid "" +"[#290](https://github.com/fortran-lang/stdlib/pull/290): Rename CMake " +"project from stdlib to fortran\\_stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:48 +msgid "" +"[#288](https://github.com/fortran-lang/stdlib/pull/288): Follow GNU " +"install conventions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:50 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284): Required changes" +" to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:52 +msgid "" +"[CMake example](https://github.com/fortran-lang/stdlib-cmake-example): " +"Integration of the Fortran standard library in CMake projects" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:57 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): Add " +"supported compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:100 +msgid "" +"[#342](https://github.com/fortran-lang/fpm/pull/342): Fix broken link in " +"contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:102 +msgid "" +"[#337](https://github.com/fortran-lang/fpm/pull/337): Allow hyphens in " +"fpm project names in \"fpm new\"" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:104 +msgid "" +"[#335](https://github.com/fortran-lang/fpm/pull/335): Fix: performance " +"regression" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:106 +msgid "" +"[#334](https://github.com/fortran-lang/fpm/pull/334): Remove a name clash" +" in the fpm testsuite" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:118 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): Update: " +"fpm\\_backend with dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:138 +msgid "There are a number of pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:140 +msgid "A total of 12 pull requests were merged in January." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:142 +msgid "" +"[PR#932 Do not assume unempty derived types](https://github.com/flang-" +"compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:143 +msgid "" +"[PR#957 Support Prefetch Directive](https://github.com/flang-" +"compiler/flang/pull/957)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:144 +msgid "" +"[PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-" +"compiler/flang/pull/947)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:145 +msgid "" +"[PR#948 Expand CI to run with GCC-9/10 and " +"LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:146 +msgid "" +"[PR#949 USE rename should check if renamed sptr is available in the " +"scope](https://github.com/flang-compiler/flang/pull/949)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:147 +msgid "" +"[PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on " +"codegen](https://github.com/flang-compiler/flang/pull/971)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:148 +msgid "" +"[PR#940 Flang should generate debug location for limited instructions in " +"prolog](https://github.com/flang-compiler/flang/pull/940)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:149 +msgid "" +"[PR#977 Update apt data before installing sphinx](https://github.com" +"/flang-compiler/flang/pull/977)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:150 +msgid "" +"[PR#751 Fix for len intrinsic returning int*8 in some " +"cases](https://github.com/flang-compiler/flang/pull/751)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:151 +msgid "" +"[PR#956 Minor FileCheck pattern fixes](https://github.com/flang-" +"compiler/flang/pull/956)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:152 +msgid "" +"[PR#978 Fix the readme to point to the correct flang-dev " +"list](https://github.com/flang-compiler/flang/pull/978)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:153 +msgid "" +"[PR#979 Rename direct header to avoid windows " +"conflict](https://github.com/flang-compiler/flang/pull/979)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:160 +msgid "" +"OpenMP semantic checks: private, firstprivate, lastprivate, Workshare " +"Construct, `DO` loop restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:161 +msgid "Detect call to abstract interface" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:162 +msgid "" +"OpenMP - add task_reduction clause, make reduction clause part of " +"OmpClause" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:163 +msgid "" +"New Driver - adding support for various options, testing improvements, " +"standard macro pre-definitions, fixed-form detection, CMake improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:164 +msgid "OpenACC - semantic checks to enforce declare directive restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:165 +msgid "Internal subprogram improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:166 +msgid "" +"OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by " +"LabelEnforce" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:167 +msgid "Disallow `INTENT` attribute on procedure dummy arguments" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:168 +msgid "Module file improvements and bug fixes" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:169 +msgid "Add tests for procedure arguments with implicit interfaces" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:171 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:233 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:202 +msgid "" +"Call notes will be sent to the _flang-dev_ email list and also recorded " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:176 +msgid "" +"We had our 8th Fortran Monthly call on January 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:181 +msgid "" +"This year fortran-lang will be applying as a mentor organisation for " +"[Google Summer of Code](https://summerofcode.withgoogle.com/). We have " +"started working on the application and the project ideas; you can join " +"the ongoing discussion [here](https://fortran-lang.discourse.group/t" +"/google-summer-of-code-2021/658). If you'd like to help us flesh out the " +"ideas, or have a project idea of your own, please join our upcoming video" +" calls on February 9 and 16 (call info will be posted in the Discourse " +"thread), or write directly in the Discourse thread. If you're a student, " +"or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:195 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:194 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:296 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:233 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:192 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:208 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:230 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:302 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:316 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:258 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:253 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:309 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:272 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:288 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:263 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:385 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:491 +msgid "" +"[fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang" +"/stdlib-cmake-example)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:201 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:200 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:304 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:241 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:200 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:216 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:238 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:311 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:325 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:267 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:262 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:320 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:283 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:300 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:275 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:397 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:504 +msgid "[j3-fortran/fortran\\_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:9 +msgid "" +"Welcome to the March 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:17 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:17 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:17 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:17 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:17 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:17 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:17 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:17 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:18 +msgid "This month we've had several updates to the website:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:19 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): Fix " +"author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:21 +msgid "" +"[#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): Rename" +" all instances of fortran-lang.github.io to fortran-lang.org" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:23 +msgid "" +"[#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): Update" +" package index" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:25 +msgid "" +"[#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): Fix " +"broken link for LLVM flang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:27 +msgid "" +"[#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): Add " +"more electronic structure and atomistic simulation packages" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:29 +msgid "" +"[#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): Add " +"books to learning section" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:31 +msgid "" +"[#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): Fix " +"package information" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:36 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:37 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:28 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:34 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:30 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:31 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:26 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:38 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) " +"(WIP): Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:48 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271): Probability " +"Distribution and Statistical Functions--PRNG Module" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:50 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304): Add supported " +"compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:52 +msgid "" +"[#310](https://github.com/fortran-lang/stdlib/pull/310): Extend " +"`stdlib_ascii` module for handling character variables" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:54 +msgid "" +"[#324](https://github.com/fortran-lang/stdlib/pull/324): Install " +"setuptools for MinGW builds" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:61 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:63 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:59 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:77 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:67 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:69 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:65 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:75 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:69 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): Implement " +"non-fancy functional string type" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:71 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:71 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:67 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:73 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): Legendre " +"polynomials and Gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:74 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:95 +msgid "Please help improve stdlib by testing and reviewing these pull requests!" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:85 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316): Update subcommand " +"\"new\" to reflect the addition of support for the example/ directory" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:87 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345): Fpm backend with " +"dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:89 +msgid "" +"[#346](https://github.com/fortran-lang/fpm/pull/346): Include root dir in" +" path to default example setup" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:91 +msgid "" +"[#349](https://github.com/fortran-lang/fpm/pull/349): Suggest to move the" +" fpm version in the boostrapping process" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:93 +msgid "" +"[#372](https://github.com/fortran-lang/fpm/pull/372): Unify release mode " +"calling convention" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:100 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Document the " +"specification of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:103 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): Hacky fix for" +" the help test" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:105 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): Install " +"script for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:107 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:148 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:123 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:115 +msgid "" +"[#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): Plugin alpha " +"version" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:109 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): Separate " +"build targets from model structure" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:111 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:131 +msgid "" +"The LFortran team is excited to announce that LFortran is now a [NumFOCUS" +" sponsored project](https://numfocus.org/project/lfortran). Please " +"consider donating to LFortran to accelerate its development." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:133 +msgid "" +"4 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Rohit Goswami](https://rgoswami.me/), " +"[Ondřej Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:138 +msgid "Recent Merge Requests highlights:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:139 +msgid "" +"Complex type support (thanks to [Gagandeep " +"Singh](https://github.com/czgdp1807)): " +"[!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), " +"[!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), " +"[!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), " +"[!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), " +"[!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), " +"[!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). " +"[!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:147 +msgid "" +"Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): " +"[!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), " +"[!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), " +"[!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), " +"[!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:152 +msgid "" +"Initial support for runtime math functions: " +"[!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), " +"[!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673)," +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:155 +msgid "" +"[!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): " +"Implement --show-stacktrace" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:156 +msgid "" +"[!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): " +"Refactor ImplicitCast nodes handling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:158 +msgid "" +"[!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed " +"floating point printing" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:165 +msgid "" +"We had our 9th Fortran Monthly call on February 25. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:170 +msgid "" +"This year Fortran-lang applied as a mentor organization for [Google " +"Summer of Code](https://summerofcode.withgoogle.com/). Accepted mentor " +"organizations will be announced on March 9. If you're a student, or know " +"students who are [eligible to participate](https://developers.google.com" +"/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:174 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee is held virtually" +" from February 22 to March 2 (Monday and Tuesday only). Main topics of " +"dicussion are the planned changes for the Fortran 202X revision of the " +"Standard:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:179 +msgid "[List](https://j3-fortran.org/doc/meeting/223) of all submitted papers" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:180 +msgid "" +"[Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"which papers were discussed each day and voting results" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:182 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:279 +msgid "" +"If you have ideas for new improvements to the language, please propose " +"them [here](https://github.com/j3-fortran/fortran_proposals)." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:9 +msgid "" +"We are excited to announce that Fortran-lang has been accepted as a " +"[Google Summer of Code (GSoC) 2021 mentoring " +"organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)!" +" 🎉" +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:11 +msgid "" +"You can review our project ideas [here](https://github.com/fortran-lang" +"/fortran-lang.org/wiki/GSoC-2021-Project-ideas), and if you have any " +"ideas that are not mentioned, please let us know." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:15 +msgid "" +"We are looking for students to get in touch with us and to apply. Click " +"[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021" +"-Student-instructions) for instructions on how to do so." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:19 +msgid "" +"Our main communication channel will be the [Fortran Discourse](https" +"://fortran-lang.discourse.group/). There, we will announce a date for " +"GSoC video calls where all prospective students are welcome to join to " +"ask questions, discuss, and brainstorm ideas." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:23 +msgid "We look forward to a productive and fun Google Summer of Code!" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:9 +msgid "" +"Welcome to the April 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:19 +msgid "" +"[#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): " +"Correct value of pi in quickstart mini-book" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:21 +msgid "" +"[#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): Added " +"DelaunaySparse to package list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:23 +msgid "" +"[#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) " +"[#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): GSoC " +"announcement" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:26 +msgid "" +"[#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): Avoid " +"unclear formulation in contributing guide" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:28 +msgid "" +"[#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): Add " +"information about free compiler versions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:30 +msgid "" +"[#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): " +"Improve tags" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:32 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): " +"Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:39 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:49 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320): Implement non-" +"fancy functional string type" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:51 +msgid "" +"[#362](https://github.com/fortran-lang/stdlib/pull/362): Fix wording in " +"style guide for dimension attribute" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:53 +msgid "" +"[#352](https://github.com/fortran-lang/stdlib/pull/352): Added TOC to " +"README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:55 +msgid "" +"[#346](https://github.com/fortran-lang/stdlib/pull/346) " +"[#356](https://github.com/fortran-lang/stdlib/pull/356): Added " +"to\\_lower, to\\_upper, reverse and to\\_title function to " +"stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:73 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:69 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:71 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:89 +msgid "" +"[#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): Provide " +"abstract base class for a string object" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:75 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): Add " +"functions to convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:77 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): Implement " +"strip and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:79 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:71 +msgid "" +"[#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): Simplify " +"test makefile" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:81 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:73 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:87 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:113 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:85 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:134 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:81 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:88 +msgid "" +"[#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): Initial " +"checkin for a module for tolerant comparison of reals" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:83 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:75 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): Implement " +"clip function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:85 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:77 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): Add " +"general contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:87 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): Summarize " +"build toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:89 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:79 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:67 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Add sort " +"to stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:91 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:106 +msgid "" +"[Alpha release version 0.2.0](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.2.0)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:107 +msgid "" +"[Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-" +"feedstock)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:108 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352): Hacky fix for the " +"help test" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:110 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357): Install script for " +"Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:112 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369): Separate build " +"targets from model structure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:114 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:116 +msgid "" +"[#377](https://github.com/fortran-lang/fpm/pull/377): Add explicit " +"include-dir key to manifest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:118 +msgid "" +"[#378](https://github.com/fortran-lang/fpm/pull/378): Add ford-compatible" +" documentation to fpm\\_strings.f90" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:120 +msgid "" +"[#386](https://github.com/fortran-lang/fpm/pull/386): Replace deprecated " +"flags in debug\\_fortran option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:122 +msgid "" +"[#390](https://github.com/fortran-lang/fpm/pull/390) " +"[#407](https://github.com/fortran-lang/fpm/pull/407): Implement --flag " +"option for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:125 +msgid "" +"[#397](https://github.com/fortran-lang/fpm/pull/397): Add Conda install " +"instructions to the README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:127 +msgid "" +"[#398](https://github.com/fortran-lang/fpm/pull/398): Minor fix: for " +"setting executable link libraries" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:129 +msgid "" +"[#402](https://github.com/fortran-lang/fpm/pull/402): Add fpm description" +" and reorganize the README intro" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:131 +msgid "" +"[#404](https://github.com/fortran-lang/fpm/pull/404): Correct join for " +"null input" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:133 +msgid "" +"[#409](https://github.com/fortran-lang/fpm/pull/409): Give Programs " +"Access to Code in Subdirectories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:135 +msgid "" +"[#414](https://github.com/fortran-lang/fpm/pull/414): Add few important " +"links to README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:137 +msgid "" +"[#412](https://github.com/fortran-lang/fpm/pull/412): Duplicate module " +"definitions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:139 +msgid "" +"[#413](https://github.com/fortran-lang/fpm/pull/413): Add: omp\\_lib to " +"intrinsic modules list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:141 +msgid "" +"[#419](https://github.com/fortran-lang/fpm/pull/419): Split workflow for " +"Haskell and Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:150 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): Phase out " +"Haskell fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:152 +msgid "" +"[fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): " +"Separate repository for the Haskell fpm version" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:172 +msgid "A total of 10 pull requests were merged in February." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:174 +msgid "" +"[PR#996 tests: one test case supporting PR #966](https://github.com" +"/flang-compiler/flang/pull/996)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:175 +msgid "" +"[PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue" +" #673)](https://github.com/flang-compiler/flang/pull/968)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:176 +msgid "" +"[PR#955 Do not issue an error when character kind 2 is " +"used](https://github.com/flang-compiler/flang/pull/955)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:177 +msgid "" +"[PR#975 Add the option to build release_11x branch of llvm with Github " +"Actions](https://github.com/flang-compiler/flang/pull/975)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:178 +msgid "" +"[PR#974 Fix hash collision handling routine that didn't work due to a " +"fatal mistake (issue #960).](https://github.com/flang-" +"compiler/flang/pull/974)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:179 +msgid "" +"[PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-" +"compiler/flang/pull/1000)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:180 +msgid "" +"[PR#952 Array debugging support with upgraded " +"DISubrange](https://github.com/flang-compiler/flang/pull/952)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:181 +msgid "" +"[PR#1002 Fix for regression introduced by PR #922 (issue " +"#995)](https://github.com/flang-compiler/flang/pull/1002)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:182 +msgid "[PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:183 +msgid "" +"[PR#966 Fixes to address cp2k compilation and runtime " +"issues](https://github.com/flang-compiler/flang/pull/966)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:185 +msgid "A total of 8 pull requests were merged in March." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:187 +msgid "" +"[PR#963 Fix errors on array initialisation with an implied do " +"loop](https://github.com/flang-compiler/flang/pull/963)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:188 +msgid "" +"[PR#1007 fix for issue #1006: stop passing unused uninitialized " +"value](https://github.com/flang-compiler/flang/pull/1007)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:189 +msgid "" +"[PR#1004 Nested implied do loop fix for real numbers](https://github.com" +"/flang-compiler/flang/pull/1004)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:190 +msgid "" +"[PR#710 Test case for capturing procedure pointers to OpenMP parallel " +"regions](https://github.com/flang-compiler/flang/pull/710)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:191 +msgid "" +"[PR#561 flang2: corrected fix for #424](https://github.com/flang-" +"compiler/flang/pull/561)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:192 +msgid "" +"[PR#778 Fixing NCAR test problems with error tolerance lower than " +"E-12.](https://github.com/flang-compiler/flang/pull/778)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:193 +msgid "" +"[PR#1010 LLVM 12 upgrade](https://github.com/flang-" +"compiler/flang/pull/1010)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:194 +msgid "" +"[PR#1012 Remove release_90 from Github Actions](https://github.com/flang-" +"compiler/flang/pull/1012)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:200 +msgid "New Driver:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:201 +msgid "Add options for -fdefault\\* and -flarge-sizes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:202 +msgid "Refine tests for module search directories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:203 +msgid "Add -fdebug-dump-parsing-log" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:204 +msgid "Add -fdebug-module-writer option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:205 +msgid "Add debug dump, measure-parse-tree and pre-fir-tree options" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:206 +msgid "Add -Xflang and make -test-io a frontend-only flang" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:207 +msgid "Add -J and -module-dir to f18 driver" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:208 +msgid "Fix -fdefault\\* family bug" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:209 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:189 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:227 +msgid "FIR (Fortran IR - a dialect of MLIR):" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:210 +msgid "Add diagnostic tests for FIR ops verifier" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:211 +msgid "Add FIR Types parser diagnostic tests" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:212 +msgid "" +"Upstream the pre-FIR tree changes (The PFT has been updated to support " +"Fortran 77)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:213 +msgid "Update flang test tool support classes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:214 +msgid "Add zero_bits, array value, and other operations" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:215 +msgid "" +"Upstream utility function valueHasFirAttribute() to be used in subsequent" +" merges" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:216 +msgid "OpenMP - add semantic checks for:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:217 +msgid "OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:218 +msgid "Occurrence of multiple list items in aligned clause for simd directive" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:219 +msgid "Flang OpenMP 4.5 - 2.15.3.6 Reduction clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:220 +msgid "2.15.4.2 - Copyprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:221 +msgid "2.15.3.4 - Firstprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:222 +msgid "2.15.3.5 - Lastprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:223 +msgid "Update character tests to use gtest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:224 +msgid "Adaptations to MLIR API changes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:225 +msgid "Fix call to CHECK() on overriding an erroneous type-bound procedure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:226 +msgid "Handle type-bound procedures with alternate returns" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:227 +msgid "Runtime: implement INDEX intrinsic function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:228 +msgid "Fix compilation on MinGW-w64" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:229 +msgid "Extension: forward refs to dummy args under IMPLICIT NONE" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:230 +msgid "Detect circularly defined interfaces of procedures" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:231 +msgid "Implement the related character intrinsic functions SCAN and VERIFY" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:237 +msgid "" +"LFortran is participating in GSoC under the NumFOCUS and Fortran-lang " +"umbrella, if you are interested, please apply: " +"[https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:238 +msgid "" +"7 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Himanshu " +"Pandey](https://github.com/hp77-creator), [Thirumalai " +"Shaktivel](https://github.com/Thirumalai-Shaktivel), [Scot " +"Halverson](https://github.com/scothalverson), [Rohit " +"Goswami](https://rgoswami.me/), [Ondřej " +"Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:246 +#, python-format +msgid "" +"114 Merge Requests were " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged)" +" in the past month, highlights" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:247 +msgid "" +"macOS support (both Intel and ARM), compilation and development of " +"LFortran itself (stacktraces work also)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:249 +msgid "" +"Initial implentation of: modules (modfiles, dependencies, ...), " +"interfaces, integer/real kinds, public/private attribute, derived types, " +"strings, variable initializations, pointers, modules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:252 +msgid "Many other fixes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:254 +msgid "" +"LFortran is still in pre-alpha stage, but we are making rapid progress " +"towards getting it to compile more Fortran features. We are looking for " +"contributors, if you are interested, please get in touch and we will help" +" you get started. We can be contacted at Zulip Chat, mailinglist or " +"GitLab issues (see https://lfortran.org for links to all three)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:262 +msgid "" +"We had our 10th Fortran Monthly call on March 24. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:267 +msgid "" +"This year Fortran-lang is a mentor organization for [Google Summer of " +"Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/)." +" If you're a student, or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know. The student application window opened on March 29 and will " +"close on April 13 at 14:00 Eastern Time." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:271 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee concluded on " +"March 2. Main topics of dicussion were the planned changes for the " +"Fortran 202X revision of the Standard. Here's the [list of all submitted " +"papers](https://j3-fortran.org/doc/meeting/223), and the " +"[summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"the papers discussed and voting results. The committee also welcomed a " +"new member, Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), who is the voting " +"alternate to Gary Klimowicz " +"([@gklimowicz](https://github.com/gklimowicz))." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:282 +msgid "" +"Registration is open for the upcoming free webinar on [Fortran for High " +"Performance " +"Computing](https://register.gotowebinar.com/register/7343048137688004108)." +" The webinar is organized by [Excellerat](https://www.excellerat.eu/) and" +" will be presented by Wadud Miah " +"([@wadudmiah](https://github.com/wadudmiah)) from the University of " +"Southampton." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:300 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:237 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:196 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:212 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:234 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:306 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:320 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:262 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:257 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:314 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:277 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:293 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:268 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:390 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:496 +msgid "[fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:303 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:240 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:199 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:215 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:237 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:309 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:323 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:265 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:260 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:317 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:280 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:296 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:271 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:393 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:499 +msgid "" +"[fortran-lang/fortran-forum-article-template](https://github.com/fortran-" +"lang/fortran-forum-article-template)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:9 +msgid "" +"In April 2020 we created a website for the Fortran language at [fortran-" +"lang.org](https://fortran-lang.org/). In exactly one year, it grew to be " +"the first result when you search \"Fortran\" in Bing, Yahoo, DuckDuckGo, " +"Ecosia, Qwant, SearchEncrypt and the second result in Google (after the " +"Wikipedia page for Fortran)." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:15 +msgid "" +"The goal of the website is to maintain a neutral place where any Fortran " +"user (expert or novice), compiler vendor (open source or commercial), " +"Fortran Standards Committee member, enthusiast, supporter or anybody else" +" interested is welcome to participate. Fortran was invented in 1956, and " +"we aim to be the stewards of the language and we welcome you to join us." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:21 +msgid "Here are some of the ways that you can participate:" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:23 +msgid "" +"[Fortran Discourse](https://fortran-lang.discourse.group/) discussion " +"forum" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:24 +msgid "" +"Contribute to [fpm](https://github.com/fortran-lang/fpm/), " +"[stdlib](https://github.com/fortran-lang/stdlib/), the [Fortran " +"website](https://github.com/fortran-lang/fortran-lang.org) or any other " +"project" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:28 +msgid "Join our monthly Fortran call (see announcements at Discourse)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:29 +msgid "Contribute to the Fortran monthly newsletter" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:30 +msgid "" +"Follow our Fortran Twitter account " +"[@fortranlang](https://twitter.com/fortranlang)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:33 +msgid "" +"Thank you everybody for your support so far. We are looking forward for " +"the second year!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:9 +msgid "" +"Welcome to the May 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:19 +msgid "" +"[#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): Add a " +"first year announcement" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:21 +msgid "" +"[#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): Add " +"dl\\_poly\\_4 to package index" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:23 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:30 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:32 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org “Fortran Best Practise” into a mini-book" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:40 +msgid "" +"[#391](https://github.com/fortran-lang/stdlib/pull/391): Add issue " +"templates" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:42 +msgid "" +"[#388](https://github.com/fortran-lang/stdlib/pull/388): Changed " +"filenames for bitset tests" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:44 +msgid "" +"[#384](https://github.com/fortran-lang/stdlib/pull/384): Implement " +"starts\\_with and ends\\_with functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:46 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:48 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360): Summarize build " +"toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:50 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343): Implement strip " +"and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:52 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336): Add functions to" +" convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:81 +msgid "" +"[#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): Correct " +"implementation of to\\_title" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:83 +msgid "" +"[#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): Start the " +"addition of the module stdlib\\_sorting" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:87 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:87 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:109 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:130 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:101 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:151 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:95 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:101 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:128 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:81 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:75 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:89 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:107 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:97 +#, python-format +msgid "" +"Please help improve stdlib by testing and [reviewing pull " +"requests](https://github.com/fortran-" +"lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:98 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420): Phase out Haskell " +"fpm" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:100 +msgid "[#468](https://github.com/fortran-lang/fpm/pull/468): Identify OpenBSD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:102 +msgid "[#465](https://github.com/fortran-lang/fpm/pull/465): Fix typo in README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:104 +msgid "" +"[#442](https://github.com/fortran-lang/fpm/pull/442): Use lib instead of " +"ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:106 +msgid "" +"[#440](https://github.com/fortran-lang/fpm/pull/440): Minor edits to " +"README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:108 +msgid "" +"[#438](https://github.com/fortran-lang/fpm/pull/438): Add external-" +"modules key to build table for non-fpm modules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:110 +msgid "" +"[#437](https://github.com/fortran-lang/fpm/pull/437): Remove coarray " +"single from default Intel flags" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:112 +msgid "" +"[#433](https://github.com/fortran-lang/fpm/pull/433): Fix to allow " +"compiling C with Intel CC" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:114 +msgid "" +"[#431](https://github.com/fortran-lang/fpm/pull/431): Use different " +"compiler flags on differnt platforms for Intel" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:116 +msgid "" +"[#429](https://github.com/fortran-lang/fpm/pull/429): Use wget if curl is" +" missing in install.sh" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:125 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): Use default " +"instead of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:127 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:113 +msgid "" +"[#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): Allow to find" +" include files / modules in CPATH environment variable" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:129 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:111 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): Response " +"files with ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:131 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): Remove " +"coarray flag from intel debug settings" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:133 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:109 +msgid "" +"[#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): Refactor: use" +" objects to represent compilers and archiver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:153 +msgid "A total of 5 pull requests were merged in April." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:155 +msgid "" +"[PR#1021 Switch to new LLVM License](https://github.com/flang-" +"compiler/flang/pull/1021)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:156 +msgid "" +"[PR#1025 runtime: register atfork handler to re-initialize internal " +"flangrti locks at fork](https://github.com/flang-" +"compiler/flang/pull/1025)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:157 +msgid "" +"[PR#1026 Test case update for #895](https://github.com/flang-" +"compiler/flang/pull/1026)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:158 +msgid "" +"[PR#1030 Update README.md](https://github.com/flang-" +"compiler/flang/pull/1030)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:159 +msgid "" +"[PR#1034 Github Action use the prebuilt clang to build " +"flang](https://github.com/flang-compiler/flang/pull/1034)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:166 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:192 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:230 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:158 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:163 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:190 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:197 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:201 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:162 +msgid "OpenMP" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:167 +msgid "[OPENMP5.1]Initial support for novariants clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:168 +msgid "[OPENMP5.1]Initial support for nocontext clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:169 +msgid "" +"Add functionality to check \"close nesting\" of regions, which can be " +"used for Semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:170 +msgid "[OpenMP5.1] Initial support for masked directive and filter clause" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:171 +msgid "" +"Modify semantic check for nesting of `ordered` regions to include `close`" +" nesting check." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:172 +msgid "Remove `OmpEndLoopDirective` handles from code." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:173 +msgid "Add General Semantic Checks for Allocate Directive" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:174 +msgid "New Driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:175 +msgid "Add options for -Werror" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:176 +#, python-format +msgid "" +"Modify the existing test cases that use -Mstandard in f18, to use " +"-pedantic and %flang_fc1 to share with the new driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:177 +msgid "Add support for `-cpp/-nocpp`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:178 +msgid "Fix `-fdebug-dump-provenance`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:179 +msgid "Add debug options not requiring semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:180 +#, python-format +msgid "Remove `%flang-new` from the LIT configuration" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:181 +msgid "Update the regression tests to use the new driver when enabled" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:182 +msgid "Add support for `-fget-definition`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:183 +msgid "Move .f77 to the list of fixed-form file extensions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:234 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:152 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:190 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:227 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:195 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:219 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:174 +msgid "Runtime" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:185 +msgid "Implement reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:186 +msgid "Implement numeric intrinsic functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:187 +msgid "TRANSFER() intrinsic function" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:188 +msgid "RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:189 +msgid "Implement IPARITY, PARITY, and FINDLOC reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:190 +msgid "Fix unit test failure on POWER" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:191 +msgid "Improve constant folding for type parameter inquiries" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:192 +msgid "Check for conflicting BIND(C) names" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:193 +msgid "Enforce a limit on recursive PDT instantiations" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:194 +msgid "Accept & fold IEEE_SELECTED_REAL_KIND" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:195 +msgid "Define missing & needed IEEE_ARITHMETIC symbols" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:196 +msgid "Handle instantiation of procedure pointer components" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:197 +msgid "Fix checking of argument passing for parameterized derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:198 +msgid "Fix spurious errors from runtime derived type table construction" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:199 +msgid "Check for attributes specific to dummy arguments" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:200 +msgid "Handle structure constructors with forward references to PDTs" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:206 +msgid "98 Merge Requests merged in April" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:207 +msgid "" +"Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy " +"app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)):" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:208 +msgid "" +"Code can be parsed to AST and transformed back to source code which " +"compiles with other compilers and works" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:209 +msgid "" +"About 3rd of the files can be transformed from AST to ASR and the modules" +" saved" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:210 +msgid "Other improvements:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:211 +msgid "Runtime library (more functions work)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:212 +msgid "Nested functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:213 +msgid "Derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:217 +msgid "" +"We had our 11th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:222 +msgid "" +"Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the " +"University of Southampton presented a webinar on Fortran for High " +"Performance Computing, organized by " +"[Excellerat](https://www.excellerat.eu/). You can find the slides and the" +" recording [here](https://services.excellerat.eu/viewevent/39)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:9 +msgid "" +"We're happy to announce six students that will work on Fortran projects " +"under the Google Summer of Code 2021 program:" +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:12 +msgid "" +"[Aman Godara](https://github.com/aman-godara) will work on strings in the" +" [Fortran Standard Library](https://github.com/fortran-lang/stdlib). " +"Aman's mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and " +"[Milan Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:16 +msgid "" +"[Rohit Goswami](https://github.com/haozeke) will work on the " +"[LFortran](https://lfortran.org) compiler, specifically toward the " +"capability to compile a complex physics package. Rohit's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:20 +msgid "" +"[Jakub Jelínek](https://github.com/kubajj) will work on handling compiler" +" arguments in the [Fortran Package Manager](https://github.com/fortran-" +"lang/fpm). Jakub's mentors will be [Laurence " +"Kedward](https://github.com/lkedward) and [Brad " +"Richardson](https://github.com/everythingfunctional)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:25 +msgid "" +"[Chetan Karwa](https://github.com/chetankarwa) will work on the linked " +"list support in the [Fortran Standard Library](https://github.com" +"/fortran-lang/stdlib). Chetan's mentors will be [Arjen " +"Markus](https://github.com/arjenmarkus) and [Milan " +"Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:30 +msgid "" +"[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work" +" on the Abstract Syntax Tree generation in the " +"[LFortran](https://lfortran.org) compiler. Thirumalai's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:34 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) will work on the support " +"of arrays and allocatables in the [LFortran](https://lfortran.org) " +"compiler. Gagandeep's mentor will be [Ondřej " +"Čertík](https://github.com/certik). Gagandeep was accepted under the " +"NumFOCUS application to GSoC." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:39 +msgid "" +"This is the first year that Fortran-lang applied for Google Summer of " +"Code, and we're beyond excited that our project was allocated this many " +"student slots. You can follow students' progress in their weekly reports " +"in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:43 +msgid "Thank you, Google, for your support of Fortran and open source software!" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:9 +msgid "" +"Welcome to the June 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:19 +msgid "" +"[#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): " +"Grammar and typo fixes in main page and quickstart minibook" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:21 +msgid "" +"[#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): Script" +" for summarizing PRs" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:23 +msgid "" +"[#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): " +"MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package " +"index" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:25 +msgid "" +"[#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): Fixed " +"grammar in Easy to learn section" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:30 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:44 +msgid "" +"[#417](https://github.com/fortran-lang/stdlib/pull/417): Add GCC-11 to " +"workflow" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:46 +msgid "" +"[#415](https://github.com/fortran-lang/stdlib/pull/415): Corrected Ubuntu" +" version" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:48 +msgid "" +"[#407](https://github.com/fortran-lang/stdlib/pull/407): Changed " +"to\\_title to to\\_sentence and implemented correct to\\_title" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:50 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359): Add general " +"contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:52 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355): Implement clip " +"function" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:57 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:83 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:59 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:61 +msgid "" +"[#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): Improved " +"support for NAG" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:63 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): " +"Implemented intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:65 +msgid "" +"[#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): Addition " +"of the stdlib\\_sorting module" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:96 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:120 +msgid "Here is what is new in *fpm*:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:98 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450): Remove coarray flag" +" from intel debug settings" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:100 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423): Use default instead" +" of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:107 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): Allow fpm to " +"change the working directory" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:136 +msgid "" +"39 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:137 +msgid "Features that can now be compiled (in the LLVM backend):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:138 +msgid "More nested functions and callbacks (the context is properly propagated)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:139 +msgid "Runtime: size, lbound, ubound" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:140 +msgid "Return statement" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:141 +msgid "More array operations and declarations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:142 +msgid "Array initializer expressions" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:143 +msgid "Features in ASR only (semantics):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:144 +msgid "Runtime intrinsics: min, max, allocated" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:145 +msgid "Features in AST only (syntax):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:146 +msgid "Co-arrays" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:147 +msgid "Methods" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:148 +msgid "Enumerations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:149 +msgid "Attributes in `use`" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:150 +msgid "BOZ constants" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:151 +msgid "Forall" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:152 +msgid "More interfaces" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:153 +msgid "Import" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:154 +msgid "Implicit statements" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:155 +msgid "Select type" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:157 +msgid "The following people contributed code in May 2021:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:159 +msgid "Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:160 +msgid "" +"Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com" +"/Thirumalai-Shaktivel))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:161 +msgid "Ondřej Čertík ([@certik](https://github.com/certik))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:162 +msgid "Dominic Poerio ([@dpoe](https://gitlab.com/dpoe))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:167 +msgid "" +"We had our 12th Fortran Monthly call on May 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:172 +msgid "" +"Google Summer of Code program has announced the allocation of students to" +" each project. Fortran-lang received six studens (one through " +"[NumFOCUS](https://numfocus.org/)) who will work across three " +"subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to " +"students [Aman Godara](https://github.com/aman-godara), [Rohit " +"Goswami](https://github.com/haozeke), [Jakub " +"Jelínek](https://github.com/kubajj), [Chetan " +"Karwa](https://github.com/chetankarwa), [Thirumalai " +"Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and [Gagandeep " +"Singh](https://github.com/czgdp1807). Read the full post [here](https" +"://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:9 +msgid "" +"Welcome to the July 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:19 +msgid "" +"[#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): Add " +"LATTE tight-binding molecular dynamics code to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:21 +msgid "" +"[#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): Add " +"crest program to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:23 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:25 +msgid "" +"[#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): Add " +"the SNaC package to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:27 +msgid "" +"[#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): Add " +"QUICK to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:32 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): " +"Add projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:34 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): " +"Add convert_FORTRAN_case formatter to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:36 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:48 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:28 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:38 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:54 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Draft: Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:48 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313): Legendre " +"polynomials and gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:50 +msgid "[#432](https://github.com/fortran-lang/stdlib/pull/432): Outer product" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:52 +msgid "" +"[#439](https://github.com/fortran-lang/stdlib/pull/439): Reduce time " +"spent on sorting tests" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:54 +msgid "" +"[#440](https://github.com/fortran-lang/stdlib/pull/440): Make maximum " +"rank an option" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:56 +msgid "" +"[#433](https://github.com/fortran-lang/stdlib/pull/433): Implemented low " +"level find function for string matching" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:58 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414): Implemented " +"intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:60 +msgid "" +"[#428](https://github.com/fortran-lang/stdlib/pull/428): Fix issue with " +"stdlib_sorting" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:62 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:64 +msgid "" +"[#430](https://github.com/fortran-lang/stdlib/pull/430): Remove support " +"for GCC 7 and 8" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:66 +msgid "" +"[#424](https://github.com/fortran-lang/stdlib/pull/424): Add separate " +"logical kind parameters" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:71 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): Add `disp`" +" function to display your data" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:73 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` to format other type to string" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:75 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): Implement " +"pad function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:77 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:109 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:81 +msgid "" +"[#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): [FPM] add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:79 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): Implement " +"low-level replace_all function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:81 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): Addition " +"of a subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:85 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:111 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:83 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:132 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:79 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:86 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:117 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:72 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:66 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:80 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:98 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:86 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Sorting " +"string's characters according to their ASCII values" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:91 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): String " +"list new" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:93 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:115 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:87 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:136 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:83 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:90 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:119 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:74 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:68 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:82 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:100 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:88 +msgid "" +"[#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): " +"Probability Distribution and Statistical Functions -- Beta Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:95 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:117 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:89 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:138 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:85 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:92 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:121 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:76 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:70 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:84 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:102 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:90 +msgid "" +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Probability Distribution and Statistical Functions -- Gamma Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:97 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:119 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:91 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:140 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:87 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:94 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:123 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): " +"Probability Distribution and Statistical Functions -- Exponential " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:99 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:121 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:93 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:142 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:89 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:96 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): " +"Probability Distribution and Statistical Functions -- Normal Distribution" +" Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:101 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:123 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:95 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:144 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): " +"Probability Distribution and Statistical Functions -- Uniform " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:103 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:125 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:97 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:146 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:91 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:98 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:125 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:78 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:72 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:86 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:104 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:92 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of COO / CSR sparse format" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:105 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:127 +msgid "" +"[#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): Update " +"CMAKE files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:118 +msgid "" +"__Alpha release update:__ Last month saw the release of __v0.3.0__ for " +"*fpm* which includes a number of [new features and bug " +"fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:122 +msgid "" +"[#504](https://github.com/fortran-lang/fpm/pull/504): install.sh, " +"README.md: Update version number, single source file extension" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:124 +msgid "" +"[#501](https://github.com/fortran-lang/fpm/pull/501): Bump version for " +"new release" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:126 +msgid "" +"[#491](https://github.com/fortran-lang/fpm/pull/491): Catch " +"execute_command_line errors and print useful messages" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:128 +msgid "" +"[#500](https://github.com/fortran-lang/fpm/pull/500): Allow reading " +"version number from file" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:130 +msgid "" +"[#497](https://github.com/fortran-lang/fpm/pull/497): correct for equal " +"sign in flag options to fix #495" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:132 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449): Response files with" +" ar on Windows" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:134 +msgid "" +"[#490](https://github.com/fortran-lang/fpm/pull/490): Minor fix to module" +" parsing" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:136 +msgid "" +"[#489](https://github.com/fortran-lang/fpm/pull/489): Redirect output " +"when searching for archiver" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:138 +msgid "" +"[#484](https://github.com/fortran-lang/fpm/pull/484): Add support for " +"invoking simple plugins" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:140 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483): Allow fpm to change" +" the working directory" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:147 +msgid "" +"[#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): quiet mode " +"for #502" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:149 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:164 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Draft - " +"Compiler flags profiles" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:170 +msgid "" +"49 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:171 +msgid "Highlights" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:172 +msgid "" +"Improvements to array support in the LLVM backend and at the ASR level: " +"array sections, allocatable arrays, and other improvements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:174 +msgid "" +"Many parser fixes (`lfortran fmt` works on more projects): block data, " +"common block, equivalence, custom operator declaration, flush, critical " +"and event statements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:177 +msgid "More runtime functions: minval, maxval, real, sum, abs" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:178 +msgid "Optional human readable mod files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:183 +msgid "" +"We had our 13th Fortran Monthly call on June 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:188 +msgid "" +"Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually " +"from June 21-30 (Mondays and Wednesdays only). You can find all the " +"papers that were discussed " +"[here](https://j3-fortran.org/doc/meeting/224). Highlights from the " +"meeting:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:189 +msgid "" +"Conditional expressions syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:190 +msgid "" +"Protected components specifications and syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-168.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:191 +msgid "" +"The generics feature planned for Fortran 202Y was discussed at depth " +"([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:192 +msgid "" +"Jeff Hammond (NVidia Corporation) is the new J3 member as a voting " +"alternate to Bryce Adelstein-Lelbach." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:193 +msgid "Target year for Fortran 202X is 2023, subject to change." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:195 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:197 +msgid "" +"Work has started for our Google Summer of Code program. You read about " +"our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:9 +msgid "" +"Welcome to the August 2021 edition of the monthly Fortran newsletter. The" +" newsletter comes out at the beginning of every month and details Fortran" +" news from the previous month." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:19 +msgid "" +"[#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): July " +"newsletter" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:21 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): Add " +"`convert_FORTRAN_case` formatter to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:23 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): Add " +"projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:25 +msgid "" +"[#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): PRs " +"script updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:27 +msgid "" +"[#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): " +"Installation process for GFortran on OpenBSD" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:29 +msgid "" +"[#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): Add " +"Flatiron institute multipole libraries to the package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:31 +msgid "" +"[#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): Small " +"fix in packages index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:33 +msgid "" +"[#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): Bump " +"addressable from 2.7.0 to 2.8.0" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:35 +msgid "" +"[#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): add " +"Apogee and Edinburgh compilers" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:37 +msgid "" +"[#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): Add " +"arrayfire-fortran to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:39 +msgid "" +"[#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): " +"compilers: use more objective tone" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:41 +msgid "" +"[#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): my " +"software with at least 5 stars" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:43 +msgid "" +"[#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): Fix " +"insecure workflow." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:58 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:38 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:66 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:44 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:37 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:46 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:37 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:37 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:43 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:61 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:47 +msgid "Here's what's new in stdlib:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:60 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436): implemented low-" +"level `replace_all` function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:62 +msgid "" +"[#454](https://github.com/fortran-lang/stdlib/pull/454): added " +"`stdlib_math` to specs/index.md" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:64 +msgid "" +"[#453](https://github.com/fortran-lang/stdlib/pull/453): implemented " +"count function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:66 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441): implemented pad " +"function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:68 +msgid "" +"[#456](https://github.com/fortran-lang/stdlib/pull/456): slice function's" +" documentation made user friendly" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:70 +msgid "" +"[#459](https://github.com/fortran-lang/stdlib/pull/459): Fix CMake " +"variable usage" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:72 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:74 +msgid "[#468](https://github.com/fortran-lang/stdlib/pull/468): Update CI" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:76 +msgid "" +"[#469](https://github.com/fortran-lang/stdlib/pull/469): CMake: " +"corrections and updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:78 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426): Addition of a " +"subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:80 +msgid "" +"[#474](https://github.com/fortran-lang/stdlib/pull/474): Bug fix: " +"Allocatable argument 'x' is not allocated #472" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:85 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): " +"[`stdlib_linalg`] Update eye function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:87 +msgid "" +"[#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): " +"[`stdlib_math`] Add seq function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:89 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[`stdlib_linalg`] Add zeros, ones, ex function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:91 +msgid "" +"[#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): " +"[`stdlib_linalg`] Add empty function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:93 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to character type with fypp" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:95 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:73 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:126 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:77 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:84 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:115 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:70 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:64 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:78 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:96 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:84 +msgid "" +"[#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): Error stop" +" improvements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:97 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): Revival " +"string list" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:99 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): " +"implemented `move_alloc` for `string_type`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:101 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"`stdlib_hash`: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:103 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:77 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:130 +msgid "" +"[#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): " +"Implementation of a map data type" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:105 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): [feature] " +"`disp`(display your data) & `format_string`(format other type to string, " +"see #444)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:107 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:139 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:110 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:160 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:104 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:110 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:137 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:90 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:84 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:98 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:116 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:106 +msgid "Here's what's new in fpm:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:141 +msgid "" +"[#507](https://github.com/fortran-lang/fpm/pull/507): optimize file " +"listing" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:143 +msgid "" +"[#511](https://github.com/fortran-lang/fpm/pull/511): check name used for" +" package, executable, test, or example" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:145 +msgid "" +"[#516](https://github.com/fortran-lang/fpm/pull/516): initialize " +"allocatable strings before using in a comparison" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:147 +msgid "[#517](https://github.com/fortran-lang/fpm/pull/517): Fix run" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:149 +msgid "" +"[#522](https://github.com/fortran-lang/fpm/pull/522): remove warnings and" +" fix truncated help text" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:151 +msgid "" +"[#523](https://github.com/fortran-lang/fpm/pull/523): Fix compilation " +"error in ifort" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:156 +msgid "" +"[#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): proposal to " +"close #525 by generating build/.gitignore" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:158 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): Add objects " +"for handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:160 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): expand tabs" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:162 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Draft: " +"initial implementation of `implicit_none`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:184 +msgid "Updates for July 2021:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:186 +msgid "" +"90 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" MRs, this month we have crossed 1000 total merged MRs, 12 total " +"contributors" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:187 +msgid "" +"Parser: we asked the community to test it, several people have reported " +"about 15 bugs, we have fixed all of them (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:189 +msgid "Initial fixed form parser (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:190 +msgid "Classes and class procedures (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:191 +msgid "Many common array usage now works, including allocatable (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:192 +msgid "Associate construct (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:193 +msgid "Compile time evaluation of constant expressions (ASR)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:194 +msgid "7 people contributed code:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:195 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:217 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:275 +msgid "Ondřej Čertík" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:196 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:218 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:278 +msgid "Thirumalai Shaktivel" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:197 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:220 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:276 +msgid "Gagandeep Singh" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:198 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:219 +msgid "Rohit Goswami" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:199 +msgid "Dominic Poerio" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:200 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:221 +msgid "Andrew Best" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:201 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:280 +msgid "Sebastian Ehlert" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:203 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)!" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:209 +msgid "" +"We had our 14th Fortran Monthly call on July 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:214 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The first call" +" for abstracts is due August 1, and the second is due September 1. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:219 +msgid "" +"Work is well under way started for our Google Summer of Code program. " +"Read about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:9 +msgid "" +"Welcome to the September 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:19 +msgid "" +"[#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): Add " +"NJOY to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:22 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:127 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:171 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:94 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:188 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:29 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:51 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:117 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:22 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:56 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:133 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:33 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:93 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:142 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:24 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:50 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:112 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:24 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:42 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:101 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:28 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:109 +msgid "Work in progress" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:24 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): " +"Update Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:26 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): " +"Add QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:40 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467): Implemented " +"move_alloc for string_type" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:42 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470): Revival string " +"list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:44 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481): [stdlib_linalg] " +"Update eye function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:46 +msgid "" +"[#493](https://github.com/fortran-lang/stdlib/pull/493): Update copyright" +" and remove old artifact" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:48 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444): Add " +"format_string routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:50 +msgid "" +"[#483](https://github.com/fortran-lang/stdlib/pull/483): Remove GCC " +"Fortran MinGW 8.4.0 from known to work list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:55 +msgid "" +"[#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): Minor " +"updates to README.md" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:57 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:114 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:65 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:74 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:59 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:116 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:76 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:61 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:118 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:63 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:120 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:71 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): Add " +"testing module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:65 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:122 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:73 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:80 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:113 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:68 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:62 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:76 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:94 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:82 +msgid "" +"[#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): Stdlib " +"linked list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:67 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:124 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:82 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:69 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[stdlib_linalg] Add zeros, ones function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:71 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:75 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:128 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"stdlib_hash: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:79 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): " +"[stdlib_io] `disp`(display your data)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:112 +msgid "" +"[Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0):" +" Alpha release update" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:114 +msgid "" +"[#546](https://github.com/fortran-lang/fpm/pull/546): Update version for " +"release 0.4.0" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:116 +msgid "" +"[#548](https://github.com/fortran-lang/fpm/pull/548): Fix build on " +"MacOS/ARM64" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:118 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527): Add objects for " +"handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:120 +msgid "" +"[#536](https://github.com/fortran-lang/fpm/pull/536): Always call `git " +"init` in fpm new when backfilling" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:122 +msgid "" +"[#533](https://github.com/fortran-lang/fpm/pull/533): Allow extra section" +" in package manifest" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:124 +msgid "" +"[#528](https://github.com/fortran-lang/fpm/pull/528): Generate " +"`build/.gitignore`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:129 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:194 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:123 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:139 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:152 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:126 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:109 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:123 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:141 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:125 +msgid "" +"[#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): Add parent " +"packages into dependency tree" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:131 +msgid "" +"[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): Expand tabs " +"in source parsing" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:133 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Initial " +"implementation of implicit_none" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:135 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:196 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:125 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:141 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:154 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:128 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:111 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:125 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:143 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:127 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Compiler " +"flags profiles" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:151 +msgid "FFTPACK" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:153 +msgid "" +"Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík " +"([@certik](https://github.com/certik)) started maintaining the public " +"domain project FFTPACK under the Fortran-lang namespace. The project is " +"readily available for usage in with fpm." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:156 +msgid "Here is what is new in FFTPACK:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:158 +msgid "" +"[#10](https://github.com/fortran-lang/fftpack/pull/10): Add " +"`(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:160 +msgid "" +"[#7](https://github.com/fortran-lang/fftpack/pull/7): Add " +"`dzffti/dzfftf/dzfftb` interfaces" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:162 +msgid "" +"[#4](https://github.com/fortran-lang/fftpack/pull/4): Improve fft " +"interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:164 +msgid "" +"[#6](https://github.com/fortran-lang/fftpack/pull/6): Add " +"`(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:166 +msgid "" +"[#5](https://github.com/fortran-lang/fftpack/pull/5): Add " +"`fftshift/ifftshift`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:168 +msgid "[#3](https://github.com/fortran-lang/fftpack/pull/3): Add CI: fpm.yml" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:173 +msgid "" +"[#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): Add " +"`(i)dct/dcosti/dcost` interfaces." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:176 +msgid "Feedback and ideas for this project are welcome." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:180 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:219 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:148 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:163 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:175 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:153 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:134 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:146 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:164 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:148 +msgid "Flang" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:223 +msgid "New Driver and CMake integration:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:185 +msgid "The new driver has replaced the old, hence f18 has been deleted." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:186 +msgid "" +"flang-new (aka. the new driver) now drives the flang bash script before " +"an external compiler is called." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:187 +msgid "Code-generation work is ongoing." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:188 +msgid "" +"Work is now proceeding to enable CMake to recognize the compiler and set " +"the appropriate options for build configurations." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:190 +msgid "" +"Fortran 95 lowering and runtime support is nearing completion, " +"particularly of intrinsics" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:191 +msgid "Code upstreaming will begin again in earnest once F95 is deemed complete" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:193 +msgid "Nesting of region semantic checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:194 +msgid "enter_data MLIR to LLVM IR lowering" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:195 +msgid "Semantic checks for allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:196 +msgid "Lowering for various modifiers for the schedule clause" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:197 +msgid "Pretty printer and parser for omp.target operation" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:198 +msgid "Semantic checks for linear, nested barrier, allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:199 +msgid "Progress with firstprivate, critical, collapse, ordered, reduction" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:200 +msgid "Lift -Werror checks into local functions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:201 +msgid "Document the flang wrapper script" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:202 +msgid "Fix the extent calculation when upper bounds are less than lower bounds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:203 +msgid "Fix list-directed plural repeated null values at end of record" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:204 +msgid "Fix build failure on MacOS involving std::clock_t" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:205 +msgid "Fix error messages on Windows." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:206 +msgid "Disable Plugins in out-of-tree builds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:207 +msgid "Correct off-by-one error in SET_EXPONENT" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:209 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:265 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:216 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:212 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:267 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:194 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:249 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:235 +msgid "" +"Call notes are recorded and available upon request " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-" +"Holby at aperry@lanl.gov for document access." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:213 +msgid "" +"168 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in August 2021" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:216 +msgid "The following people have contributed code to LFortran in August:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:222 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:277 +msgid "Carlos Une" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:223 +msgid "Sebastian Ehlert got LFortran working with fpm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:224 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:282 +msgid "Many people have reported bugs (thank you all!)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:225 +msgid "" +"Our 3 Google Summer of Code (GSoC) students have successfully finished " +"their projects. Here are their final reports:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:227 +msgid "" +"Gagandeep Singh: " +"[https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:228 +msgid "" +"Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-" +"Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com" +"/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:229 +msgid "" +"Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-" +"reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:231 +msgid "LFortran 0.12.0 was released on August 15" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:233 +msgid "Changes since the last release." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:235 +msgid "Fixed all issues in the parser that were reported (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:236 +msgid "multiple loop single end do" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:237 +msgid "arithmetic if" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:238 +msgid "" +"Comments and empty lines are now represented in AST and formatted " +"correctly (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:239 +msgid "" +"The formatter (`lfortran fmt`) now uses the minimal amount of parentheses" +" in expressions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:240 +msgid "Initial fixed-form parser (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:241 +msgid "Initial class support (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:242 +msgid "Allocate / deallocate, allocatable arrays (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:243 +msgid "Associate block (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:244 +msgid "Runtime library refactoring (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:245 +msgid "Split into builtin, pure and impure" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:246 +msgid "`iso_fortran_env`, `iso_c_binding` intrinsic modules added" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:247 +msgid "Compile time evaluation (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:249 +msgid "Commits (`git shortlog -ns v0.11.0..v0.12.0`):" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:260 +msgid "Updates in master since the last release:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:262 +msgid "LFortran can now compile binaries on Windows" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:263 +msgid "C interoperation works on all platforms (including Windows and MSVC)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:264 +msgid "Runtime library improvements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:265 +msgid "Complex intrinsics fixed on all platforms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:266 +msgid "" +"All trigonometric functions now use the Fortran `impure` interface in the" +" runtime library" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:267 +msgid "More intrinsics implemented" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:268 +msgid "Initial implementation of classes and methods" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:269 +msgid "" +"LFortran now works with `fpm` and compiles the hello world project and a " +"few other example projects" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:270 +msgid "Parser improvements: team and sync statements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:271 +msgid "" +"Improved handling of character types as function arguments and return " +"values" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:274 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)! We would be happy to do a " +"video call with you to get you started." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:281 +msgid "" +"We had our 15th Fortran Monthly call on August 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:285 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The second " +"call for abstracts is due September 1. For more information, visit the " +"[FortranCon website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:290 +msgid "" +"Our Google Summer of Code program for 2021 is coming to a close. Read " +"about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:310 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:324 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:266 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:261 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:318 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:281 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:297 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:272 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:394 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:500 +msgid "[fortran-lang/fftpack](https://github.com/fortran-lang/fftpack)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:9 +msgid "" +"Welcome to the October 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:19 +msgid "" +"[#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): " +"September newsletter draft" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:21 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): Add " +"QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:23 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): Update" +" Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:25 +msgid "" +"[#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): Fixed " +"typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:27 +msgid "" +"[#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): remove" +" excess 'mpi' tag from fortran2018-examples" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:29 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:31 +msgid "" +"[#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): " +"grammar and spelling from issue #313" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:33 +msgid "" +"[#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): more " +"grammar, spelling, and rewording for Fortran Best Practices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:35 +msgid "" +"[#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): " +"replaced \"be found be found\" with \"be found\"" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:37 +msgid "" +"[#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): " +"Alternative approach to avoiding integer division" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:39 +msgid "" +"[#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): Add " +"incompact3d to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:41 +msgid "" +"[#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): Add " +"fparser to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:43 +msgid "" +"[#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): Adding" +" two more packages to the index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:45 +msgid "" +"[#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): Add " +"pFlogger to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:47 +msgid "" +"[#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): One " +"more package" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:52 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:68 +msgid "[#509](https://github.com/fortran-lang/stdlib/pull/509): fixed typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:70 +msgid "" +"[#503](https://github.com/fortran-lang/stdlib/pull/503): refactor " +"documentation regarding consistency" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:72 +msgid "" +"[#511](https://github.com/fortran-lang/stdlib/pull/511): Correctly set " +"CMAKE_INSTALL_MODULEDIR cache variable" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:74 +msgid "" +"[#513](https://github.com/fortran-lang/stdlib/pull/513): Update issue " +"templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:76 +msgid "" +"[#523](https://github.com/fortran-lang/stdlib/pull/523): Rename " +"config.yaml -> config.yml" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:78 +msgid "" +"[#508](https://github.com/fortran-lang/stdlib/pull/508): github-ci: add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:80 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475): Generating " +"sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:82 +msgid "" +"[#525](https://github.com/fortran-lang/stdlib/pull/525): Add files " +"generated by tests to gitignore" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:84 +msgid "" +"[#529](https://github.com/fortran-lang/stdlib/pull/529): Add maintainer " +"entry to fpm manifest" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:86 +msgid "" +"[#530](https://github.com/fortran-lang/stdlib/pull/530): Make it clearer " +"how the user can control compiler optimization" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:88 +msgid "" +"[#528](https://github.com/fortran-lang/stdlib/pull/528): Reduce " +"redundancy caused by optional arguments" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:90 +msgid "" +"[#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) " +"(`stdlib-cmake-example`): Add example integration with test-drive" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:96 +msgid "" +"[#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): Fix string" +" concat" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:98 +msgid "" +"[#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): Add " +"function gcd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:100 +msgid "" +"[#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): Bump " +"stdlib version to 0.1.0" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:102 +msgid "" +"[#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): Add a " +"changelog for the current features of stdlib" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:104 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:57 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:66 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:105 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:60 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:54 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:86 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:74 +msgid "" +"[#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): Fix " +"conversion warnings" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:106 +msgid "" +"[#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): Ensure " +"module output directory is generated in configure stage" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:108 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display your data)." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:110 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:70 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:109 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:64 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:58 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:72 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:90 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:78 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC_TEMPLATE.md #504" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:112 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:63 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:72 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:111 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:66 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:60 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:74 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:92 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:80 +msgid "" +"[#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): pop, drop " +"& get with basic range feature for stringlist" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:162 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521): expand tabs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:164 +msgid "" +"[#557](https://github.com/fortran-lang/fpm/pull/557): Update installer " +"script to update subprojects first" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:166 +msgid "[#558](https://github.com/fortran-lang/fpm/pull/558): Add issue templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:168 +msgid "" +"[#565](https://github.com/fortran-lang/fpm/pull/565): Default branch " +"renaming aftermath" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:170 +msgid "" +"[#562](https://github.com/fortran-lang/fpm/pull/562): Add new " +"distributions where fpm is available to README" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:172 +msgid "" +"[#563](https://github.com/fortran-lang/fpm/pull/563): Add workflow to " +"create single source fpm version" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:174 +msgid "" +"[#564](https://github.com/fortran-lang/fpm/pull/564): Separate upload " +"stage in CI testing" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:176 +msgid "" +"[#572](https://github.com/fortran-lang/fpm/pull/572): Build no tests by " +"default" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:178 +msgid "" +"[#549](https://github.com/fortran-lang/fpm/pull/549): Allow setting, " +"archiver, C compiler flags and linker flags from commandline" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:180 +msgid "" +"[#578](https://github.com/fortran-lang/fpm/pull/578): help text was " +"truncated" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:182 +msgid "" +"[#579](https://github.com/fortran-lang/fpm/pull/579): Fix dir not getting" +" removed after testing fpm" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:184 +msgid "" +"[#584](https://github.com/fortran-lang/fpm/pull/584): Actually read " +"environment variables" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:190 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): Enable " +"multiple build output directories" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:192 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:121 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): Add workflow " +"for continuous delivery" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:224 +msgid "" +"flang-omp-report plugin - first full fledged frontend plugin has been " +"contributed" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:225 +msgid "CMake integration - waiting on a new PR" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:226 +msgid "" +"Code-generation work is ongoing - task list has been presented to the " +"community for discussion and approval" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:228 +msgid "Fortran 95 lowering and runtime support is nearing completion" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:229 +msgid "Code upstreaming has begun again" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:231 +msgid "Merged: Critical, collapse clause, Fixes for SNAP." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:232 +msgid "" +"In review: Firstprivate, Ordered, MLIR definitions for a few target side " +"constructs, semantic checks for atomic, critical, sections, simd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:233 +msgid "OpenMP 5.0 metadirective" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:235 +msgid "Change complex type define in runtime for clang-cl" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:236 +msgid "Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:237 +msgid "" +"GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, " +"STATUS and ERRMSG parameters." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:238 +msgid "COMMAND_ARGUMENT_COUNT runtime implementation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:239 +msgid "Add POSIX implementation for SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:240 +msgid "Fix WRITE after BACKSPACE on variable-length file" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:241 +msgid "Implement Posix version of DATE_AND_TIME runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:242 +msgid "Ported test scripts to Python, enables testing on Windows" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:243 +msgid "More precise checks for NULL() operands" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:244 +msgid "Enforce array conformance in actual arguments to ELEMENTALs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:245 +msgid "" +"Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, " +"UNPACK, and TRANSPOSE" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:246 +msgid "Make this_image() an intrinsic function" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:247 +msgid "Revamp C1502 checking of END INTERFACE [generic-spec]" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:248 +msgid "Accept SIZE(assumed-rank, DIM=n)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:249 +msgid "Validate SIZE(x,DIM=n) dimension for assumed-size array x" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:250 +msgid "Catch errors with intrinsic array inquiry functions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:251 +msgid "Correct overflow detection in folding of real->integer conversions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:252 +msgid "Upgrade warning to error in case of PURE procedure" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:253 +msgid "Enforce fixed form rules about END continuation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:254 +msgid "Enforce specification function rules on callee, not call" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:255 +msgid "Catch error: base of DATA statement object can't be a pointer" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:256 +msgid "Represent parentheses around derived types" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:257 +msgid "Enforce constraint: defined ass't in WHERE must be elemental" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:258 +msgid "Catch branching into FORALL/WHERE constructs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:259 +msgid "Implement semantic checks for ELEMENTAL subprograms" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:260 +msgid "Signal EOR in non advancing IO and move to next record" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:261 +msgid "Extension: reduced scope for some implied DO loop indices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:262 +msgid "Take result length into account in ApplyElementwise folding" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:263 +msgid "Apply double precision KindCode in specific proc interface" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:269 +msgid "" +"81 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in September 2021" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:272 +msgid "" +"LFortran Minimum Viable Product (MVP) " +"[released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-" +"product-mvp/)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:273 +msgid "LFortran 0.13.0, 0.13.1 and 0.14.0 released in September" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:274 +msgid "The following people have contributed code to LFortran in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:279 +msgid "Harris M. Snyder" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:281 +msgid "Mengjia Lyu" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:283 +msgid "Main features implemented in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:284 +msgid "Operator overloading (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:285 +msgid "Goto (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:286 +msgid "Runtime library improvements: `iand`, `len`, `trim`, `len_trim`" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:287 +msgid "" +"Interactive mode: get complex numbers, intrinsic functions working " +"(Windows, macOS, Linux)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:289 +msgid "New driver options: --fast, --symtab-only, --target" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:292 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:227 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:228 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:281 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:247 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:259 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:367 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:468 +msgid "" +"We are looking for new contributors. Please do not hesitate to contact us" +" if you are interested. We will help you get up to speed." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:298 +msgid "" +"We had our 16th Fortran Monthly call on September 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:302 +msgid "" +"The second international Fortran Conference (FortranCon) 2021 was held " +"virtually on September 23-24 Video recordings of the talks will be made " +"available soon. For more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:9 +msgid "" +"Welcome to the November 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:20 +msgid "" +"[#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): Fix " +"title in learning resources" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:22 +msgid "" +"[#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): Add " +"Cantera to package index" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:24 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:26 +msgid "" +"[#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): Minor " +"fixes in Best Practices" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:46 +msgid "" +"[0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): " +"Initial version of the Fortran standard library" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:48 +msgid "[#543](https://github.com/fortran-lang/stdlib/pull/543): Fix string concat" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:53 +msgid "" +"[#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): Hash " +"functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:55 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): Fix bug in" +" stringlist" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:59 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib\\_io] add `disp` (display your data)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:61 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC\\_TEMPLATE.md" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:67 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib\\_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:69 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib\\_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:75 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib\\_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:106 +msgid "" +"[#597](https://github.com/fortran-lang/fpm/pull/597): Add LFortran " +"optimization flag to release profile" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:108 +msgid "" +"[#595](https://github.com/fortran-lang/fpm/pull/595): List names without " +"suffix (mainly for Windows)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:110 +msgid "" +"[#590](https://github.com/fortran-lang/fpm/pull/590): Change link command" +" on Windows with `ifort` or `ifx`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:112 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575): Enable multiple " +"build output directories" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:114 +msgid "" +"[#587](https://github.com/fortran-lang/fpm/pull/587): Bootstrapping " +"instructions version update" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:119 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): Update " +"README.md compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:132 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:147 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/main/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:153 +msgid "Front-end and runtime support for CALL EXIT and ABORT" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:154 +msgid "Fix formatted real input regression w/ spaces" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:155 +msgid "Add runtime interface for GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:156 +msgid "More work on SYSTEM_CLOCK runtime API and implementation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:157 +msgid "Implement GET_ENVIRONMENT_VARIABLE(LENGTH)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:159 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for sections " +"construct and test case for simd construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:160 +msgid "" +"Added test case for OpenMP 5.0 specification based semantic checks for " +"parallel sections construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:161 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for CRITICAL " +"construct name resolution" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:162 +msgid "Checks for THREADPRIVATE and DECLARE TARGET Directives" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:163 +msgid "Initial parsing/sema for append_args clause for 'declare variant'" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:164 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:170 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:179 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:157 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:138 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:150 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:168 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:150 +msgid "FIR" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:165 +msgid "" +"Add typeparams to fir.array_update, fir.array_fetch and " +"fir.array_merge_store operations. Add optional slice operands to " +"fir.array_merge_store op." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:166 +msgid "" +"Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, " +"fir.alloca, fir.field_index, fir.freemem, fir.store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:167 +msgid "" +"Move the parsers, printers and builders from the TableGen file to the " +".cpp file" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:168 +msgid "Update fir.alloca op - Add pinned attributes and specific builders" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:169 +msgid "Add ops: fir.char_convert and fir.array_modify" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:170 +msgid "" +"Add passes: external name interop, affine promotion, affine demotion, " +"character conversion, abstract result conversion, cfg conversion" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:171 +msgid "Add fir.convert canonicalization patterns" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:172 +msgid "Add the DoLoopHelper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:173 +msgid "Add IfBuilder and utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:174 +msgid "Add FIRBuilder utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:175 +msgid "Add character utility functions in FIRBuilder" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:176 +msgid "Add Character helper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:177 +msgid "Add utility function to FIRBuilder and MutableBox" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:178 +msgid "Add substring to fir.slice operation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:179 +msgid "" +"Avoid slice with substr in fir.array_load, fir.array_coor and " +"fir.array_merge_store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:180 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:185 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:193 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:196 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:153 +msgid "Driver" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:181 +msgid "Error if uuidgen is not installed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:182 +msgid "Fix erroneous `&`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:183 +msgid "Add actions that execute despite semantic errors" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:184 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:192 +msgid "flang-omp-report" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:185 +msgid "replace std::vector's with llvm::SmallVector" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:186 +msgid "Switch from std::string to StringRef (where possible)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:187 +msgid "replace std::map with llvm::DenseMap" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:188 +msgid "Make builtin types more easily accessible; use them" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:189 +msgid "Fix test regression from SQRT folding" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:190 +msgid "Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:191 +msgid "Take into account SubprogramDetails in GetInterfaceSymbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:192 +msgid "Add debug dump method to evaluate::Expr and semantics::Symbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:193 +msgid "Add a wrapper for Fortran main program" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:194 +msgid "Improve runtime interface with C99 complex" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:195 +msgid "Better error recovery for missing THEN in ELSE IF" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:196 +msgid "Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:197 +msgid "Catch mismatched parentheses in prescanner" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:198 +msgid "Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:199 +msgid "Document behavior for nonspecified/ambiguous cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:200 +msgid "Add two negative tests for needExternalNameMangling" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:201 +msgid "Expunge bogus semantic check for ELEMENTAL without dummies" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:202 +msgid "Admit NULL() in generic procedure resolution cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:203 +msgid "Fix bogus folding error for ISHFT(x, negative)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:204 +msgid "Emit unformatted headers & footers even with RECL=" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:205 +msgid "Enforce rest of semantic constraint C919" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:206 +msgid "Extension to distinguish specific procedures" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:207 +msgid "Support NAMELIST input of short arrays" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:208 +msgid "Fix generic resolution case" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:209 +msgid "Speed common runtime cases of DOT_PRODUCT & MATMUL" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:210 +msgid "Fix crash on empty formatted external READs" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:211 +msgid "Extension: allow tabs in output format strings" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:212 +msgid "Fix DOT_PRODUCT for logical" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:213 +msgid "Fix NAMELIST input bug with multiple subscript triplets" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:214 +msgid "Support legacy usage of 'A' edit descriptors for integer & real" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:220 +msgid "155 Merge Requests merged in October 2021" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:221 +msgid "AST to ASR transformation simplified and unified" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:222 +msgid "Many new intrinsics added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:223 +msgid "Rust style error messages, add first warnings and style suggestions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:224 +msgid "Fixed bugs in location information" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:225 +msgid "C preprocessor added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:233 +msgid "We have adopted two new Fortran-lang guidelines:" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:234 +msgid "" +"[Governance document](https://github.com/fortran-" +"lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang " +"projects are managed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:235 +msgid "" +"[Administration, moderation, and editing guide](https://fortran-" +"lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-" +"and-editing-3) for Fortran Discourse Both documents are part of an effort" +" to increase transparency between Fortran-lang administrators and the " +"rest of the community." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:237 +msgid "" +"The US Fortran Standards Committee (J3) held the meeting 225 October " +"18-27, 2021. The meeting was virtual and on Mondays and Wednesdays only. " +"Discussions focused on resolving any outstanding issues to the Fortran " +"202X features. Here are the links to the meeting " +"[agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), " +"[minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), and " +"[papers](https://j3-fortran.org/doc/meeting/225). See also the [Fortran-" +"lang and LFortran liaison report to " +"J3](https://j3-fortran.org/doc/year/21/21-206.txt) submitted by Ondřej " +"Čertík and Milan Curcic." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:245 +msgid "" +"We had our 19th Fortran Monthly call on October 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:9 +msgid "" +"Welcome to the December 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:17 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:18 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:17 +msgid "Here's what's new and ongoing in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:19 +msgid "" +"[#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): Fix " +"typo in author field" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:24 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:35 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:26 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:26 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:32 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:50 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:36 +msgid "" +"[#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): " +"Fortran Intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:39 +msgid "" +"[#558](https://github.com/fortran-lang/stdlib/pull/558): Pin specific fpm" +" version" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:41 +msgid "" +"[#556](https://github.com/fortran-lang/stdlib/pull/556): fix some FORD " +"links" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:43 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494): Add testing " +"module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:45 +msgid "" +"[#562](https://github.com/fortran-lang/stdlib/pull/562): Minor update " +"`pure/elemental` in `string_type` module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:47 +msgid "" +"[#565](https://github.com/fortran-lang/stdlib/pull/565): Make support for" +" quadruple precision optional" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:49 +msgid "" +"[#566](https://github.com/fortran-lang/stdlib/pull/566): Create a call " +"for reviewers pull request template" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:51 +msgid "" +"[#578](https://github.com/fortran-lang/stdlib/pull/578): Update error in " +"case fypp preprocessor is not found" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:53 +msgid "" +"[#579](https://github.com/fortran-lang/stdlib/pull/579): Add module for " +"handling version information of stdlib" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:58 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): Add " +"routines for saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:60 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:101 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:56 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:50 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:64 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:82 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:70 +msgid "" +"[#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): Add " +"terminal and color escape sequences" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:62 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): Revised " +"Hash functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:64 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:103 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:58 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:52 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:66 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:84 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:72 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): fixed bug " +"in stringlist" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:68 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:107 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:62 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:70 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:88 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:76 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display variable values formatted)." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:112 +msgid "" +"[v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): Alpha " +"release update" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:114 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598): Update README.md " +"compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:116 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569): Add workflow for " +"continuous delivery" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:118 +msgid "" +"[#602](https://github.com/fortran-lang/fpm/pull/602): fix(fpm_compiler): " +"intel windows release flag was incorrect" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:120 +msgid "" +"[#607](https://github.com/fortran-lang/fpm/pull/607): Repair --list " +"option and correct obsolete descriptions of the --list option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:122 +msgid "" +"[#612](https://github.com/fortran-lang/fpm/pull/612): Fix modules listing" +" (for install)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:124 +msgid "" +"[#613](https://github.com/fortran-lang/fpm/pull/613): Add: critical " +"section to mkdir in backend" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:126 +msgid "" +"[#616](https://github.com/fortran-lang/fpm/pull/616): Add: workflow to " +"make installer on push and release" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:128 +msgid "" +"[#614](https://github.com/fortran-lang/fpm/pull/614): Bump version to " +"0.5.0" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:130 +msgid "" +"[setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): Fix " +"Latest Option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:135 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:148 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:122 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): Cleanup the " +"backend output" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:137 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:150 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:124 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:107 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:121 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:139 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:123 +msgid "" +"[#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): --env switch " +"lets you specify the prefix of the compiler-related environment variables" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:168 +msgid "Use the ultimate symbol in a call to the IsPointer function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:169 +msgid "Add parsing/sema/serialization for 'bind' clause." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:171 +msgid "Add base of the FIR to LLVM IR pass" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:172 +msgid "Add various FIR to LLVM IR conversion patterns:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:173 +msgid "fir.unreachable" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:174 +msgid "fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:175 +msgid "fir.zero_bits" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:176 +msgid "fir.select and fir.select_rank" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:177 +msgid "fir.extract_value and fir.insert_value" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:178 +msgid "types - fir.box, fir.logical, fir.char, fir.ptr" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:179 +msgid "fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:180 +msgid "fir.convert" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:181 +msgid "fir.call" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:182 +msgid "fir.store and fir.load" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:183 +msgid "Add substr information to fircg.ext_embox and fircg.ext_rebox operations" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:184 +msgid "Use notifyMatchFailure in fir.zero_bits conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:185 +msgid "Restrict array type on fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:186 +msgid "Add test for FIR types conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:187 +msgid "Use contralized values for indexing box" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:188 +msgid "Add complex operations conversion from FIR LLVM IR" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:189 +msgid "Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:191 +msgid "Read environment variables directly" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:193 +msgid "Removed unnecessary comments in flang-omp-report plugin tests" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:194 +msgid "Remove the loop workarounds for nowait clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:195 +msgid "Add flang-omp-report summarising script" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:196 +msgid "Checks for pointers to intrinsic functions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:197 +msgid "Fold SPREAD" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:198 +msgid "Improve error message for misuse of NULL(mold) as data statement constant" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:199 +msgid "Fix crash on \"call system_clock(count_max=j)\"" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:200 +msgid "Fix combined folding of FINDLOC/MAXLOC/MINLOC" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:201 +msgid "Implement GET_ENVIRONMENT_VARIABLE(VALUE)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:202 +msgid "" +"Remove builder that takes SSA value instead of Attribute on " +"ExtractValueOp, InsetValueOp, and InsertOnRangeOp" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:203 +msgid "Remove getModel in DescriptorModel.h" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:204 +msgid "Set the addendum when establishing pointer section in descriptor" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:205 +msgid "Fix error in characteristics check at procedure pointer assignment" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:206 +msgid "Initial parsing/sema for 'align' clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:207 +msgid "Don't reference non-invariant symbols in shape expressions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:208 +msgid "Make subscript list argument a nullable pointer" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:209 +msgid "Distinguish error/warning cases for bad jumps into constructs" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:210 +msgid "Fix folding of EPSILON()" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:216 +msgid "32 Merge Requests merged in November 2021" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:217 +msgid "Support for same name interface and subroutine/function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:218 +msgid "Compile-time evaluation for bit intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:219 +msgid "Implement the `repeat` and `shape` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:220 +msgid "Variadic support for `min` and `max` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:221 +msgid "Implement the scalar `random_number` function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:222 +msgid "Fixes and improved error message for `read` and `write` statements" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:223 +msgid "Support the `final`, `intrinsic`, and `private` attributes" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:224 +msgid "Implement the `ieee_arithmetic` intrinsic module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:225 +msgid "Support for the `abstract` class" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:226 +msgid "Support for `assignment(=)` on `use` statement" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:234 +msgid "" +"Sebastian Ehlert presented the Fortran Package Manager at the " +"PackagingCon 2021 conference. You can watch the recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:237 +msgid "" +"Recordings of all FortranCon 2021 presentations are now available to view" +" in the [FortranCon YouTube " +"Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +" Enjoy!" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:240 +msgid "" +"We had our 20th Fortran Monthly call on November 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:9 +msgid "" +"With another year behind us, let's review the progress that the Fortran-" +"lang community has made. If you're new to Fortran-lang, here's a quick " +"intro: We're an open source community that aims to develop modern Fortran" +" tooling and nurture a rich ecosystem of libraries, as well as to provide" +" a friendly, helpful, and inclusive space for newcomers and experienced " +"Fortran programmers to work together. We started in late 2019 and have " +"been going ever since. If you're first discovering (or re-discovering) " +"Fortran through this article, welcome, and we hope it inspires you to try" +" Fortran for one of your projects. In this article we summarize new " +"developments from 2021, from flagship and new projects to community " +"development and outreach." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:24 +msgid "Standard Library (stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:26 +msgid "" +"To date, [33 people](https://github.com/fortran-" +"lang/stdlib/graphs/contributors) have contributed code to stdlib, and " +"more than 100 people have participated in discussions. More than a dozen " +"new modules have been added in 2021:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:31 +msgid "" +"`stdlib_array`: Provides `trueloc` and `falseloc` which allow you to " +"index an array based on a logical condition in a functional style" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:33 +msgid "`stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:34 +msgid "`stdlib_math`: Provides a number of common mathematical functions" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:35 +msgid "`stdlib_random`: Pseudo-random integer number generation" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:36 +msgid "" +"`stdlib_selection`: Selection procedures for selecting elements from an " +"array given a desired range" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:38 +msgid "" +"`stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm " +"and introsort by David Musser" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:40 +msgid "" +"`stdlib_specialfunctions`: Provides the Legendre function and its " +"derivative in support of the Gaussian quadrature procedures" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:42 +msgid "" +"`stdlib_stats_distribution_normal`: Functions to sample values from a " +"normal distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:44 +msgid "" +"`stdlib_stats_distribution_uniform`: Functions to sample values from a " +"uniform distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:46 +msgid "" +"`stdlib_string_type`: Provides a `string_type` derived type that " +"alleviates some limitations of the variable-length `character` variables." +" `string_type` is compatible with all intrinsic procedures that operate " +"on `character`." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:49 +msgid "" +"`stdlib_stringlist_type`: A derived type that is a 1-dimensional list of " +"strings" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:51 +msgid "" +"`stdlib_strings`: Provides a number of inquiry and manipulation " +"procedures that complement the intrinsic set" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:53 +msgid "`stdlib_version`: Allows querying the version of the stdlib library build" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:55 +msgid "" +"which brings us to a total of 23 modules in stdlib. You can read about " +"these modules in more detail on the [stdlib API docs " +"website](https://stdlib.fortran-lang.org)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:59 +msgid "" +"Besides the new modules, procedures, and derived types, there have been a" +" few key improvements in terms of stdlib delivery:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:62 +msgid "" +"You can now use stdlib as a dependency in your fpm projects, see " +"[here](https://github.com/fortran-lang/stdlib#build-with-fortran-" +"langfpm). This significantly lowers the bar for getting started with " +"stdlib." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:65 +msgid "" +"We had our first stdlib release (0.1.0) on October 4. As of now we don't " +"have a set release schedule, and plan to publish a new release when there" +" is significant new functionality. As stdlib matures and becomes more " +"widely used, we expect releases to become more frequent." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:70 +msgid "" +"We now maintain a [change log](https://github.com/fortran-" +"lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is " +"documented. This is a useful document to reference when you want to know " +"what's been added to the stdlib since the latest release." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:75 +msgid "" +"If you haven't tried stdlib yet, please do and let us know what you think" +" and how we can improve it. Our vision for stdlib is to provide basic " +"utilities that most Fortran projects use, as well as wider numerical " +"capabilities with the scope of NumPy and SciPy." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:80 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:82 +msgid "" +"Fortran Package Manager (fpm) is the package manager and build system for" +" Fortran. Its key goal is to make developing, distributing, and reusing " +"Fortran libraries and applications as easy and as fun as possible. In " +"2020, the big change for fpm was the transition from the prototype " +"implemented in Haskell to a pure Fortran implementation. Fpm has since " +"been used in increasingly more and ever larger Fortran projects." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:90 +msgid "" +"To date, [22 people](https://github.com/fortran-" +"lang/fpm/graphs/contributors) have contributed code to fpm. In 2021 fpm " +"has advanced from v0.1.3 to v0.5.0. Key additions this year include " +"(release version in parentheses):" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:95 +msgid "CLI arguments for linker, archiver, and C compiler (0.5.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:96 +msgid "Support for MPI and LFortran (0.4.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:97 +msgid "" +"Support for installed library modules via `external-modules` in the " +"manifest (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:99 +msgid "Automatic discovery of manifest files in parent directories (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:100 +msgid "Support for reading package version from file (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:101 +msgid "Support for include directories (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:102 +msgid "Support for `--flag` CLI option to specify compiler flags (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:103 +msgid "" +"`fpm build --show-model` displays the internal representation of a " +"package (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:105 +msgid "Allow hyphen in new package names (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:106 +msgid "" +"`fpm new` now supports `--full` and `--bare` to specify level of " +"scaffolding (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:109 +msgid "Check out also these fpm plugins:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:111 +msgid "" +"[fpm-search](https://github.com/brocolis/fpm-search): Adds the `fpm " +"search` command for searching for registered fpm packages from the " +"command line." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:114 +msgid "" +"[fpm-man](https://github.com/urbanjost/fpm-man): Adds the `fpm man` " +"command for displaying man-style help pages about Fortran intrinsics and " +"other language features." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:118 +msgid "" +"At the time of writing, there are almost 200 projects now using fpm. If " +"you haven't tried fpm yet, please do! It has truly been a game-changing " +"tool for many of us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:122 +msgid "We have many ideas that we want to pursue, such as:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:124 +msgid "" +"First-class integration with other package managers such as Spack and " +"Conda" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:125 +msgid "First-class integration with build systems like CMake and Meson" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:126 +msgid "" +"Improving [fpm's package registry](https://github.com/fortran-lang/fpm-" +"registry), etc." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:128 +msgid "" +"We are always looking for new contributors. If any of these projects " +"interest you, please join us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:139 +msgid "" +"Though not technically a Fortran-lang project, " +"[LFortran](https://lfortran.org) has been growing close to the Fortran-" +"lang community and projects largely thanks to its creator and lead " +"developer [Ondřej Čertík](https://github.com/certik) also being one of " +"the founding members of Fortran-lang. LFortran has been developing " +"rapidly this year and was released as a [Minimum Viable Product " +"(MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-" +"mvp/) in September. LFortran currently parses all of Fortran 2018 and " +"compiles a significant subset of the language. 16 people have contributed" +" code so far, and many more have reported bugs or participated in " +"discussions. If you haven't tried LFortran yet, please do and let us know" +" how it can best improve for your use case. You can help speed up " +"LFortran's development by contributing code and/or documentation " +"directly, or by donating funds to the project via " +"[NumFOCUS](https://numfocus.org/project/lfortran)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:155 +msgid "" +"Follow LFortran on Twitter at " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:157 +msgid "fortran-lang.org, Discourse, and social media" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:159 +msgid "" +"A major addition to the Fortran website this year is the [Fortran Best " +"Practices mini-book](https://fortran-lang.org/learn/best_practices). This" +" is a port and an update to the well-known " +"[fortran90.org](https://www.fortran90.org) by [Ondřej " +"Čertík](https://github.com/certik). It provides a plethora of tips on how" +" to write simple and idiomatic Fortran for numerical tasks, and how to " +"avoid some common gotchas. Give it a read and let us know how it can be " +"improved." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:168 +msgid "" +"The [Fortran Discourse](https://fortran-lang.discourse.group) is as " +"active as ever, with new users joining daily. There are currently 338 " +"active users out of a total of 537 registered users. The Fortran " +"Discourse is a great place to ask for help with Fortran code, post a " +"Fortran job opening, and discuss anything Fortran-related." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:174 +msgid "" +"We also continue to release the monthly newsletter where we document the " +"progress month-by-month, as well as post about any notable events in the " +"Fortran world. This newsletter is a great way to stay up to date with " +"Fortran-lang. If you're also on Twitter, follow our account " +"[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news " +"and updates, as well as the new " +"[@FortranTip](https://twitter.com/FortranTip) account, managed by " +"[Beliavsky](https://github.com/beliavsky), which brings daily Fortran " +"tips to your Twitter feed." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:184 +msgid "" +"Finally, we meet on monthly video calls to discuss issues and topics " +"related to all Fortran-lang projects. The calls are advertised on Fortran" +" Discourse and are open to everyone. Don't hesitate to join the call to " +"meet other Fortran-lang participants and take part in different " +"discussions." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:189 +msgid "New projects" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:191 +msgid "" +"In addition to the flagship projects summarized above, a few new projects" +" started or were adopted by Fortran-lang this year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:194 +msgid "fftpack" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:196 +msgid "" +"[fftpack](https://github.com/fortran-lang/fftpack) is a classic " +"collection of subroutines to perform the Fast Fourier Transform on real " +"and complex data. It is based on the classic [FFTPACK library from " +"Netlib](http://www.netlib.org/fftpack/). fftpack was adopted by Fortran-" +"lang in an effort to provide:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:202 +msgid "A community-maintained FFT library" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:203 +msgid "Bug fixes to the existing codebase" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:204 +msgid "Modern interfaces on top of the existing API" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:205 +msgid "fpm package for easy use as a dependency." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:207 +msgid "test-drive" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:209 +msgid "" +"[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and" +" easy-to-use testing framework developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). It follows a simple functional style " +"to collect and run your tests in parallel and print a minimal and clean " +"diagnostic printout to the standard output. Test-drive is currently used" +" by both stdlib and fpm for their own test suites. Give test-drive a test" +" drive for your next Fortran project!" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:217 +msgid "fpm-docs" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:219 +msgid "" +"[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user " +"documentation website for fpm, developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). Its key aim is to provide community-" +"maintained documentation across four target audiences/use cases:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:225 +msgid "**Tutorials**: for learning how to use fpm for Fortran development" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:226 +msgid "**How-to guides**: recipes for specific and concrete problems" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:227 +msgid "" +"**Design documents**: resources that document the design of various " +"aspects of fpm" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:229 +msgid "**References**: specification documents of fpm components" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:237 +msgid "" +"As the fpm user docs are now hosted at [fpm.fortran-lang.org](https://fpm" +".fortran-lang.org), the API docs are now located at [fortran-" +"lang.github.io/fpm/](https://fortran-lang.github.io/fpm/)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:241 +msgid "Google Summer of Code 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:243 +msgid "" +"2021 has been the first year for Fortran-lang to participate in the " +"[Google Summer of Code](https://summerofcode.withgoogle.com/) program. " +"Together with NumFOCUS and LFortran, Fortran-lang had six students who " +"worked on a variety of projects:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:248 +msgid "" +"[Aman Godara](https://github.com/Aman-Godara) (Improving strings in " +"stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:249 +msgid "[Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:250 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables " +"in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:251 +msgid "[Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:252 +msgid "[Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:253 +msgid "" +"[Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST " +"generation in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:255 +msgid "" +"You can read in more detail about their projects " +"[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:258 +msgid "" +"A big thank you to all students, mentors, and administrators, for their " +"great work, and of course, to the Google Summer of Code program for " +"making possible for students to participate." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:262 +msgid "" +"We plan to apply for Google Summer of Code in 2022 as well. The program " +"is no longer limited to students and anybody 18 or older can apply to " +"work on an open source project and get paid for it. If you're interested " +"participating in the program in 2022 with Fortran-lang, don't hesitate to" +" contact us and we'll guide you toward applying." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:268 +msgid "Conferences and papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:270 +msgid "FortranCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:272 +msgid "" +"Like in 2020, the Fortran event of this year was [FortranCon " +"2021](https://tcevents.chem.uzh.ch/event/14/), the international Fortran " +"conference, held on September 23-24. The keynote speaker this year was " +"[Damian Rouson](https://github.com/rouson), the head of the [Computer " +"Languages and Systems Software " +"(CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/)" +" group at the Lawrence Berkeley National Lab. Fortran-lang had a " +"dedicated session (a Fortran-lang minisymposium) on the second day of the" +" conference, with the talks about specific Fortran-lang projects as well " +"as the Google Summer of Code student presentations. FortranCon was hosted" +" at the University of Zurich (UZH), and organized by [Tiziano " +"Müller](https://github.com/dev-zero) from UZH and [Alfio " +"Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. " +"You can watch all FortranCon 2021 talks " +"[here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:287 +msgid "PackagingCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:289 +msgid "" +"Another big event for Fortran-lang was [PackagingCon 2021](https" +"://packaging-con.org/), a conference dedicated to package management " +"software and its community of developers. [Sebastian " +"Ehlert](https://github.com/awvwgk) presented fpm--you can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:299 +msgid "Papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:301 +msgid "" +"This year two papers have been written about Fortran-lang projects. The " +"first paper documents the motivation and goals of Fortran-lang: \"Toward " +"Modern Fortran Tooling and a Thriving Developer Community\" by Milan " +"Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, Laurence " +"Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas " +"([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382))." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:314 +msgid "" +"If Fortran-lang has been helpful in your work and if you want to cite " +"this paper, here's the citation info:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:333 +msgid "" +"We have also submitted a paper draft to IEEE's [Computing in Science & " +"Engineering " +"(CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) " +"journal, titled \"The State of Fortran\" and led by [Laurence " +"Kedward](https://github.com/lkedward). For this paper, we have [publicly " +"invited on Discourse](https://fortran-lang.discourse.group/t/fortran-" +"lang-community-paper/1232) anybody in the Fortran-lang community to " +"participate. Once published, this will be another paper that you can " +"cite. Stay tuned for its publication." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:343 +msgid "Summary" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:345 +msgid "2021 is behind us as another productive year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:346 +msgid "" +"Fortran-lang flagship projects such as [stdlib](https://github.com" +"/fortran-lang/stdlib), [fpm](https://github.com/fortran-lang/fpm), " +"[fortran-lang.org](https://fortran-lang.org), and " +"[LFortran](https://lfortran.org) continue to grow and gain traction." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:351 +msgid "" +"New Fortran-lang projects include [fftpack](https://github.com/fortran-" +"lang/fftpack), [test-drive](https://github.com/fortran-lang/test-drive), " +"and [fpm-docs](https://github.com/fortran-lang/fpm-docs)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:355 +msgid "" +"Fortran-lang participated in the [Google Summer of " +"Code](https://summerofcode.withgoogle.com/) program for the first time, " +"and had 6 students working on projects across stdlib, fpm, and LFortran." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:359 +msgid "" +"We had several presentations of Fortran-lang projects at [FortranCon " +"2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)" +" and [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:362 +msgid "" +"New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and " +"another is in review." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:365 +msgid "Thanks" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:367 +msgid "" +"We thank all people who contributed to Fortran-lang projects and " +"discussions on GitHub, Fortran Discourse, Fortran-lang mailing list, " +"Twitter, and elsewhere. It wouldn't have been possible without you all." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:9 +msgid "" +"Happy New Year and welcome to the January 2022 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:20 +msgid "" +"[#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): " +"Newsletter draft for December 2021" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:22 +msgid "" +"[#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): " +"Updated CaNS item so that it shows the version" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:24 +msgid "" +"[#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): Add " +"MCST LCC C, C++ and Fortran compiler" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:26 +msgid "" +"[#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): Use " +"HEAD to reference default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:28 +msgid "" +"[#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): 2021 " +"review article draft" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:30 +msgid "" +"[#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): " +"Adding Fortran Error Handler to packages index" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:48 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:50 +msgid "" +"[#586](https://github.com/fortran-lang/stdlib/pull/586): Update of " +"stdlib_stats.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:52 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581): Add routines for" +" saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:54 +msgid "[#590](https://github.com/fortran-lang/stdlib/pull/590): Update changelog" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:56 +msgid "" +"[#588](https://github.com/fortran-lang/stdlib/pull/588): Error on no " +"tests in CTest" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:58 +msgid "" +"[#585](https://github.com/fortran-lang/stdlib/pull/585): " +"stdlib_selection: correction of typos and addition of some checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:60 +msgid "" +"[#591](https://github.com/fortran-lang/stdlib/pull/591): Fix compilation " +"errors with makefiles due to command-line variable assignments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:62 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273): Probability " +"Distribution and Statistical Functions -- Normal Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:64 +msgid "" +"[#584](https://github.com/fortran-lang/stdlib/pull/584): Replace the call" +" to sort by select in stdlib_stats_median" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:66 +msgid "" +"[#593](https://github.com/fortran-lang/stdlib/pull/593): Probability " +"Distribution and Statistical Functions -- Uniform Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:68 +msgid "" +"[#594](https://github.com/fortran-lang/stdlib/pull/594): Minor update to " +"makefile installation instructions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:70 +msgid "" +"[#596](https://github.com/fortran-lang/stdlib/pull/596): Rename " +"references to default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:72 +msgid "" +"[#600](https://github.com/fortran-lang/stdlib/pull/600): Fix iomsg " +"allocation in save_npy" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:74 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488): [stdlib_math] " +"add `is_close` routines." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:76 +msgid "" +"[#597](https://github.com/fortran-lang/stdlib/pull/597): Add getline to " +"read whole line from formatted unit" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498): [stdlib_math] " +"add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:80 +msgid "" +"[#603](https://github.com/fortran-lang/stdlib/pull/603): Implement " +"trueloc/falseloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:82 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573): Revised Hash " +"functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:84 +msgid "" +"[#609](https://github.com/fortran-lang/stdlib/pull/609): Consistent spec " +"titles" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:86 +msgid "" +"[#610](https://github.com/fortran-lang/stdlib/pull/610): Fixed tables in " +"stdlib_hash_procedures.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:88 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499): [stdlib_linalg] " +"matrix property checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:90 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:43 +msgid "" +"[#613](https://github.com/fortran-lang/stdlib/pull/613): Ignore hash " +"testing binaries and logs" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:95 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:52 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:46 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:60 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:78 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:66 +msgid "[#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): Hash maps" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:97 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): " +"[stdlib_math] Add function `diff`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:99 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:54 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:48 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:62 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:80 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:68 +msgid "" +"[#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): Add " +"get_argument, get_variable and set_variable" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:139 +msgid "" +"[#634](https://github.com/fortran-lang/fpm/pull/634): Better extraction " +"of the Fortran compiler from the MPI wrapper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:144 +msgid "" +"[#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): Replace " +"polymorphic assignment with move_alloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:146 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): allow " +"backfilling of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:160 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:138 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:119 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:131 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:149 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:133 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://fpm.fortran-lang.org/en/tutorial) to learn how to build " +"your package with fpm, and the [manifest reference](https://fpm.fortran-" +"lang.org/en/spec/manifest.html) to learn what are all the things that you" +" can specify in the fpm.toml file." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:180 +msgid "Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:181 +msgid "Add !fir.vector type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:182 +msgid "Add type conversion for `fir.boxchar`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:183 +msgid "Add !fir.alloca conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:184 +msgid "Add placeholder conversion pattern for disptach operations" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:185 +msgid "Add fir.select_case conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:186 +msgid "Add !fir.field type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:187 +msgid "Transform `IsPresentOpConversion` and `AbsentOpConversion`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:188 +msgid "Add type conversion for FIR heap type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:189 +msgid "Add type conversion for FIR integer kind" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:190 +msgid "Add !fir.len type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:191 +msgid "Transform `fir.emboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:192 +msgid "Add fir.select_type conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:193 +msgid "Remove extra return in SelectTypeOpConversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:194 +msgid "Transform `fir.unboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:195 +msgid "Add fir.global_len conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:196 +msgid "Add the FIR LLVMPointer Type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:197 +msgid "Add fir.cmpc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:198 +msgid "Add fir.gentypedesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:199 +msgid "Transform `fir.boxchar_len` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:200 +msgid "Add missing `HasParent` in `fir_DTEntryOp`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:201 +msgid "Add fir.string_lit conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:202 +msgid "Add conversion patterns for slice, shape, shapeshift and shift ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:203 +msgid "Add fir.box_tdesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:204 +msgid "!fir.tdesc type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:205 +msgid "Add fir.constc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:206 +msgid "Add fir.embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:207 +msgid "Notify conversion failure for Proc ops, types" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:208 +msgid "Add tests for mlir::ComplexType conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:209 +msgid "Add `fir.end` conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:210 +msgid "Transform `fir.field_index` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:211 +msgid "Add a factory class for creating Complex Ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:212 +msgid "Add fir.no_reassoc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:213 +msgid "Set !fir.len_param_index conversion to unimplemented" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:214 +msgid "Add base for runtime builder unittests" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:215 +msgid "Add fir transformational intrinsic builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:216 +msgid "Add assignment runtime API builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:217 +msgid "Add data flow optimization pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:218 +msgid "Add array value copy pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:219 +msgid "Add fir reduction builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:220 +msgid "Add fir numeric intrinsic runtime call builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:221 +msgid "Add fircg.ext_embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:222 +msgid "Add fir derived type runtime builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:223 +msgid "Add fir character builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:224 +msgid "Add fircg.ext_array_coor conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:225 +msgid "Upstream conversion of the XRebox Op" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:226 +msgid "" +"Convert fir.allocmem and fir.freemem operations to calls to malloc and " +"free, respectively" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:228 +msgid "Fix vector cshift runtime with non zero lower bounds" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:229 +msgid "Respect NO_STOP_MESSAGE=1 in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:230 +msgid "Runtime performance improvements to real formatted input" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:231 +msgid "Allow write after non advancing read in IO runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:232 +msgid "Fix reversed comparison in RESHAPE() runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:233 +msgid "Define & implement a lowering support API IsContiguous() in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:234 +msgid "Don't close stderr in runtime (fixes STOP output)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:235 +msgid "Return arrays in Transfer runtime with SIZE argument" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:236 +msgid "Fix INQUIRE(FILE=,NAME=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:237 +msgid "Add ragged array runtime functions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:238 +msgid "Allow exterior branch to outermost WHERE construct statement" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:239 +msgid "Fix ORDER= argument to RESHAPE" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:240 +msgid "Fix rounding edge case in F output editing" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:241 +msgid "Handle ENTRY names in IsPureProcedure() predicate" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:242 +msgid "Allow implicit procedure pointers to associate with explicit procedures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:243 +msgid "Fix a bug in INQUIRE(IOLENGTH=) output" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:244 +msgid "Remove default argument from function template specialization" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:245 +msgid "Check ArrayRef base for contiguity in IsSimplyContiguousHelper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:246 +msgid "Deal with negative character lengths in semantics" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:247 +msgid "Fix INQUIRE(PAD=) and (POSITION=) for predefined units" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:248 +msgid "Add a semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:249 +msgid "Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:250 +msgid "Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:251 +msgid "Fix printing of constc and parsing of #fir.real" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:252 +msgid "Predefine unit 0 connected to stderr" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:253 +msgid "Add -fno-automatic, refine IsSaved()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:254 +msgid "Correct the argument keyword for AIMAG(Z=...)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:255 +msgid "Inclusive language: remove instances of master" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:256 +msgid "Return true in IsSymplyContiguous for allocatables" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:257 +msgid "Fix usage & catch errors for MAX/MIN with keyword= arguments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:258 +msgid "Re-fold bounds expressions in DATA implied DO loops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:259 +msgid "Correct INQUIRE(POSITION= & PAD=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:260 +msgid "Rearrange prototype & code placement of IsCoarray()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:261 +msgid "Replace notifyMatchFailure with TODO hard failures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:262 +msgid "TargetRewrite: Rewrite fir.address_of(func)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:263 +msgid "Fix folding of EXPONENT() intrinsic function" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:264 +msgid "OPEN(RECL=) handling for sequential formatted I/O" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:265 +msgid "Avoid potential deadlock in CloseAll()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:271 +msgid "" +"Beginning of refactoring of ASR (Abstract Semantic Representation) into a" +" standalone library" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:272 +msgid "New intrinsics: mvbits, bge, bgt, ble, blt, ibits" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:273 +msgid "generic procedure resolution fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:274 +msgid "FreeBSD fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:275 +msgid "Implement `.xor.` (LFortran as well as GFortran extension)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:276 +msgid "Fixes to large integers (BigInt) handling" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:277 +msgid "Added support for `private`, `final` attributes in derived types/classes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:279 +msgid "" +"The following people contributed code in December 2021: Ondřej Čertík, " +"Gagandeep Singh, Harris Snyder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:286 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:251 +msgid "" +"fpm has a new documentation website hosted at [fpm.fortran-" +"lang.org](https://fpm.fortran-lang.org/). This website will provide user-" +"oriented tutorials and how-to guides, as well as developer-oriented " +"reference documents and specifications. We welcome all contributions to " +"the fpm documentation, including translations to other languages. Please " +"visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to " +"get started." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:294 +msgid "" +"We had our 21st Fortran Monthly call on December 14. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:297 +msgid "" +"We also wrote a review of the Fortran-lang projects in 2021. Read it " +"[here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-" +"review/)." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:312 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:275 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:291 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:266 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:388 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:494 +msgid "[fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:319 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:282 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:299 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:274 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:396 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:502 +msgid "[fortran-lang/test-drive](https://github.com/fortran-lang/test-drive)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:9 +msgid "" +"Welcome to the February 2022 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:19 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:19 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:33 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:21 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:21 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:19 +msgid "" +"[#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): Fix " +"time calculation in the PRs script" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:39 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276): Probability " +"Distribution and Statistical Functions -- Exponential Distribution Module" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:41 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605): [stdlib_math] " +"Add function `diff`" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:45 +msgid "" +"[#617](https://github.com/fortran-lang/stdlib/pull/617): Made format " +"constant public" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:47 +msgid "" +"[#622](https://github.com/fortran-lang/stdlib/pull/622): Fix Gauss " +"quadrature" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:92 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630): allow backfilling " +"of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:94 +msgid "" +"[#646](https://github.com/fortran-lang/fpm/pull/646): Respect user " +"provided main-files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:96 +msgid "" +"[#645](https://github.com/fortran-lang/fpm/pull/645): Update module " +"output directory command for flang-new/f18" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:98 +msgid "" +"[fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) [fpm-" +"docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) [fpm-" +"docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) [fpm-" +"docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) [fpm-" +"docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) [fpm-" +"docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): French " +"translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:105 +msgid "" +"[fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): Add " +"testing workflow for source examples" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:107 +msgid "" +"[fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): Update " +"Spanish translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:109 +msgid "" +"[fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): zh_CN: " +"Update Chinese translations" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:114 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): Ignore hidden" +" source files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:116 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:105 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:119 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:137 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:121 +msgid "" +"[#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): Enable " +"profiles in toml" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:118 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): Get user name" +" and email using got config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:120 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): Add note " +"about relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:130 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): " +"Dutch translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:132 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): " +"Chinese translation improvements" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:158 +msgid "Keep runtime function name in comment" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:159 +msgid "Add a conversion for !fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:160 +msgid "Add a new memory allocation rewrite pass." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:161 +msgid "Correct and reenable test that was removed by MLIR." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:162 +msgid "Fix overallocation by fir-to-llvm-ir pass" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:164 +msgid "Add some semantic checks for threadprivate and declare target directives" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:165 +msgid "Simplify RaggedArrayHeader and make it plain C struct" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:166 +msgid "Fix folding of ac-implied-do indices in structure constructors" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:167 +msgid "Avoid code duplication in mixed expressions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:168 +msgid "Add test with shape for allocmem and freemem" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:169 +msgid "Make the frontend driver error out when requesting multiple actions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:170 +msgid "Add semantics tests for co_reduce, co_min, and co_max" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:171 +msgid "Use GNUInstallDirs to support custom installation dirs." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:172 +msgid "Enable support for conversion of recursive record types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:173 +msgid "Separate temporary and user-specified object files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:174 +msgid "update to reflect MLIR LLVM::GEPOp changes" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:175 +msgid "Do not lose call in shape inquiry on function reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:176 +msgid "Fix the documentation on how to build flang" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:177 +msgid "Add tests for converting arrays and refs to arrays" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:178 +msgid "Make the \"flang\" wrapper script check the Bash version" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:179 +msgid "Fix handling of space between # and name in preprocessor stringification" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:180 +msgid "RESHAPE(PAD=) can be arbitrary array rank" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:181 +msgid "" +"Any type can appear in a structure constructor for an unlimited " +"polymorphic allocatable component" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:182 +msgid "Implement semantics for DEC STRUCTURE/RECORD" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:183 +msgid "Extension: initialization of LOGICAL with INTEGER & vice versa" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:184 +msgid "Allow initialization in blank COMMON" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:185 +msgid "Support extension intrinsic function variations on ABS" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:186 +msgid "Allow pointers to non-sequence types in sequence types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:187 +msgid "\"CFI\" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:188 +msgid "Legacy extension: non-character formats" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:189 +msgid "Signal runtime error on WRITE after ENDFILE" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:190 +msgid "Don't blank-fill remaining lines in internal output" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:191 +msgid "Accept ENTRY names in generic interfaces" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:192 +msgid "Support substring references in NAMELIST input" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:198 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:311 +msgid "**Compiling `stdlib` with `lfortran`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:200 +msgid "" +"[stdlib: Implement `AINT` intrinsic " +"Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:201 +msgid "" +"[Draft: Sprint Bug fixing to compile stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:203 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:317 +msgid "**Addition of ASR Optimization Passes**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:205 +msgid "" +"[Added pass for converting division to multiplication " +"operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:206 +msgid "" +"[Adding LLVM backend for flip " +"sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:208 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:323 +msgid "**`libasr`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:210 +msgid "" +"[Move more header files into " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:211 +msgid "" +"[Move exception.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:212 +msgid "" +"[Move string_utils.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:213 +msgid "" +"[Move location.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:214 +msgid "" +"[Move stacktrace.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:215 +msgid "" +"[Move colors.h and asr_scopes.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:216 +msgid "" +"[Move bwriter.h and modfile.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:217 +msgid "" +"[Move config.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:218 +msgid "" +"[CI: do not run parent cmake in libasr " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:219 +msgid "" +"[Split " +"serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:220 +msgid "" +"[Nullify in ASR, LLVM, scalar " +"types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:221 +msgid "" +"[Remove unused " +"SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:222 +msgid "" +"[Separate evaluators into LFortran and libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:223 +msgid "" +"[utils.h and parser.h split into lfortran/libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:224 +msgid "" +"[Expose rl_path from " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:225 +msgid "" +"[CI: build libasr in an isolated " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:226 +msgid "" +"[Use the libasr's CMakeLists in LFortran's " +"one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:227 +msgid "" +"[Refactored `libasr/pass` framework and some bug " +"fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:229 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:348 +msgid "**Miscellaneous**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:231 +msgid "" +"[fixes for windows compilation (defining NOMINMAX), installation-" +"instructions for Windows/Visual " +"Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:232 +msgid "" +"[Update " +"gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:233 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:234 +msgid "" +"[Abstracting out, visit_Program, visit_Subroutine, visit_Function, state " +"variables from " +"passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:235 +msgid "" +"[Draft: Add a test for " +"pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:236 +msgid "" +"[Fix order deps " +"ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:237 +msgid "" +"[link to static zlib to avoid runtime " +"dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:361 +msgid "**Contributors**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:364 +msgid "[Ondřej Čertík](https://gitlab.com/certik)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:242 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:363 +msgid "[Gagandeep Singh](https://gitlab.com/czgdp18071)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:243 +msgid "[Dominic Poerio](https://gitlab.com/dpoe)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:244 +msgid "[Tobias Loew](https://gitlab.com/tobias-loew)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:245 +msgid "[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:259 +msgid "" +"We had our 22st Fortran Monthly call on January 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:9 +msgid "" +"Welcome to the March edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:17 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:17 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:17 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:17 +msgid "Here's what's new in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:39 +msgid "" +"[#624](https://github.com/fortran-lang/stdlib/pull/624): [stdlib_math] " +"Minor update to `stdlib_math` module and document" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:44 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:58 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:76 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:64 +msgid "" +"[#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): Gamma " +"special function" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:86 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652): get user name and " +"email using git config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:88 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654): Ignore hidden " +"source files" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:90 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622): Cleanup the backend" +" output" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:92 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648): Add note about " +"relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:94 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): Dutch " +"translation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:96 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): Chinese " +"translation improvements" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:98 +msgid "" +"[fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): Update " +"plugin tutorial" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:103 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:117 +msgid "" +"[#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): add clean " +"command" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:113 +msgid "" +"[fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): " +"Add page about fpm logo" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:139 +msgid "Initial lowering for empty program" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:140 +msgid "Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:141 +msgid "Add lowering placeholders" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:142 +msgid "Add lowering for basic empty SUBROUTINE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:143 +msgid "Upstream partial lowering of EXIT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:144 +msgid "Lower basic STOP statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:145 +msgid "Lower PAUSE statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:146 +msgid "Add lowering for integer constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:147 +msgid "Lower integer constant code for STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:148 +msgid "Add fir.array_access op" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:149 +msgid "Add fir.array_amend operation definition" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:150 +msgid "Handle logical constant value for quiet in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:151 +msgid "Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:152 +msgid "Basic local variable lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:153 +msgid "Add lowering for ASCII character constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:154 +msgid "Handle character constant for error code in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:155 +msgid "Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:156 +msgid "Add missing CFI case for REAL and COMPLEX" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:157 +msgid "Add support for lowering the goto statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:158 +msgid "Add type conversion for !fir.box" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:159 +msgid "Add FIRInlinerInterface" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:160 +msgid "Lower simple RETURN statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:161 +msgid "" +"Upstream fix to allocmem codegen to deal with missing dimensions for " +"sequence of character types" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:162 +msgid "Lower basic function with scalar integer/logical return value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:163 +msgid "Enable scalar real type in lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:164 +msgid "Enable complex type in function lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:165 +msgid "Handle lowering of ranked array" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:166 +msgid "Lower simple scalar assignment" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:167 +msgid "Lower scalar negation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:168 +msgid "Lower basic binary operation for scalars" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:169 +msgid "Initial patch to lower a Fortran intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:170 +msgid "Lower real constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:171 +msgid "Lower complex constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:172 +msgid "Lower function and subroutine calls" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:173 +msgid "Handle allocatable dummy arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:174 +msgid "Lower allocatable assignment for scalar" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:175 +msgid "Simple array assignment lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:176 +msgid "Lower simple character return" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:177 +msgid "Lower Fortran intrinsic to a runtime call/llvm intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:178 +msgid "Lower integer comparison operation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:179 +msgid "Lower real comparison operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:180 +msgid "Lower logical comparison and logical operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:181 +msgid "Lower power operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:182 +msgid "Add complex operations lowering tests" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:183 +msgid "Lower basic IO statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:184 +msgid "Handle dynamic array lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:186 +msgid "Add support for `-emit-mlir`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:187 +msgid "Add support for `-emit-llvm`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:188 +msgid "Make `flang-new` always generate run-time type info" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:189 +msgid "Add support for `--target`/`--triple`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:191 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for atomic update " +"construct" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:192 +msgid "The device expression must evaluate to a non-negative integer value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:193 +msgid "" +"Remove clauses from OpenMP Dialect that are handled by the flang frontend" +" instead:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:194 +msgid "private, firstprivate, lastprivate, shared, default, copyin, copyprivate" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:196 +msgid "Implement a runtime routine to report fatal errors with source position" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:197 +msgid "Rename the runtime routine that reports a fatal user error" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:198 +msgid "runtime perf: larger I/O buffer growth increments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:199 +msgid "Add runtime interface for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:200 +msgid "Upstream runtime changes for inquiry intrinsics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:201 +msgid "Improve error message (initialized variable in pure subprogram)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:202 +msgid "Accept BOZ literals for some actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:203 +msgid "Accept sparse argument keyword names for MAX/MIN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:204 +msgid "Accept INDEX(..., BACK=array)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:205 +msgid "Fix OPEN/WRITE(SIGN='SUPPRESS')" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:206 +msgid "Handle FLUSH(unknown unit)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:207 +msgid "Allow explicit '+' in NAMELIST input subscripts" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:208 +msgid "Extension: skip over NAMELIST groups" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:209 +msgid "Add array operations documentation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:210 +msgid "Fix crash from USE-associated defined I/O subprograms" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:211 +msgid "Allow INQUIRE() on a child unit in user-defined I/O procedure" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:212 +msgid "Don't drop format string for external child I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:213 +msgid "Support DECIMAL='COMMA' mode in namelist I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:214 +msgid "Update tco tool pipline and add translation to LLVM IR" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:215 +msgid "Add MemoryAllocation pass to the pipeline" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:216 +msgid "Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:217 +msgid "Add a custom target for the \"flang\" wrapper script." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:218 +msgid "split character procedure arguments in target-rewrite pass" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:219 +msgid "Expand the semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:220 +msgid "Correct interpretation of RECL=" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:221 +msgid "Distinguish intrinsic from non-intrinsic modules" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:222 +msgid "" +"Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit " +"numbers" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:223 +msgid "Modify right modes for READ/WRITE vs OPEN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:224 +msgid "Add a semantics test for co_broadcast" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:225 +msgid "catch implicit interface incompatibility with global scope symbol" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:226 +msgid "Add an assert to guard against nullptr dereferencing" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:227 +msgid "Fix FlangOptimizerTests link on Solaris" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:228 +msgid "Handle \"type(foo) function f\" when foo is defined in f" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:229 +msgid "Refine pointer/target test for ASSOCIATED intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:230 +msgid "Allow mixed association of procedure pointers and targets" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:231 +msgid "Fix edge case in USE-associated generics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:232 +msgid "Fail at link time if derived type descriptors were not generated" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:233 +msgid "Allow for deferred-length character in EstablishDescriptor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:234 +msgid "Allow DATA initialization of derived types w/ allocatable components" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:235 +msgid "" +"Accept NULL(mold=x) as constant component value in constant structure " +"constructor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:236 +msgid "Ensure a characterized ENTRY in a PURE subprogram is also marked PURE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:237 +msgid "Accept structure constructor value for polymorphic component" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:238 +msgid "Remove deprecated parser/printer/verifier utilities" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:239 +msgid "Accept pointer assignment w/ remapping to function result" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:240 +msgid "Allow extension cases of EQUIVALENCE with optional warnings" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:241 +msgid "Handle CALL C_F_POINTER(without SHAPE=)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:242 +msgid "Make source location more accurate for actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:243 +msgid "Add Win32 to the list of supported triples" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:244 +msgid "Allow tabs as white space in formats" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:245 +msgid "Do not print format tabs" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:246 +msgid "Catch I/O of bad derived type at compile time" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:247 +msgid "Allow more concurrently open NEWUNIT= values, with recycling" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:253 +#, python-format +msgid "" +"LFortran is participating in GSoC, please see [GSoC 2022 Student " +"Instructions for " +"LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions)" +" for instructions how to apply" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:254 +msgid "19 Merge Requests merged" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:255 +msgid "New ASR optimizations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:256 +msgid "Addes support for fma (fused-multiply add) in LLVM" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:257 +msgid "Semantic improves to compile more of stdlib" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:263 +msgid "" +"Fortran-lang has been selected as a mentoring organization for Google " +"Summer of Code 2022! Thanks to everybody who helped prepare the " +"application. [GSoC](https://summerofcode.withgoogle.com/) is Google's " +"global, online program that allows newcomers to open-source to work on a " +"project and get paid for it. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. " +"Applications for contributors open **April 4** and close **April 19**. To" +" learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate as a contributor or a mentor, please let us know in this " +"thread and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:270 +msgid "" +"Fortran-lang community now maintains a modernized fork of the classic " +"library [minpack](https://github.com/fortran-lang/minpack). Give it a " +"try!" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:272 +msgid "" +"We had our 23rd Fortran Monthly call on February 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:275 +msgid "" +"US Fortran Standards Committee meeting #226 started on February 28. See " +"the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt)" +" and the submitted papers [here](https://j3-fortran.org/doc/meeting/226)." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:298 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:273 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:395 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:501 +msgid "[fortran-lang/minpack](https://github.com/fortran-lang/minpack)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:9 +msgid "" +"Welcome to the April edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:19 +msgid "" +"[#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): " +"Newsletter for March 2022" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:21 +msgid "" +"[#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): " +"Updated VS Code extensions" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:23 +msgid "" +"[#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): add " +"string array to learn" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:25 +msgid "" +"[#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): " +"Resolves typos #377" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:30 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:45 +msgid "" +"[#632](https://github.com/fortran-lang/stdlib/pull/632): doc: fix some " +"typos" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:47 +msgid "" +"[#629](https://github.com/fortran-lang/stdlib/pull/629): option to " +"disable testing by setting BUILD_TESTING to OFF" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:49 +msgid "" +"[#631](https://github.com/fortran-lang/stdlib/pull/631): Preparation for " +"0.2.0 release" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:51 +msgid "" +"[#637](https://github.com/fortran-lang/stdlib/pull/637): Only set Fortran" +" arguments for Fortran compiler" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:53 +msgid "" +"[#642](https://github.com/fortran-lang/stdlib/pull/642): Fix linking " +"issue with shared libraries" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:100 +msgid "" +"[#675](https://github.com/fortran-lang/fpm/pull/675): Fix for backtrace " +"error when file not found in: src/fpm_source_parsing.f90" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:102 +msgid "" +"[#677](https://github.com/fortran-lang/fpm/pull/677): Fix issue with " +"backend pretty output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:104 +msgid "" +"[#684](https://github.com/fortran-lang/fpm/pull/684): fix: remove remove " +"unnecessary space in fpm new cmd" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:106 +msgid "" +"[#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): " +"Update to v4 in usage example in README" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:111 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:131 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:119 +msgid "" +"[#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): fix: function" +" for getting executable path" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:113 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:133 +msgid "" +"[#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): Tree shaking " +"for modules" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:115 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:135 +msgid "" +"[#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): Add `library-" +"dir` to support `-Lpath`" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:151 +msgid "Lower IO open and close statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:152 +msgid "Lower basic IO file statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:153 +msgid "Lower inquire statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:154 +msgid "Handle module in lowering pass" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:155 +msgid "Lower more cases of assignments on allocatable variables" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:156 +msgid "Add lowering for host association" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:157 +msgid "Lower allocate and deallocate statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:158 +msgid "Lower sum intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:159 +msgid "Lower computed and assigned goto" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:160 +msgid "Lower associate construct" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:161 +msgid "Update ArrayValueCopy to support array_amend and array_access" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:162 +msgid "Lower more array character cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:163 +msgid "Lower basic derived types" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:164 +msgid "Lower where statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:165 +msgid "Lower general forall statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:166 +msgid "Lower pointer component in derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:167 +msgid "Lower of elemental calls in array expression" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:168 +msgid "Add tests for allocatable global" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:169 +msgid "Add support for linkonce_odr in FIR" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:170 +msgid "Lower elemental calls" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:171 +msgid "Lower ALL intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:172 +msgid "Lower common block" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:173 +msgid "Lower format statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:174 +msgid "Write a pass to annotate constant operands on FIR ops" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:175 +msgid "Lower ANY intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:176 +msgid "Add support for lowering the dot_product intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:177 +msgid "Add support for lowering the dim intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:178 +msgid "Add support for lowering of the ibits intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:179 +msgid "Lower more pointer assignments/disassociation cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:180 +msgid "Lower entry statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:181 +msgid "Lower alternate return" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:182 +msgid "Lower allocated intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:183 +msgid "" +"Add lowering for the following character related intrinsics: len, " +"len_trim, lge, lgt, lle and llt" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:184 +msgid "Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:185 +msgid "Lower random_[init|number|seed] intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:186 +msgid "Lower date_and_time and cpu_time intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:187 +msgid "Lower system_clock intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:188 +msgid "Add support for lowering of the ibset intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:189 +msgid "Lower transfer instrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:190 +msgid "Lower adjustl and adjustr intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:191 +msgid "Lower count intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:192 +msgid "Add lowering for the set_exponent intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:194 +msgid "Add support for -debug-dump-pft" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:195 +msgid "Add support for -S and implement -c/-emit-obj" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:196 +msgid "Add support for -mllvm" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:198 +msgid "[mlir]Generating enums in accordance with the guidelines" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:199 +msgid "Added basic connect to lower OpenMP constructs" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:200 +msgid "Support for dump OpenMP/OpenACC declarative directives PFT in module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:201 +msgid "Add OpenMP and OpenACC flags to bbc" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:202 +msgid "Allow data transfer stmt control list errors to be caught" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:203 +msgid "Extension: don't require commas between most edit descriptors in formats" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:204 +msgid "Fix result type of \"procedure(abs) :: f\"" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:205 +msgid "Catch READ/WRITE on direct-access file without REC=" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:206 +msgid "Honor RECL= in list-directed/namelist output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:207 +msgid "Accommodate module subprograms defined in the same module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:208 +msgid "Extend ProvenanceRange::Suffix() to handle crash case" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:209 +msgid "Remove bogus messages for actual/dummy procedure argument compatibility" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:210 +msgid "Support PDT type descriptors in codegen" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:211 +msgid "Handle optional TARGET associate in ASSOCIATED runtime" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:212 +msgid "Generate PDT runtime type info in the type definition scope" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:213 +msgid "Accommodate arrays with a zero-extent dimension in location folding" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:214 +msgid "Avoid crash case in provenance mapping" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:215 +msgid "Make per-argument intrinsic error messages more localized" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:216 +msgid "Use faster path for default formatted character input" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:217 +msgid "Runtime validation of SPREAD(DIM=dim) argument" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:218 +msgid "" +"Make uninitialized allocatable components explicitly NULL() in structure " +"constructors" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:219 +msgid "Fix module file missing USE for shadowed derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:220 +msgid "Add nonfatal message classes" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:221 +msgid "Distinguish usage and portability warning messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:222 +msgid "Use unix logical representation for fir.logical" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:223 +msgid "Fix extent computation in finalization" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:224 +msgid "Fix processing ModuleLikeUnit evaluationList" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:225 +msgid "Do not return true for pointer sub-object in IsPointerObject" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:226 +msgid "Fix DYLIB builds" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:227 +msgid "Improve runtime crash messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:228 +msgid "Add runtime support for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:229 +msgid "IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:230 +msgid "LBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:231 +msgid "Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:232 +msgid "fulfill -Msave/-fno-automatic in main programs too" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:233 +msgid "Relax fir.rebox verifier with characters" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:243 +msgid "" +"The \"State of Fortran\" paper by Kedward et al. has been accepted for " +"publication in the IEEE journal Computing in Science and Engineering " +"(CiSE). You can read the pre-print on " +"[arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early " +"Access on the [CiSE " +"website](https://ieeexplore.ieee.org/document/9736688)." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:245 +msgid "" +"The contributor application window for this year's [Google Summer of " +"Code](https://summerofcode.withgoogle.com) is approaching fast. It opens " +"**April 4** and closes **April 19**. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. To " +"learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate, please let us know and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:250 +msgid "" +"We had our 24th Fortran Monthly call on March 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:9 +msgid "" +"Welcome to the May edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:21 +msgid "" +"[#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): " +"Newsletter for April 2022" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:23 +msgid "" +"[#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): Add " +"librsb to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:25 +msgid "" +"[#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): Add " +"Elk to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:27 +msgid "" +"[#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): Add " +"pencil-code to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:29 +msgid "" +"[#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): Add " +"PROPACK to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:31 +msgid "" +"[#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): Add " +"feed link to HTML head element" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:35 +msgid "" +"[#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): fix " +"dependency of include files under `learn/building_programs` mini-book" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:40 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:26 +msgid "" +"[#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): " +"Add NUFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:42 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:28 +msgid "" +"[#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): " +"Add OpenFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:44 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:30 +msgid "" +"[#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): " +"Add 2DECOMP&FFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:46 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:32 +msgid "" +"[#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): " +"Add SLICOT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:48 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:34 +msgid "" +"[#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): " +"Add FATODE to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:63 +msgid "" +"[#646](https://github.com/fortran-lang/stdlib/pull/646): Export symbols " +"on Windows and set PIC flag for Unix" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:65 +msgid "" +"[#651](https://github.com/fortran-lang/stdlib/pull/651): Bugfix release " +"version 0.2.1" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:70 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): Add hint " +"for building error with make" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:72 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): fixed " +"32-bit integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:74 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:62 +msgid "" +"[#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): Feature: " +"loadtxt skiprows and max_rows" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:118 +msgid "" +"[#688](https://github.com/fortran-lang/fpm/pull/688): Small fix for " +"fpm_model" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:120 +msgid "[#665](https://github.com/fortran-lang/fpm/pull/665): add clean command" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:125 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): Fix show-" +"model option" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:127 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:129 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:117 +msgid "" +"[#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): fix: remove " +"extra space from help-test cmd" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:169 +msgid "Lower various intrinsics:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:170 +msgid "" +"character related intrinsics, array related intrinsics, index intrinsics," +" present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, " +"command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, " +"sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, " +"log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:171 +msgid "Add IO lowering test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:172 +msgid "Add more lowering tests for dummy arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:173 +msgid "Add equivalence lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:174 +msgid "Add array constructor lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:175 +msgid "Lower more array expressions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:176 +msgid "Lower statement function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:177 +msgid "Lower length on character storage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:178 +msgid "Lower select case statement" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:179 +msgid "Add OpenMP Conversion patterns" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:180 +msgid "Lower procedure designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:181 +msgid "Lower boxed procedure" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:182 +msgid "Flush and master constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:183 +msgid "Add lowering C interoperability test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:184 +msgid "Add misc lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:185 +msgid "Handle zero extent case in LBOUND" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:186 +msgid "Lower some coarray statements to their runtime function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:187 +msgid "Options to lower math intrinsics to relaxed, precise variants" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:188 +msgid "Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:189 +msgid "Added lowering support for atomic read and write constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:190 +msgid "fix LBOUND lowering with KIND and no DIM arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:191 +msgid "Keep fully qualified !fir.heap type for fir.freemem op" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:192 +msgid "Update the conversion code for fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:193 +msgid "Set lower bounds of array section fir.embox to one" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:194 +msgid "Fix fir.embox codegen with constant interior shape" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:195 +msgid "Do not fold fir.box_addr when it has a slice" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:197 +msgid "Make --version and -version consistent with clang" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:198 +msgid "Add support for -mmlir" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:199 +msgid "Make the plugin API independent of the driver internals" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:200 +msgid "Add support for generating executables" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:202 +msgid "Lowering critical construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:203 +msgid "Added assembly format for omp.wsloop and remove parseClauses" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:204 +msgid "Added lowering support for sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:205 +msgid "Added ReductionClauseInterface" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:206 +msgid "Added parallel sections translation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:207 +msgid "" +"Revert \"[Flang][OpenMP] Add semantic check for OpenMP Private, " +"Firstprivate and Lastprivate clauses.\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:208 +msgid "Added allocate clause translation for OpenMP block constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:209 +msgid "Support export/import OpenMP Threadprivate Flag" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:210 +msgid "Add implementation of privatisation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:211 +msgid "Add checks and tests for hint clause and fix empty hint" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:212 +msgid "OpenACC" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:213 +msgid "Lower enter data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:214 +msgid "Lower exit data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:215 +msgid "Lower init/shutdown directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:216 +msgid "Lower update directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:217 +msgid "Lower data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:218 +msgid "Lower wait directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:220 +msgid "Error recovery improvement in runtime (IOMSG=)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:221 +msgid "Initial UTF-8 support in runtime I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:222 +msgid "Ensure PointerDeallocate actually deallocate pointers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:223 +msgid "Add runtime API to catch unit number out of range" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:224 +msgid "Prefer process time over thread time in CPU_TIME" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:225 +msgid "Raise FP exceptions from runtime conversion to binary" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:226 +msgid "Preserve effect of positioning in record in non-advancing output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:227 +msgid "Don't skip input spaces when they are significant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:228 +msgid "Fix ENDFILE for formatted stream output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:229 +msgid "Don't emit empty lines for bad writes" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:230 +msgid "Ignore leading spaces even in BZ mode" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:231 +msgid "Fix edge-case FP input bugs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:232 +msgid "Enforce some limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:233 +msgid "Signal record read overrun when PAD='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:234 +msgid "Fix KIND=16 real/complex component I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:235 +msgid "Fix total MAXLOC/MINLOC for non-integer data" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:236 +msgid "Handle allocatable components when creating array temps" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:237 +msgid "[Parser] Add a node for individual sections in sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:238 +msgid "Add explanatory messages to grammar for language extensions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:239 +msgid "" +"Convert RUNTIME_CHECK to better error for user errors in " +"transformational.cpp" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:240 +msgid "Accept legacy aliases for intrinsic function names" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:241 +msgid "Expose error recovery cases in external I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:242 +msgid "Fix crash: ENTRY with generic interface of the same name" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:243 +msgid "Fold DBLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:244 +msgid "Single construct translation from PFT to FIR" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:245 +msgid "UBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:246 +msgid "Make not yet implemented messages more consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:247 +msgid "Fix LBOUND rewrite on descriptor components" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:248 +msgid "Ensure descriptor lower bounds are LBOUND compliant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:249 +msgid "Fix cycle-catcher in procedure characterization" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:250 +msgid "Fix bogus error from assignment to CLASS(*)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:251 +msgid "Mark C_ASSOCIATED specific procedures as PURE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:252 +msgid "Catch bad OPEN(STATUS=) cases" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:253 +msgid "Fold NEAREST() and its relatives" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:254 +msgid "Prevent undefined behavior in character MAXLOC folding" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:255 +msgid "Fix invalid overflow check" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:256 +msgid "Skip D when including D debug line" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:257 +msgid "Allow user to recover from bad edit descriptor with INTEGER" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:258 +msgid "Fold instantiated PDT character component length when needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:259 +msgid "Add one semantic check for allocatable/pointer argument association" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:260 +msgid "[cmake] Make CMake copy \"omp_lib.h\" into the build directory" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:261 +msgid "Handle dynamically optional argument in EXIT" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:262 +msgid "Fix semantic analysis for \"forall\" targeted by \"label\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:263 +msgid "Emit a portability warning for padding in COMMON" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:264 +msgid "Expand the num_images test coverage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:265 +msgid "Fold IBITS() intrinsic function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:266 +msgid "Error handling for out-of-range CASE values" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:267 +msgid "Respect left tab limit with Tn editing after ADVANCE='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:268 +msgid "Allow IMPLICIT NONE(EXTERNAL) with GenericDetails" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:269 +msgid "Do not ICE on out-of-range data statement designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:270 +msgid "Fix ICE for sqrt(0.0) evaluation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:271 +msgid "Fix float-number representation bug" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:272 +msgid "Fix intrinsic interface for DIMAG/DCONJG" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:273 +msgid "Improve appearance of message attachments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:274 +msgid "Fix combining cases of USE association & generic interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:275 +msgid "Defer all function result type processing" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:276 +msgid "Always encode multi-byte output in UTF-8" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:277 +msgid "Fix shape analysis of RESHAPE result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:278 +msgid "Use full result range for clock_gettime implementation of SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:279 +msgid "Correct interaction between generics and intrinsics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:280 +msgid "Make F0.1 output editing of zero edge case consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:281 +msgid "Inner INTRINSIC must not shadow host generic" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:282 +msgid "Local generics must not shadow host-associated generics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:283 +msgid "Fix TYPE/CLASS IS (T(...)) in SELECT TYPE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:284 +msgid "Allow modification of construct entities" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:285 +msgid "Defer NAMELIST group item name resolution" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:286 +msgid "Accept TYPE(intrinsic type) in declarations only for non-extension type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:287 +msgid "Finer control over error recovery with GetExpr()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:288 +msgid "Handle parameter-dependent types in PDT initializers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:289 +msgid "Upgrade short actual character arguments to errors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:290 +msgid "Allow POINTER attribute statement on procedure interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:291 +msgid "Accept KIND type parameter inquiries on RE, IM, etc." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:292 +msgid "Add & use a better visit()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:293 +msgid "Fix regression with recent work on intrinsic/generic interactions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:294 +msgid "Do not pass derived type by descriptor when not needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:295 +msgid "Fix LBOUND() folding for constant arrays" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:296 +msgid "Set LBOUND() folding for (x) expression as ones" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:297 +msgid "Semantics limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:298 +msgid "Do not ICE on recursive function definition in function result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:299 +msgid "Fold transformational bessels when host runtime has bessels" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:300 +msgid "Do not create arith.extui with same from/to type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:301 +msgid "Disambiguate F(X)=Y case where F is a function returning a pointer" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:302 +msgid "Avoid global name conflict when BIND(C,NAME=) is used" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:303 +msgid "Accept \"INFINITY\" as real input" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:304 +msgid "Add semantic checks for intrinsic function REDUCE()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:305 +msgid "Fix crash from PDT component init in module file" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:307 +msgid "" +"Call notes are recorded and publicly available " +"[here](https://docs.google.com/document/d/1Z2U5UAtJ-" +"Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit)." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:313 +msgid "" +"[Fixes for intrinsics while compiling `stdlib` using " +"`lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:314 +msgid "" +"[Draft: Stdlib " +"sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:315 +msgid "" +"[Draft: Sprint Compiling stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:319 +msgid "" +"[Implementing dead code elemination " +"optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:320 +msgid "" +"[Supporting duplication of Function/Subroutine " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:321 +msgid "" +"[Implementing loop unrolling optimization for fixed sized " +"loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:325 +msgid "" +"[AST->ASR: Remove " +"current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:326 +msgid "" +"[Added support keyword argument in class " +"procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:327 +msgid "" +"[Implementing ArrayBound node to replace `lbound`, `ubound` as function " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:328 +msgid "" +"[Implementing `Block` and " +"`BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:329 +msgid "" +"[Made scope private in SymbolTable struct and added interface methods to " +"modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:330 +msgid "" +"[Removing dead code which treats size intrinsic as " +"function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:331 +msgid "" +"[Implementing `ArraySize` node to replace function call to " +"`size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:332 +msgid "" +"[Fixing " +"adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:333 +msgid "" +"[Implementing " +"AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:334 +msgid "" +"[Move ASR.asdl into the src/libasr " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:335 +msgid "" +"[Fixing handling of return " +"type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:336 +msgid "" +"[Fill function in FunctionCall of len expr of Character type after " +"completing symbol " +"table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:337 +msgid "" +"[Fixing inline function calls pass to skip " +"intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:338 +msgid "" +"[Draft: ASR: Add all intrinsic operations into ASR " +"itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:341 +msgid "**WASM**" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:343 +msgid "[Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:344 +msgid "" +"[draft: Wasm Intial " +"Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:345 +msgid "" +"[draft: Compiling LFortran to " +"WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:350 +msgid "" +"[bind(c): Fix " +"call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:351 +msgid "" +"[bind(c): Add tests for i64, f32, " +"f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:352 +msgid "" +"[Fix a bug in a " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:353 +msgid "" +"[Add a test for calling Fortran from " +"C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:354 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:355 +msgid "" +"[CI: add git " +"safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:356 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:357 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:358 +msgid "" +"[Adding and Improving " +"tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:359 +msgid "" +"[Remove --target install and CMAKE_INSTALL_PREFIX from " +"build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:365 +msgid "[Ubaid Shaikh](https://gitlab.com/shaikhubaid769)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:371 +msgid "" +"We had our 25th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:374 +msgid "" +"Visual Studio Code's popular [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang" +".linter-gfortran) extension joined the [fortran-lang " +"GitHub](https://github.com/fortran-lang/vscode-fortran-support) " +"organization." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:376 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:482 +msgid "" +"Join and follow the [Fortran Discourse](https://fortran-" +"lang.discourse.group) to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:9 +msgid "" +"Welcome to the June edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:19 +msgid "" +"[#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): " +"Newsletter May 2022" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:21 +msgid "" +"[#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): Add " +"SeisSol to package index" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:49 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656): Add hint for " +"building error with make" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:51 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655): fixed 32-bit " +"integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:53 +msgid "" +"[#657](https://github.com/fortran-lang/stdlib/pull/657): Remove support " +"for manual make builds" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:58 +msgid "" +"[#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): Fix " +"erroneous gaussian quadrature points in gauss_legendre" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:60 +msgid "" +"[#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): Readme " +"update" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:108 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:110 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693): Fix show-model " +"option" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:115 +msgid "" +"[#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): Some cleanups" +" and minor fixes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:151 +msgid "Initial lowering of the Fortran Do loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:152 +msgid "Lower Unstructured do loops" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:154 +msgid "Define the default frontend driver triple" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:155 +msgid "Add support for consuming LLVM IR/BC files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:156 +msgid "Add support for -save-temps" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:157 +msgid "Switch to the MLIR coding style in the driver" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:158 +msgid "Fix driver method names overridden by the plugins" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:159 +msgid "Support parsing response files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:160 +msgid "Make driver accept -module-dir" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:161 +msgid "Add support for generating executables on MacOSX/Darwin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:163 +msgid "Add lowering stubs for OpenMP/OpenACC declarative constructs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:164 +msgid "Added tests for taskwait and taskyield translation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:165 +msgid "Restrict types for omp.parallel args" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:166 +msgid "Add omp.cancel and omp.cancellationpoint." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:167 +msgid "Initial lowering of the OpenMP worksharing loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:168 +msgid "Lowering for task construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:169 +msgid "Support lowering to MLIR for ordered clause" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:170 +msgid "Support for Collapse" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:171 +msgid "Upstream the lowering of the parallel do combined construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:172 +msgid "Fix the types of worksharing-loop variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:173 +msgid "Change the OpenMP atomic read/write test cases" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:175 +msgid "Correct emission & reading of unterminated final records" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:176 +msgid "Support B/O/Z editing of CHARACTER" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:177 +msgid "Use 1-based dim in transformational runtime error msg" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:178 +msgid "Change \"unsupported\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:179 +msgid "Fix input of NAN(...) on non-fast path" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:180 +msgid "Don't pad CHARACTER input at end of record unless PAD='YES'" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:181 +msgid "Enforce restrictions on unlimited format repetition" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:182 +msgid "(G0) for CHARACTER means (A), not (A0)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:183 +msgid "BACKSPACE after non-advancing I/O" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:184 +msgid "Use proper prototypes in Fortran_main. NFCI" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:185 +msgid "Clean up asynchronous I/O APIs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:186 +msgid "INQUIRE(UNIT=666,NUMBER=n) must set n=666" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:187 +msgid "Handle BACKSPACE after reading past EOF" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:188 +msgid "Fix MAXLOC/MINLOC when MASK is scalar .FALSE." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:189 +msgid "Fix UBOUND() constant folding for parentheses expr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:190 +msgid "Support FINDLOC/MAXLOC/MINLOC with scalar mask" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:191 +msgid "Handle common block with different sizes in same file" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:192 +msgid "Add one semantic check for implicit interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:193 +msgid "Fix semantics check for RETURN statement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:194 +msgid "Fix ICE for passing a label for non alternate return arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:195 +msgid "Add ExternalNameConversionPass to pass pipeline" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:196 +msgid "Fix AllocaOp/AllocMemOp type conversion" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:197 +msgid "" +"Support external procedure passed as actual argument with implicit " +"character type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:198 +msgid "Fix internal error with DATA-statement style initializers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:199 +msgid "Upstream support for POINTER assignment in FORALL" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:200 +msgid "Enforce a program not including more than one main program" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:201 +msgid "Retain binding label of entry subprograms" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:202 +msgid "Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:203 +msgid "Fold intrinsic functions SPACING() and RRSPACING()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:204 +msgid "Operands of SIGN() need not have same kind" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:205 +msgid "Correct folding of SPREAD() for higher ranks" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:206 +msgid "Refine handling of short character actual arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:207 +msgid "Ensure that structure constructors fold parameter references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:208 +msgid "" +"Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER " +"functions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:209 +msgid "Allow PDTs with LEN parameters in REDUCE()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:210 +msgid "Allow NULL() actual argument for optional dummy procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:211 +msgid "Allow implicit declaration of DATA objects in inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:212 +msgid "Refine error checking in specification expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:213 +msgid "Reverse a reversed type compatibility check" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:214 +msgid "Accept POINTER followed by INTERFACE" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:215 +msgid "Allow ENTRY function result symbol usage before the ENTRY" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:216 +msgid "Fold real-valued DIM(), MODULO() and MOD()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:217 +msgid "Enforce limit on rank + corank" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:218 +msgid "" +"Allow local variables and function result inquiries in specification " +"expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:219 +msgid "Change \"bad kind\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:220 +msgid "Fold complex component references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:221 +msgid "Fix check for assumed-size arguments to SHAPE() & al." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:222 +msgid "" +"Fix a performance problem with lowering of forall loops and creating too " +"many temporaries" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:223 +msgid "Warn for the limit on name length" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:224 +msgid "Install Fortran_main library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:225 +msgid "test conforming & non-conforming lcobound" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:226 +msgid "Fix use-associated false-positive error" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:227 +msgid "Fix character length calculation for Unicode component" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:228 +msgid "Allow global scope names that clash with intrinsic modules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:229 +msgid "Ignore BIND(C) binding name conflicts of inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:230 +msgid "Allow more forward references to ENTRY names" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:231 +msgid "Extension: Accept Hollerith actual arguments as if they were BOZ" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:232 +msgid "Alternate entry points with unused arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:233 +msgid "Fix crash in semantics after PDT instantiation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:238 +msgid "Gagandeep Singh (106):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:239 +msgid "Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:240 +msgid "Added test for kwargs in class procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:241 +msgid "Added support for kwargs in class procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:242 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:247 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:253 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:258 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:267 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:271 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:273 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:276 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:281 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:286 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:291 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:293 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:298 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:301 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:303 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:306 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:311 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:315 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:321 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:335 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:338 +msgid "Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:243 +msgid "Added support for i32 and i64 in repeat" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:244 +msgid "Added mergechar in merge interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:245 +msgid "Added is_iostat_eor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:246 +msgid "Removed compulsory evaluation of ishft" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:248 +msgid "" +"Use intrinsic type checking in assignment only when operator overloading " +"fails" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:249 +msgid "Perform casting in Compare only when overloaded is not available" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:250 +msgid "Set dest_type and source_type even though casting doesn't happen" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:251 +msgid "Use kind_value to generate type in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:252 +msgid "Added test for verifying SemanticError in case of non-constant kind input" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:254 +msgid "Add AssociateBlock and Block in serialization.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:255 +msgid "Include associate_06 in the integration_tests/CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:256 +msgid "Take into account output kind in LLVM's ArraySize visitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:257 +msgid "Added test for different output kinds in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:259 +msgid "Import procedures for overloaded operators as well" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:260 +msgid "Fixed tests for compiling correctly with gfortran" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:261 +msgid "Mangle name before importing procedures under generic procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:262 +msgid "Merged master into sprint_6" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:263 +msgid "Avoid manual imports while using overloaded symbols" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:264 +msgid "Remove symbol from to_be_imported_later" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:265 +msgid "" +"Added support for keyword arguments in generic procedures and fix total " +"arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:266 +msgid "Added test for generic procedures with keyword arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:268 +msgid "Added intrinsics: congjz, dotproduct and updated: merge" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:269 +msgid "Added matmul, transpose as ASR nodes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:270 +msgid "Added tests for matmul and transpose" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:272 +msgid "Added merge, dotproduct procedures for complex type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:274 +msgid "Add support for source kwarg in allocate" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:275 +msgid "Updated test for verifying source argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:277 +msgid "" +"Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in " +"comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:278 +msgid "Added shiftl, shiftr and count" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:279 +msgid "Added more implementations for abs, mod" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:280 +msgid "Added adjustr, lgt, llt, lle, lge for string type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:282 +msgid "Registered ieee_is_nan in comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:283 +msgid "Added support for pack intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:284 +msgid "Added support for transfer intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:285 +msgid "Use modern Fortran syntax for array constants" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:287 +msgid "ArrayTransfer -> Transfer rename" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:288 +msgid "Added generation code for expression replacer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:289 +msgid "Added ReplaceArgVisitor and generalised handle_return_type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:290 +msgid "Added tests for verifying arg replacer in return types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:292 +msgid "Added cmplx via ComplexConstructor node" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:294 +msgid "Import via use inside Function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:295 +msgid "Added support for matching Derived/ClassType" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:296 +msgid "Added support for falling back to intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:297 +msgid "Added to test verify importing procedures inside function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:299 +msgid "Added support for passing kind parameter to floor intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:300 +msgid "" +"Use CPtr for variables declared with type(c_ptr) 2. Set " +"Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in " +"extract_dimensions_from_ttype" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:302 +msgid "Added LLVM support for CLoc, CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:304 +msgid "Added integration test for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:305 +msgid "Added support for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:307 +msgid "Added error checking for presence of shape argument in c_f_pointer call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:308 +msgid "Fixed ArrayConstant type and raise error is shape is not rank 1" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:310 +msgid "Implemented c_f_pointer for non-array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:312 +msgid "Added test with pointer array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:313 +msgid "Shifted type generation to a function in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:314 +msgid "Corrected llvm::Type* for array pointer variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:316 +msgid "" +"Fixed ArrayBound for array pointers 2. Shifted argument type generation " +"to a function and use recursion for Pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:317 +msgid "Added support for printing Pointer type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:318 +msgid "" +"Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return " +"ArrayBound instead of a function call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:319 +msgid "Use element type in ArrayRef instead of pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:320 +msgid "Syntax improvement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:322 +msgid "Removed warnings" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:323 +msgid "Adjust ArrayBound for ArrayConstant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:324 +msgid "Corrected arrays_13 by making iv, rv as target" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:325 +msgid "Stronger verification checks for CFPointer creation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:326 +msgid "Support for array inputs in CFPointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:327 +msgid "Improved bindc2 for array inputs in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:328 +msgid "" +"Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved " +"CFPointer in LLVM backend to not interfere with already stored array in " +"array pointer variables 3. Improved bindc2.f90 and made it robust to " +"cover more cases. 4. Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:329 +msgid "Fixed unused variable warnings in llvm_utils.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:330 +msgid "Use abstract methods in CFPointer for accessing array descriptor data" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:331 +msgid "Added test for ArrayRef in c_loc" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:332 +msgid "Minor update in bindc2 and bindc3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:333 +msgid "Fixed Complex case in duplicate type and intialise type at declaration" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:334 +msgid "Added support ArrayRef in CLoc in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:336 +msgid "" +"Added support for CPtr in arguments and fixed llvm::Type for intent(out) " +"for CPtr 2. Added support for constant arrays as shape in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:337 +msgid "Updated bindc4 for verifying constant arrays in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:340 +msgid "Naman Gera (1):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:341 +msgid "Update the C runtime library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:343 +msgid "Ondřej Čertík (136):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:344 +msgid "AST->ASR: Remove current_body" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:345 +msgid "Fix a bug in a test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:346 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:351 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:353 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:356 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:360 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:362 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:365 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:374 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:377 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:407 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:410 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:428 +msgid "Update tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:347 +msgid "bind(c): Add tests for i64, f32, f64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:348 +msgid "Update modules_18b.f90 to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:349 +msgid "Add tests for the other types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:350 +msgid "Comment out a non-working case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:352 +msgid "bind(c): Fix call_fortran_i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:354 +msgid "bind(c): Add a test for i32 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:355 +msgid "LLVM: implement value arguments in bind(c) procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:357 +msgid "Make modules_18b.f90 compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:358 +msgid "bind(c): test i64, f32, f64 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:359 +msgid "Update modules_18b to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:361 +msgid "ASR: Bring updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:363 +msgid "ASR: Updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:364 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:427 +msgid "Update the rest of the code to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:366 +msgid "C++ backend: implement ComplexConstructor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:367 +msgid "Add the simplest test for submodules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:368 +msgid "Add Logical to nested_vars" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:369 +msgid "Workaround a cmake bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:370 +msgid "Add a test for bind(c) with pointers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:371 +msgid "Rework the AST->ASR handling of floor()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:372 +msgid "Implement is_intrinsic_symbol()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:373 +msgid "Refactor floor() into lfortran_intrinsic_math3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:375 +msgid "Add a test case for imported derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:376 +msgid "Add value to all expr nodes except Constant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:378 +msgid "Implement expr_type() using ExprTypeVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:379 +msgid "Implement expr_value() using ExprValueVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:380 +msgid "iso_c_binding: add the c_loc() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:381 +msgid "Allow derived types as return values" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:382 +msgid "ASR: Represent c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:383 +msgid "Add ASR test for c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:385 +msgid "ASR: Add string conversion for derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:386 +msgid "Add a CPtr() type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:387 +msgid "Make c_loc() return CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:388 +msgid "LLVM: handle CPtr in convert_args()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:389 +msgid "LLVM: Comment out visit_CFPointer (WIP)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:390 +msgid "CI: pin mkdocs-material and mkdocs versions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:391 +msgid "Fix spelling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:393 +msgid "Shorten the help for --show-wat to fit 80 columns" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:394 +msgid "Git ignore wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:395 +msgid "Move emit_wat out of LLVM ifdef" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:396 +msgid "Generate wasm_visitor.h in ci/build.xsh" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:397 +msgid "Enable WAT tests in run_tests.py" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:398 +msgid "Add a test for WASM" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:399 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:444 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:447 +msgid "Update reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:400 +msgid "Implement FortranEvaluator::get_wasm()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:401 +msgid "Use asr_to_wasm_bytes_stream() in asr_to_wasm" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:402 +msgid "WASM: Add 64 bit BinOp operations" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:403 +msgid "WASM: handle i64 arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:404 +msgid "WASM: Add a test for i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:405 +msgid "Move the wasm_instructions_visitor.py to libasr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:406 +msgid "Update ASR from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:408 +msgid "Bring more ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:409 +msgid "Bring in name mangling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:411 +msgid "Add a test for passing through pointers via C" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:412 +msgid "LLVM: implement debug ASR printing" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:413 +msgid "LLVM: Use `deftype` to implement interfaces" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:414 +msgid "LLVM: Pass type(c_ptr) by value properly" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:415 +msgid "Pass \"n\" by reference for now" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:416 +msgid "Pass arguments by value for bind(c)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:417 +msgid "Only do the load if it is a pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:418 +msgid "LLVM: Use an ASR condition instead of LLVM one" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:419 +msgid "lfortran_intrinsic_string: depend iso_fortran_env" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:420 +msgid "Enable bindc_01 LLVM test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:421 +msgid "Add a test for pointer argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:422 +msgid "Add suffixes 1/2" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:423 +msgid "Add a callback2b test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:424 +msgid "Add a test for callback1b()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:425 +msgid "Get value to reference argument working" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:426 +msgid "Port ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:429 +msgid "ASR sync with LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:431 +msgid "Tapasweni Pathak (9):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:432 +msgid "Add markdown sample for intrinsic:math:asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:433 +msgid "Add doxygen docstring in lfortran intrinsic runtime asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:434 +msgid "Add comments for interface asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:435 +msgid "Add doxygen comment for lfortran_sasin_api" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:436 +msgid "Enhance presentation of information" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:437 +msgid "use retval for return values variable" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:438 +msgid "delete fortran doxygen comments docs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:439 +msgid "mkdocs: LFortran Intrinsics: asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:440 +msgid "add: mkdocs: code syntax highlighting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:442 +msgid "Ubaid (24):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:443 +msgid "Improve ceiling() test case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:445 +msgid "Specifying constants as double precision" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:446 +msgid "Update error condition check as suggested" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:448 +msgid "Code formatting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:449 +msgid "Add and improve namespace ending comments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:450 +msgid "Add wasm_instructions list" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:451 +msgid "Comment out few instructions that have temporary variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:452 +msgid "Add wasm_instructions_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:453 +msgid "" +"Add namespace related info and pass code as function parameter in " +"wasm_insts_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:454 +msgid "Add command in build0.sh to generate wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:455 +msgid "Add utility struct and functions defined in wasm_utils" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:456 +msgid "Add wasm_to_wat converter" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:457 +msgid "Include wasm_to_wat and wasm_utils in CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:458 +msgid "Define vector.resize()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:459 +msgid "Add --show-wat flag and emit_wat() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:460 +msgid "Declare and define get_wat() in fortran_evaluator" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:461 +msgid "" +"Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to" +" memory" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:462 +msgid "Fix warning by adding U and add comment" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:463 +msgid "Fix missing parameters bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:464 +msgid "Switch off WAT_DEBUG macro" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:465 +msgid "Remove debugging cout statements" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:466 +msgid "Move load_file() to top" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:472 +msgid "" +"The Fortran-lang Google Summer of Code 2022 program began on May 23. We " +"welcome five contributors: Arteev Raina, Ashirwad Mishra, Henil Shalin " +"Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. They will be working " +"on exciting projects from fpm and the Fortran website to improving the " +"LFortran compiler. Read more about their projects " +"[here](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang)." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:478 +msgid "We had our 26th Fortran Monthly call on May 16. Watch the recording below:" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:503 +msgid "" +"[fortran-lang/vscode-fortran-support](https://github.com/fortran-lang" +"/vscode-fortran-support)" +msgstr "" + diff --git a/locale/de/LC_MESSAGES/packages.po b/locale/de/LC_MESSAGES/packages.po new file mode 100644 index 000000000..12e54eac4 --- /dev/null +++ b/locale/de/LC_MESSAGES/packages.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/packages.rst:8 +msgid "Packages - The Fortran Programming Language" +msgstr "" + +#: ../../source/packages.rst:13 +msgid "Fortran Packages" +msgstr "" + +#: ../../source/packages.rst:17 ../../source/packages/data-types.rst:7 +#: ../../source/packages/examples.rst:7 ../../source/packages/graphics.rst:7 +#: ../../source/packages/interfaces.rst:7 ../../source/packages/io.rst:7 +#: ../../source/packages/libraries.rst:7 ../../source/packages/numerical.rst:7 +#: ../../source/packages/programming.rst:7 +#: ../../source/packages/scientific.rst:7 ../../source/packages/strings.rst:7 +msgid "A rich ecosystem of high-performance code" +msgstr "" + +#: ../../source/packages.rst:22 +msgid "Find a Package" +msgstr "" + +#: ../../source/packages.rst:37 +msgid "Package index" +msgstr "" + +#: ../../source/packages.rst:41 +msgid "" +"The fortran-lang package index is community-maintained and lists open " +"source Fortran-related projects. This includes large-scale scientific " +"applications, function libraries, Fortran interfaces, and developer " +"tools. |br| See `here `_ for how to get your project listed. " +"|br| Use the box above to search the package index by keyword, package " +"name, or author username." +msgstr "" + +#: ../../source/packages.rst:54 +msgid "Featured topics" +msgstr "" + +#: ../../source/packages.rst:64 +msgid "Browse Packages by Category" +msgstr "" + +#: ../../source/packages.rst:69 +msgid "`Data types and containers `_" +msgstr "" + +#: ../../source/packages.rst:71 ../../source/packages/data-types.rst:17 +msgid "Libraries for advanced data types and container classes" +msgstr "" + +#: ../../source/packages.rst:74 +msgid "`Interface libraries `_" +msgstr "" + +#: ../../source/packages.rst:76 ../../source/packages/interfaces.rst:17 +msgid "Libraries that interface with other systems, languages, or devices" +msgstr "" + +#: ../../source/packages.rst:79 +msgid "`Libraries `_" +msgstr "" + +#: ../../source/packages.rst:81 ../../source/packages/libraries.rst:18 +msgid "Fortran libraries for general programming tasks" +msgstr "" + +#: ../../source/packages.rst:84 +msgid "`Input, output and parsing `_" +msgstr "" + +#: ../../source/packages.rst:86 ../../source/packages/io.rst:17 +#: ../../source/packages/numerical.rst:17 +msgid "Libraries for reading, writing and parsing files and inputs" +msgstr "" + +#: ../../source/packages.rst:89 +msgid "`Graphics, plotting and user interfaces `_" +msgstr "" + +#: ../../source/packages.rst:91 ../../source/packages/graphics.rst:17 +msgid "" +"Libraries for plotting data, handling images and generating user " +"interfaces" +msgstr "" + +#: ../../source/packages.rst:94 +msgid "`Examples and templates `_" +msgstr "" + +#: ../../source/packages.rst:96 ../../source/packages/examples.rst:18 +msgid "Demonstration codes and templates for Fortran" +msgstr "" + +#: ../../source/packages.rst:99 +msgid "`Numerical projects `_" +msgstr "" + +#: ../../source/packages.rst:101 +msgid "Fortran libraries for linear algebra, optimization, root-finding etc." +msgstr "" + +#: ../../source/packages.rst:104 +msgid "`Programming utilities `_" +msgstr "" + +#: ../../source/packages.rst:106 ../../source/packages/programming.rst:17 +msgid "Error handling, logging, documentation and testing" +msgstr "" + +#: ../../source/packages.rst:109 +msgid "`Characters and strings `_" +msgstr "" + +#: ../../source/packages.rst:111 ../../source/packages/strings.rst:17 +msgid "Libraries for manipulating characters and strings" +msgstr "" + +#: ../../source/packages.rst:114 +msgid "`Scientific Codes `_" +msgstr "" + +#: ../../source/packages.rst:116 ../../source/packages/scientific.rst:18 +msgid "" +"Applications and libraries for applied mathematical and scientific " +"problems" +msgstr "" + +#: ../../source/packages/data-types.rst:3 ../../source/packages/examples.rst:3 +#: ../../source/packages/graphics.rst:3 ../../source/packages/interfaces.rst:3 +#: ../../source/packages/io.rst:3 ../../source/packages/libraries.rst:3 +#: ../../source/packages/numerical.rst:3 +#: ../../source/packages/programming.rst:3 +#: ../../source/packages/scientific.rst:3 ../../source/packages/strings.rst:3 +msgid "Featured Open Source Projects" +msgstr "" + +#: ../../source/packages/data-types.rst:9 ../../source/packages/examples.rst:9 +#: ../../source/packages/graphics.rst:9 ../../source/packages/interfaces.rst:9 +#: ../../source/packages/io.rst:9 ../../source/packages/libraries.rst:9 +#: ../../source/packages/numerical.rst:9 +#: ../../source/packages/programming.rst:9 +#: ../../source/packages/scientific.rst:9 ../../source/packages/strings.rst:9 +msgid "license" +msgstr "" + +#: ../../source/packages/data-types.rst:10 +#: ../../source/packages/examples.rst:10 ../../source/packages/graphics.rst:10 +#: ../../source/packages/interfaces.rst:10 ../../source/packages/io.rst:10 +#: ../../source/packages/libraries.rst:10 +#: ../../source/packages/numerical.rst:10 +#: ../../source/packages/programming.rst:10 +#: ../../source/packages/scientific.rst:10 ../../source/packages/strings.rst:10 +msgid "stars" +msgstr "" + +#: ../../source/packages/data-types.rst:11 +#: ../../source/packages/examples.rst:11 ../../source/packages/graphics.rst:11 +#: ../../source/packages/interfaces.rst:11 ../../source/packages/io.rst:11 +#: ../../source/packages/libraries.rst:11 +#: ../../source/packages/numerical.rst:11 +#: ../../source/packages/programming.rst:11 +#: ../../source/packages/scientific.rst:11 ../../source/packages/strings.rst:11 +msgid "forks" +msgstr "" + +#: ../../source/packages/data-types.rst:12 +#: ../../source/packages/examples.rst:12 ../../source/packages/graphics.rst:12 +#: ../../source/packages/interfaces.rst:12 ../../source/packages/io.rst:12 +#: ../../source/packages/libraries.rst:12 +#: ../../source/packages/numerical.rst:12 +#: ../../source/packages/programming.rst:12 +#: ../../source/packages/scientific.rst:12 ../../source/packages/strings.rst:12 +msgid "lastcommit" +msgstr "" + +#: ../../source/packages/data-types.rst:13 +#: ../../source/packages/examples.rst:13 ../../source/packages/graphics.rst:13 +#: ../../source/packages/interfaces.rst:13 ../../source/packages/io.rst:13 +#: ../../source/packages/libraries.rst:13 +#: ../../source/packages/numerical.rst:13 +#: ../../source/packages/programming.rst:13 +#: ../../source/packages/scientific.rst:13 ../../source/packages/strings.rst:13 +msgid "issues" +msgstr "" + +#: ../../source/packages/data-types.rst:14 +#: ../../source/packages/examples.rst:14 ../../source/packages/graphics.rst:14 +#: ../../source/packages/interfaces.rst:14 ../../source/packages/io.rst:14 +#: ../../source/packages/libraries.rst:14 +#: ../../source/packages/numerical.rst:14 +#: ../../source/packages/programming.rst:14 +#: ../../source/packages/scientific.rst:14 ../../source/packages/strings.rst:14 +msgid "release" +msgstr "" + diff --git a/locale/de/LC_MESSAGES/sphinx.po b/locale/de/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000..2d0fb74fa --- /dev/null +++ b/locale/de/LC_MESSAGES/sphinx.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/archives.html:3 +msgid "Archives" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/authors.html:2 +msgid "Authors" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/categories.html:3 +msgid "Categories" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/collection.html:47 +msgid "Read more ..." +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/languages.html:3 +msgid "Languages" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/locations.html:3 +msgid "Locations" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:5 +msgid "Update" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:12 +msgid "Author" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:24 +msgid "Location" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:35 +msgid "Language" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:46 +msgid "Category" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:57 +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/tagcloud.html:2 +msgid "Tags" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:60 +msgid "Tag" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:5 +msgid "Previous" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:15 +msgid "Next" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/recentposts.html:3 +msgid "Recent Posts" +msgstr "" + +#: ../../source/_templates/inpage_toc.html:25 +msgid "On this page" +msgstr "" + diff --git a/locale/es/LC_MESSAGES/community.po b/locale/es/LC_MESSAGES/community.po new file mode 100644 index 000000000..2168602ec --- /dev/null +++ b/locale/es/LC_MESSAGES/community.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/community.rst:17 +msgid "Community - The Fortran Programming Language" +msgstr "" + +#: ../../source/community.rst:21 +msgid "Fortran-lang Community" +msgstr "" + +#: ../../source/community.rst:25 +msgid "Collaboration for the advancement of Fortran" +msgstr "" + +#: ../../source/community.rst:30 +msgid "Fortran-lang Community Projects" +msgstr "" + +#: ../../source/community.rst:40 +msgid "Fortran Standard Library (stdlib)" +msgstr "" + +#: ../../source/community.rst:42 +msgid "" +"A community-driven project for a de facto 'standard' library for Fortran." +" The stdlib project is both a specification and a reference " +"implementation, developed in cooperation with the Fortran Standards " +"Committee." +msgstr "" + +#: ../../source/community.rst:44 +msgid "" +"`GitHub `_ `Documentation " +"`_ `Contributing `_" +msgstr "" + +#: ../../source/community.rst:48 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/community.rst:50 +msgid "" +"A prototype project to develop a common build system for Fortran packages" +" and their dependencies." +msgstr "" + +#: ../../source/community.rst:52 +msgid "" +"`GitHub `_ `Documentation " +"`_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:56 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/community.rst:58 +msgid "This website is open source and contributions are welcome!." +msgstr "" + +#: ../../source/community.rst:60 +msgid "" +"`GitHub `_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:82 +msgid "Get Involved" +msgstr "" + +#: ../../source/community.rst:97 +msgid "Join the Discussion" +msgstr "" + +#: ../../source/community.rst:98 +msgid "" +"The easiest way to join the community and contribute is by commenting on " +"issues and pull requests in the project repositories." +msgstr "" + +#: ../../source/community.rst:102 +msgid "" +"Whether Fortran beginner or seasoned veteran, your feedback and comments " +"are most welcome in guiding the future of Fortran-lang." +msgstr "" + +#: ../../source/community.rst:110 +msgid "Contributor Guide" +msgstr "" + +#: ../../source/community.rst:112 +msgid "" +"Want to contribute code and content? Check out the contributor guides in " +"each repository for information on the project workflow and recommended " +"practices. Contributor guide for stdlib" +msgstr "" + +#: ../../source/community.rst:117 +msgid "" +"`Contributor guide for stdlib `_ |br| `Contributor guide for fpm " +"`_ |br| " +"`Contributor guide for fortran-lang.org `_" +msgstr "" + +#: ../../source/community.rst:132 +msgid "Build and Test" +msgstr "" + +#: ../../source/community.rst:134 +msgid "" +"Get more involved with each project by cloning, building and testing it " +"on your own machine(s) and with your own codes; if something doesn't " +"work, create an issue to let us know! We value user feedback highly, be " +"it a bug report, feature request, or suggestion for documentation." +msgstr "" + +#: ../../source/community.rst:145 +msgid "Community Conduct" +msgstr "" + +#: ../../source/community.rst:147 +msgid "" +"As a community, we strive to make participation in our discussions and " +"projects a friendly and harassment-free experience for everyone. See the " +"full `Code of Conduct `_" +msgstr "" + +#: ../../source/community.rst:156 +msgid "Fortran-lang Contributors" +msgstr "" + +#: ../../source/community.rst:158 +msgid "" +"We are grateful for every contribution made by all members of the " +"community." +msgstr "" + +#: ../../source/community.rst:167 +msgid "source: https://git-contributor.com/" +msgstr "" + +#: ../../source/community.rst:171 +msgid "Contributors:" +msgstr "" + +#: ../../source/community.rst +msgid "card-img-top" +msgstr "" + diff --git a/locale/es/LC_MESSAGES/compilers.po b/locale/es/LC_MESSAGES/compilers.po new file mode 100644 index 000000000..eb39a0123 --- /dev/null +++ b/locale/es/LC_MESSAGES/compilers.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/compilers.md:10 +msgid "Compilers" +msgstr "" + +#: ../../source/compilers.md:16 +msgid "" +"[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a " +"mature free and open source compiler, part of the GNU Compiler " +"Collection." +msgstr "" + +#: ../../source/compilers.md:19 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler " +"wrapper around gfortran which enables the parallel programming features " +"of Fortran 2018 with gfortran." +msgstr "" + +#: ../../source/compilers.md:25 +msgid "" +"[Flang](https://github.com/llvm/llvm-project/tree/main/flang) is a new " +"front-end for Fortran 2018 that has been recently added to LLVM. It is " +"implemented in modern C++ and uses a Fortran-oriented MLIR dialect for " +"lowering to LLVM IR. This project is under active development." +msgstr "" + +#: ../../source/compilers.md:34 +msgid "" +"[Flang](https://github.com/flang-compiler/flang) is an open source " +"compiler based on the NVIDIA/PGI commercial compiler." +msgstr "" + +#: ../../source/compilers.md:40 +msgid "" +"[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based " +"Fortran compiler." +msgstr "" + +#: ../../source/compilers.md:48 +msgid "" +"[Intel " +"oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi" +"/all-toolkits.html) is Intel's suite of compilers, tools, and libraries " +"for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides [two " +"Fortran " +"compilers](https://software.intel.com/content/www/us/en/develop/articles" +"/intel-oneapi-fortran-compiler-release-notes.html):" +msgstr "" + +#: ../../source/compilers.md:53 +msgid "" +"Intel Fortran Compiler Classic (`ifort`), a mature compiler with full " +"Fortran 2018 support; and" +msgstr "" + +#: ../../source/compilers.md:55 +msgid "" +"Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler that " +"supports Fortran 95 and partially newer versions of the standard." +msgstr "" + +#: ../../source/compilers.md:58 +msgid "" +"Intel oneAPI is available for free. Currently the compiler supports " +"Linux, MacOS and Windows platforms and x86\\_64 architectures. Community " +"support is available for the free version at the [Intel Developer " +"forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p" +"/fortran-compiler)." +msgstr "" + +#: ../../source/compilers.md:65 +msgid "" +"The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) " +"release (7.0) has extensive support for legacy and modern Fortran " +"features including parallel programming with coarrays, as well as " +"additional support for programming with OpenMP." +msgstr "" + +#: ../../source/compilers.md:68 +msgid "" +"The Compiler also provides significant support for Fortran 2018 (atomic " +"operations, events and tasks, plus other smaller features), almost all of" +" Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. " +"All platforms include supporting tools for software development: source " +"file polishers, dependency generator for module and include files, call-" +"graph generator, interface builder and a precision unifier." +msgstr "" + +#: ../../source/compilers.md:77 +msgid "" +"The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and " +"Fortran compilers, former [PGI " +"compilers](https://www.pgroup.com/products/index.htm), support GPU " +"acceleration of HPC modeling and simulation applications with standard " +"C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math " +"libraries maximize performance on common HPC algorithms, and optimized " +"communications libraries enable standards-based multi-GPU and scalable " +"systems programming." +msgstr "" + +#: ../../source/compilers.md:79 +msgid "" +"NVHPC compilers are available free of charge. Currently the compiler " +"supports Linux platforms and x86\\_64, ppc64le and aarch64 architectures." +" Community support is available at the [HPC compiler " +"forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-" +"compilers/nvc-nvc-and-nvfortran/313)." +msgstr "" + +#: ../../source/compilers.md:86 +msgid "" +"The [Cray Compiling Environment " +"(CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-" +"Environment.pdf) is the cornerstone innovation of Cray's adaptive " +"computing paradigm. CCE builds on a well-developed and sophisticated Cray" +" technology base that identifies regions of computation that are either " +"sequential scalar, vector parallel or highly multithreaded. It includes " +"optimizing compilers that automatically exploit the scalar, vector and " +"multithreading hardware capabilities of the Cray system. CCE supports " +"Fortran, C and C++." +msgstr "" + +#: ../../source/compilers.md:96 +msgid "" +"[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-" +"compiler-power) for Linux is an industry standards-based programming tool" +" used to develop large and complex applications in the Fortran " +"programming language. It generates code that leverages the capabilities " +"of the latest POWER9 architecture and maximizes your hardware " +"utilization. IBM XL Fortran for Linux optimizes your infrastructure on " +"IBM Power Systems™ in support of extensive numerical, scientific and " +"high-performance computing." +msgstr "" + +#: ../../source/compilers.md:104 +msgid "" +"A community edition of the IBM XL compilers are available free of charge." +" The compilers support Linux and AIX platforms and ppc64le architectures." +msgstr "" + +#: ../../source/compilers.md:110 +msgid "" +"The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-" +"aocc/) compiler system is a high performance, production quality code " +"generation tool. The AOCC environment provides various options to " +"developers when building and optimizing C, C++, and Fortran applications " +"targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system " +"offers a high level of advanced optimizations, multi-threading and " +"processor support that includes global optimization, vectorization, " +"inter-procedural analyses, loop transformations, and code generation. AMD" +" also provides highly optimized libraries, which extract the optimal " +"performance from each x86 processor core when utilized. The AOCC Compiler" +" Suite simplifies and accelerates development and tuning for x86 " +"applications." +msgstr "" + +#: ../../source/compilers.md:122 +msgid "" +"The AOCC compilers are available free of charge and support Linux " +"platforms with x86\\_64 architectures." +msgstr "" + +#: ../../source/compilers.md:127 +msgid "" +"[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-" +"software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-" +"compiler). Tailored for HPC and scientific codes, with support for " +"popular Fortran and OpenMP standards and tuned for leading server-class " +"Arm-based platforms. Built on the open source Flang front-end, and the " +"LLVM‑based optimization and code generation back-end. Available as part " +"of the Arm Compiler for Linux package." +msgstr "" + +#: ../../source/compilers.md:135 +msgid "" +"[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran " +"delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, " +"extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical" +" debugger, native tool suite integration, AMDAL HPC scientific and " +"engineering library, and more. Pro Fortran includes Fast Data " +"Visualization, an Absoft exclusive technology for graphical rendering and" +" data output." +msgstr "" + +#: ../../source/compilers.md:144 +msgid "" +"[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-" +"development/technologies/developerstudio-features.html) is highly " +"optimized for Oracle systems, on-premise and in the cloud" +msgstr "" + +#: ../../source/compilers.md:147 +msgid "" +"Advanced code generation technology for the latest Oracle SPARC and x86 " +"based systems" +msgstr "" + +#: ../../source/compilers.md:148 +msgid "" +"Support for the latest industry standards, including C++14, C++11, C11 " +"and OpenMP 4.0 and extensive GCC compatibility features" +msgstr "" + +#: ../../source/compilers.md:149 +msgid "" +"Automatic code analysis during compilation and automatic stack overflow " +"protection at application runtime" +msgstr "" + +#: ../../source/compilers.md:154 +msgid "" +"LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the" +" classic [Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier " +"has full Fortran 95/90/77 compliance with extensive support for the " +"Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class " +"diagnostics. Includes the automatic-parallelizing GFortran compiler, " +"Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, " +"Winteracter WiSK Graphics package, and more." +msgstr "" + +#: ../../source/compilers.md:163 +msgid "" +"[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 " +"standards compliant compiler, capable of producing fast executables for " +"Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime " +"checking and a great range of supporting software. All standard and many " +"vendor-specific legacy language features are supported, so that Fortran " +"projects may be any combination of Fortran 77, Fortran 90 and Fortran 95." +" Some features of Fortran 2003 and 2008 have been " +"[added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx)." +" Silverfrost Fortran runs on Windows / x86_64. There is a free personal " +"edition." +msgstr "" + +#: ../../source/compilers.md:175 +msgid "" +"[The Fortran " +"compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) " +"conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports " +"many features from Fortran-2008 (ISO/IEC 1539-1:2010)." +msgstr "" + +#: ../../source/compilers.md:181 +msgid "" +"[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of " +"Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 " +"(ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 " +"(ISO/IEC 1539:2018). Used for russian processor architectures Elbrus " +"(e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture " +"is available." +msgstr "" + +#: ../../source/compilers.md:189 +msgid "" +"The following is a list of Fortran compilers that seem discontinued, so " +"we do not list them above:" +msgstr "" + +#: ../../source/compilers.md:192 +msgid "Apogee" +msgstr "" + +#: ../../source/compilers.md:193 +msgid "Edinburgh Portable Compilers" +msgstr "" + +#: ../../source/compilers.md:194 +msgid "Hewlett Packard" +msgstr "" + +#: ../../source/compilers.md:195 +msgid "Watcom" +msgstr "" + +#: ../../source/compilers.md:196 +msgid "PathScale" +msgstr "" + +#: ../../source/compilers.md:197 +msgid "G95" +msgstr "" + +#: ../../source/compilers.md:198 +msgid "Open64" +msgstr "" + +#: ../../source/compilers.md:199 +msgid "Unisys" +msgstr "" + +#: ../../source/compilers.md:203 +msgid "" +"Please let us know if there is any compiler that is not listed, or if we " +"listed a compiler in the Discontinued section and it is in fact actively " +"maintained." +msgstr "" + diff --git a/locale/es/LC_MESSAGES/index.po b/locale/es/LC_MESSAGES/index.po new file mode 100644 index 000000000..ccd9f86c4 --- /dev/null +++ b/locale/es/LC_MESSAGES/index.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/index.rst:3 ../../source/index.rst:8 +msgid "The Fortran Programming Language" +msgstr "" + +#: ../../source/index.rst:3 +msgid "Fortran, High-performance, parallel programming language" +msgstr "" + +#: ../../source/index.rst:14 +msgid "High-performance parallel programming language" +msgstr "" + +#: ../../source/index.rst:16 +msgid "Get started" +msgstr "" + +#: ../../source/index.rst:24 +msgid "Features" +msgstr "" + +#: ../../source/index.rst:28 +msgid "High performance" +msgstr "" + +#: ../../source/index.rst:30 +msgid "" +"Fortran has been designed from the ground up for computationally " +"intensive applications in science and engineering. Mature and battle-" +"tested compilers and libraries allow you to write code that runs close to" +" the metal, fast." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Statically and strongly typed" +msgstr "" + +#: ../../source/index.rst:36 +msgid "" +"Fortran is statically and strongly typed, which allows the compiler to " +"catch many programming errors early on for you. This also allows the " +"compiler to generate efficient binary code." +msgstr "" + +#: ../../source/index.rst:40 +msgid "Easy to learn and use" +msgstr "" + +#: ../../source/index.rst:42 +msgid "" +"Fortran is a relatively small language that is surprisingly easy to learn" +" and use. Expressing most mathematical and arithmetic operations over " +"large arrays is as simple as writing them as equations on a whiteboard." +msgstr "" + +#: ../../source/index.rst:46 +msgid "Versatile" +msgstr "" + +#: ../../source/index.rst:48 +msgid "" +"Fortran allows you to write code in a style that best fits your problem: " +"imperative, procedural, array-oriented, object-oriented, or functional." +msgstr "" + +#: ../../source/index.rst:52 +msgid "Natively parallel" +msgstr "" + +#: ../../source/index.rst:54 +msgid "" +"Fortran is a natively parallel programming language with intuitive array-" +"like syntax to communicate data between CPUs. You can run almost the same" +" code on a single CPU, on a shared-memory multicore system, or on a " +"distributed-memory HPC or cloud-based system. Coarrays, teams, events, " +"and collective subroutines allow you to express different parallel " +"programming patterns that best fit your problem at hand." +msgstr "" + +#: ../../source/index.rst:58 +msgid "FAQ" +msgstr "" + +#: ../../source/index.rst:62 +msgid "What is the status of Fortran?" +msgstr "" + +#: ../../source/index.rst:64 +msgid "" +"Fortran is still in active development. The latest revision of the " +"language is `Fortran 2018 " +"`_,and" +" the next one, with the working title Fortran 202x, is planned for " +"release in the next few years. Further, open source projects like the " +"`Standard Library `_ and the " +"`Fortran Package Manager `_ are in " +"active development." +msgstr "" + +#: ../../source/index.rst:68 +msgid "What is Fortran used for?" +msgstr "" + +#: ../../source/index.rst:70 +msgid "" +"Fortran is mostly used in domains that adopted computation early--science" +" and engineering. These include numerical weather and ocean prediction, " +"computational fluid dynamics, applied math, statistics, and finance. " +"Fortran is the dominant language of High Performance Computing and is " +"used to `benchmark the fastest supercomputers in the world. " +"`_" +msgstr "" + +#: ../../source/index.rst:74 +msgid "Should I use Fortran for my new project?" +msgstr "" + +#: ../../source/index.rst:76 +msgid "" +"If you're writing a program or a library to perform fast arithmetic " +"computation over large numeric arrays, Fortran is the optimal tool for " +"the job." +msgstr "" + +#: ../../source/index.rst:108 +msgid "Make Fortran better" +msgstr "" + +#: ../../source/index.rst:118 +msgid "Write proposals" +msgstr "" + +#: ../../source/index.rst:119 +msgid "" +"Have an idea about how to improve the language? You can write new " +"proposals or contribute to existing proposals to the Fortran Standard " +"Committee on `GitHub `_ " +"." +msgstr "" + +#: ../../source/index.rst:127 +msgid "Develop tools" +msgstr "" + +#: ../../source/index.rst:128 +msgid "" +"You can also help make Fortran better by contributing to its suite of " +"tools, such as `Standard Library `_ , `Package Manager `_" +" , or `this website `_ " +"." +msgstr "" + +#: ../../source/index.rst:138 +msgid "Write Fortran software" +msgstr "" + +#: ../../source/index.rst:139 +msgid "" +"Or just write Fortran software for your research, business, or " +"schoolwork. You can learn how to `get started here `_ ." +msgstr "" + diff --git a/locale/es/LC_MESSAGES/learn.po b/locale/es/LC_MESSAGES/learn.po new file mode 100644 index 000000000..6f2a20c64 --- /dev/null +++ b/locale/es/LC_MESSAGES/learn.po @@ -0,0 +1,15847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/learn.rst:4 +msgid "Learn" +msgstr "" + +#: ../../source/learn.rst:12 +msgid "Learn Fortran" +msgstr "" + +#: ../../source/learn.rst:16 +msgid "Learning resources for beginners and experts alike" +msgstr "" + +#: ../../source/learn.rst:20 +msgid "Getting Started" +msgstr "" + +#: ../../source/learn.rst:33 +msgid "" +"Try the quickstart Fortran tutorial, to get an overview of the language " +"syntax and capabilities. |br|" +msgstr "" + +#: ../../source/learn.rst:35 +msgid "" +" Quickstart tutorial" +msgstr "" + +#: ../../source/learn.rst:53 +msgid "" +"Ask a question in the Fortran-lang discourse - a forum for friendly " +"discussion of all things Fortran. |br|" +msgstr "" + +#: ../../source/learn.rst:55 +msgid "" +" Fortran-lang Discourse" +msgstr "" + +#: ../../source/learn.rst:65 +msgid "Mini-book Tutorials" +msgstr "" + +#: ../../source/learn.rst:92 +msgid "Other Resources" +msgstr "" + +#: ../../source/learn.rst:96 +msgid "On the web" +msgstr "" + +#: ../../source/learn.rst:111 +msgid "Online Courses" +msgstr "" + +#: ../../source/learn.rst:124 +msgid "In print" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:8 +msgid "Allocatable Arrays" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:10 +msgid "" +"The ``allocatable`` attribute provides a safe way for memory handling. In" +" comparison to variables with ``pointer`` attribute the memory is managed" +" automatically and will be deallocated automatically once the variable " +"goes out-of-scope. Using ``allocatable`` variables removes the " +"possibility to create memory leaks in an application." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:16 +msgid "" +"They can be used in subroutines to create scratch or work arrays, where " +"automatic arrays would become too large to fit on the stack." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:24 +msgid "" +"The allocation status can be checked using the ``allocated`` intrinsic to" +" avoid uninitialized access" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:37 +msgid "" +"To allocate variables inside a procedure the dummy argument has to carry " +"the ``allocatable`` attribute. Using it in combination with " +"``intent(out)`` will deallocate previous allocations before entering the " +"procedure:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:48 +msgid "The allocated array can be used afterwards like a normal array" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:55 +msgid "" +"An already allocated array cannot be allocated again without prior " +"deallocation. Similarly, deallocation can only be invoked for allocated " +"arrays. To reallocate an array use" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:64 +msgid "" +"Passing allocated arrays to procedures does not require the " +"``allocatable`` attribute for the dummy arguments anymore." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:87 +msgid "" +"Passing an unallocated array in this context will lead to an invalid " +"memory access. Allocatable arrays can be passed to ``optional`` dummy " +"arguments -- if they are unallocated the argument will not be present. " +"The ``allocatable`` attribute is not limited to arrays and can also be " +"associated with scalars, which can be useful in combination with " +"``optional`` dummy arguments." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:93 +msgid "" +"Allocations can be moved between different arrays with ``allocatable`` " +"attribute using the ``move_alloc`` intrinsic subroutine." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:125 +msgid "" +"Finally, allocations do not initialize the array. The content of the " +"uninitialized array is most likely just the bytes of whatever was " +"previously at the respective address. The allocation supports " +"initialization using the source attribute:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:134 +msgid "" +"The ``source`` keyword supports scalar and array valued variables and " +"constants." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:8 +msgid "Arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:10 +msgid "" +"Arrays are a central object in Fortran. The creation of dynamic sized " +"arrays is discussed in the [allocatable arrays " +"section](./allocatable_arrays.html)." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:13 +msgid "To pass arrays to procedures four ways are available" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:15 +msgid "*assumed-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:16 +msgid "*assumed-rank* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:17 +#: ../../source/learn/best_practices/element_operations.md:13 +msgid "*explicit-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:18 +msgid "*assumed-size* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:20 +msgid "" +"The preferred way to pass arrays to procedures is as *assumed-shape* " +"arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:33 +msgid "Higher-dimensional arrays can be passed in a similar way." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:42 +msgid "The array is simply passed by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:49 +msgid "" +"In this case no array copy is done, which has the advantage that the " +"shape and size information is automatically passed along and checked at " +"compile and optionally at runtime. Similarly, array strides can be passed" +" without requiring a copy of the array but as *assumed-shape* descriptor:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:61 +msgid "" +"This should always be your default way of passing arrays in and out of " +"subroutines. Avoid passing arrays as whole slices, as it obfuscates the " +"actual intent of the code:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:69 +msgid "" +"In case more general arrays should be passed to a procedure the *assumed-" +"rank* functionality introduced in the Fortran 2018 standard can be used" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:84 +msgid "" +"The actual rank can be queried at runtime using the ``select rank`` " +"construct. This easily allows to create more generic functions that have " +"to deal with different array ranks." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:88 +msgid "" +"*Explicit-shape* arrays can be useful for returning data from functions. " +"Most of their functionality can be provided by *assumed-shape* and " +"*assumed-rank* arrays but they find frequent use for interfacing with C " +"or in legacy Fortran procedures, therefore they will be discussed briefly" +" here." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:93 +msgid "" +"To use *explicit-shape* arrays, the dimension has to be passed explicitly" +" as dummy argument like in the example below" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:107 +msgid "For high-dimensional arrays additional indices have to be passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:117 +msgid "The routines can be invoked by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:125 +msgid "" +"Note that the shape is not checked, so the following would be legal code " +"that will potentially yield incorrect results:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:134 +msgid "" +"In this case the memory layout is preserved but the shape is changed. " +"Also, *explicit-shape* arrays require contiguous memory and will create " +"temporary arrays in case non-contiguous array strides are passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:138 +msgid "To return an array from a function with *explicit-shape* use" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:151 +msgid "" +"Finally, there are *assumed-size* arrays, which provide the least " +"compile-time and run-time checking and can be found frequently in legacy " +"code. They should be avoided in favour of *assumed-shape* or *assumed-" +"rank* arrays. An *assumed-size* array dummy argument is identified by an " +"asterisk as the last dimension, this disables the usage of this array " +"with many intrinsic functions, like ``size`` or ``shape``." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:158 +msgid "" +"To check for the correct size and shape of an *assumed-shape* array the " +"``size`` and ``shape`` intrinsic functions can be used to query for those" +" properties" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:166 +msgid "" +"Note that ``size`` returns the total size of all dimensions. To obtain " +"the shape of a specific dimension add it as second argument to the " +"function." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:169 +msgid "Arrays can be initialized by using an array constructor" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:176 +msgid "" +"The array constructor can be annotated with the type of the constructed " +"array" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:183 +msgid "Implicit do loops can be used inside an array constructor as well" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:191 +msgid "In order for the array to start with different index than 1, do:" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:8 +msgid "Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:10 +msgid "" +"A callback is a function that is passed as an argument to another " +"function." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:12 +msgid "" +"The preferred way of creating such a callback is to provide an *abstract " +"interface* declaring the signature of the callback. This allows to use " +"compile time checks for the passed callback." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:44 +msgid "" +"The function can then be used with a callback by importing the module as " +"shown in the following example" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:73 +msgid "" +"Exporting the abstract interface allows you to create procedure pointers " +"with the correct signature and also to extend the callback further as " +"shown here" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:8 +msgid "Element-wise Operations on Arrays" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:10 +msgid "" +"There are three approaches to perform element-wise operations on arrays " +"when using subroutines and functions:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:12 +msgid "`elemental` procedures" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:14 +msgid "" +"implementing the operation for vectors and write simple wrapper " +"subroutines (that use `reshape` internally) for each array shape" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:17 +msgid "" +"In the first approach, one uses the `elemental` keyword to create a " +"function like this:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:28 +msgid "" +"All arguments (in and out) must be scalars. You can then use this " +"function with arrays of any (compatible) shape, for example:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:39 +msgid "The output will be:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:49 +msgid "" +"In the above, typically `n` is a parameter and `x` is the array of an " +"arbitrary shape, but as you can see, Fortran does not care as long as the" +" final operation makes sense (if one argument is an array, then the other" +" arguments must be either arrays of the same shape or scalars). If it " +"does not, you will get a compiler error." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:55 +msgid "" +"The `elemental` keyword implies the `pure` keyword, so the procedure must" +" be pure. It results that `elemental procedures` can only use `pure` " +"procedures and have no side effects." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:58 +msgid "" +"If the elemental procedure algorithm can be made faster using array " +"operations inside, or if for some reasons the arguments must be arrays of" +" incompatible shapes, then one should use the other two approaches. One " +"can make `nroot` operate on a vector and write a simple wrapper for other" +" array shapes, e.g.:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:89 +msgid "And use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:97 +msgid "This will print:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:105 +msgid "Or one can use *explicit-shape* arrays as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:117 +msgid "Use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:125 +msgid "The output is the same as before:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:8 +msgid "File Input/Output" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:10 +msgid "" +"In Fortran files are managed by unit identifiers. Interaction with the " +"filesystem mainly happens through the ``open`` and ``inquire`` built-in " +"procedures. Generally, the workflow is to open a file to a unit " +"identifier, read and/or write to it and close it again." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:22 +msgid "" +"By default the file will be created if it is not existing already and " +"opened for both reading and writing. Writing to an existing file will " +"start in the first record (line) and therefore overwrite the file by " +"default." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:26 +msgid "" +"To create a read-only access to a file the ``status`` and ``action`` have" +" to be specified with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:36 +msgid "" +"In case the file is not present a runtime error will occur. To check for " +"the existence of a file prior to opening it the ``inquire`` function can " +"be used" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:47 +msgid "" +"Alternatively, the ``open`` procedure can return an optional *iostat* and" +" *iomsg*:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:59 +msgid "" +"Note that *iomsg* requires a fixed-length character variable with " +"sufficient storage size to hold the error message." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:62 +msgid "" +"Similarly, writing to a file happens by using the *status* and *action* " +"keyword. To create a new file use" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:72 +msgid "" +"Alternatively, ``status=\"replace\"`` can be used to overwrite an " +"existing file. It is highly recommended to first check for the existence " +"of a file before deciding on the *status* to use. To append to an output " +"file the *position* keyword can be specified explicitly with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:86 +msgid "" +"To reset the position in a file the built-in procedures ``rewind`` and " +"``backspace`` can be used. ``rewind`` will reset to the first record " +"(line), while ``backspace`` will return to the previous record (line)." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:90 +msgid "" +"Finally, to delete a file the file has to be opened and can be deleted " +"after closing with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:103 +msgid "" +"A useful IO feature is scratch files, which can be opened with " +"``status=\"scratch\"``. They are automatically deleted after closing the " +"unit identifier." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:8 +msgid "Floating Point Numbers" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:10 +msgid "" +"The default representation of floating point numbers is using single " +"precision (usually 32 bits / 4 bytes). For most applications a higher " +"precision is required. For this purpose a custom kind parameter can be " +"defined. The recommended way of defining kind parameters is to use" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:19 +msgid "" +"For many purposes it also suffices to directly infer the kind parameter " +"from a literal like here" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:26 +msgid "" +"or to rename the imported kind parameter from the ``iso_fortran_env`` " +"module" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:32 +msgid "" +"For some insightful thoughts on kind parameters see Doctor Fortran in it takes all " +"KINDs." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:35 +msgid "" +"It is recommended to have a central module to define kind parameters and " +"include them with use as necessary. An example for such a module is given" +" with" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:63 +msgid "" +"Floating point constants should always be declared including a kind " +"parameter suffix:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:72 +msgid "" +"It is safe to assign integers to floating point numbers without losing " +"accuracy:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:79 +msgid "" +"In order to impose floating point division (as opposed to integer " +"division `3/4` equal to `0`), one can convert the integer to a floating " +"point number by:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:88 +msgid "or simply separate the integer division with multiplication by `1.0_dp`" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:95 +msgid "" +"To print floating point numbers without losing precision use the " +"unlimited format specifier ``(g0)`` or the exponential representation " +"``(es24.16e3)``, which will give you 17 significant digits of printout." +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "allocatable arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "file io" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "modules programs" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "floating point" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "multidim arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "callbacks" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "style guide" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "element operations" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "integer division" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "type casting" +msgstr "" + +#: ../../source/learn/best_practices/index.md:9 +msgid "Fortran Best Practices" +msgstr "" + +#: ../../source/learn/best_practices/index.md:11 +msgid "" +"This mini-book collects a modern canonical way of doing things in " +"Fortran. It serves as a style guide and best practice recommendation for " +"popular topics and common tasks. Generally, a canonical solution or " +"pattern is presented and discussed. It is meant for programmers with " +"basic familiarity of the Fortran syntax and programming in general." +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:8 +msgid "Integer Division" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:10 +msgid "" +"Fortran distinguishes between floating point and integer arithmetic. It " +"is important to note that division for integers is always using integer " +"arithmetic. Furthermore, while Fortran uses the standard order-of-" +"operations (e.g. multiplication and division preceed addition and " +"subtraction, in the absence of parenthesis), operations of the same " +"precedence are evaluated from left to right. Consider the following " +"example for integer division of an odd number:" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:28 +msgid "" +"Be careful about whether you want to actually use integer arithmetic in " +"this context. If you want to use floating point arithmetic instead make " +"sure to cast to reals before using the division operator, or separate the" +" integers by multiplying by `1.0_dp`:" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:8 +msgid "Modules and Programs" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:10 +msgid "" +"Modules are the preferred way create modern Fortran libraries and " +"applications. As a convention, one source file should always contain only" +" one module, while the module name should match the filepath to allow " +"easy navigation in larger projects. It is also recommended to prefix " +"module names with the library name to avoid name clashes when used as " +"dependency in other projects." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:16 +msgid "An example for such a module file is given here" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:52 +msgid "" +"There are a few things in this example module to highlight. First, every " +"module starts with comments documenting the purpose and content of the " +"module. Similarly, every procedure starts with a comment briefly " +"describing its purpose and the intent of the dummy arguments. " +"Documentation is one of the most important parts of creating long-living " +"software, regardless of language." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:58 +msgid "" +"Second, imports (*use*) and exports (*public*) are explicitly given, this" +" allows on a glance at the module source to check the used and available " +"procedures, constants and derived types. The imports are usually limited " +"to the module scope rather than reimported in every procedure or " +"interface scope. Similarly, exports are made explicitly by adding a " +"*private* statement on a single line and explicitly listing all exported " +"symbols in *public* statements." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:66 +msgid "" +"Finally, the `implicit none` statement works for the whole module and " +"there is no need to repeat it within each procedure." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:69 +msgid "" +"Variables inside a module are static (*implicitly saved*). It is highly " +"recommended to limit the usage of module variables to constant " +"expressions, like parameters or enumerators only or export them as " +"*protected* rather than *public*." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:74 +msgid "" +"Submodules can be used to break long dependency chains and shorten " +"recompilation cascades in Fortran programs. They also offer the " +"possibility to provide specialized and optimized implementations without " +"requiring the use of preprocessor." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:78 +msgid "" +"An example from the Fortran standard library is the quadrature module, " +"which only defines interfaces to module procedures, but no " +"implementations" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:111 +msgid "" +"While the implementation is provided in separate submodules like the one " +"for the trapezoidal integration rule given here." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:145 +msgid "" +"Note that the module procedures do not have to be implemented in the same" +" submodule. Several submodules can be used to reduce the compilation load" +" for huge modules." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:148 +msgid "" +"Finally, when setting up a program, it is recommended to keep the actual " +"implementations in the program body at minimum. Reusing implementations " +"from modules allows you to write reusable code and focus the program " +"unit on conveying user input to the respective library functions and " +"objects." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:8 +msgid "Multidimensional Arrays" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:10 +msgid "" +"Multidimensional arrays are stored in column-major order. This means the " +"left-most (inner-most) index addresses elements contiguously. From a " +"practical point this means that the array slice ``V(:, 1)`` is " +"contiguous, while the stride between elements in the slice ``V(1, :)`` is" +" the dimension of the columns. This is important when passing array " +"slices to procedures which expect to work on contiguous data." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:17 +msgid "" +"The locality of the memory is important to consider depending on your " +"application, usually when performing operations on a multidimensional the" +" sequential access should always advance in unity strides." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:21 +msgid "" +"In the following example the inverse distance between two sets of points " +"is evaluated. Note that the points are stored contiguously in the arrays " +"``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most " +"index of the matrix ``a``." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:40 +msgid "" +"Another example would be the contraction of the third dimension of a rank" +" three array:" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:53 +msgid "" +"Contiguous array slices can be used in array-bound remapping to allow " +"usage of higher rank arrays as lower rank arrays without requiring to " +"reshape and potentially create a temporary copy of the array." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:57 +msgid "" +"For example this can be used to contract the third dimension of a rank " +"three array using a matrix-vector operation:" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:8 +msgid "Fortran Style Guide" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:10 +msgid "Naming Convention" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:13 +msgid "" +"Ultimately this is a matter of preference. Here is a style guide that we " +"like and that seems to be prevalent in most scientific codes (as well as " +"the Fortran standard library), and you are welcome to follow it." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:17 +msgid "" +"Use lowercase for all Fortran constructs (`do`, `subroutine`, `module`, " +"...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:19 +msgid "" +"Follow short mathematical notation for mathematical variables/functions " +"(`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:21 +msgid "" +"For other names use all lowercase: try to keep names to one or two " +"syllables; if more are required, use underscores to clarify (`sortpair`, " +"`whitechar`, `meshexp`, `numstrings`, `linspace`, `meshgrid`, `argsort`, " +"`spline`, `spline_interp`, `spline_interpolate`, `stoperr`, `stop_error`," +" `meshexp_der`)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:27 +msgid "" +"For example \"spline interpolation\" can be shortened to " +"`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, " +"but not to `splineint` (\"int\" could mean integration, integer, etc. ---" +" too much ambiguity, even in the clear context of a computational code). " +"This is in contrast to `get_argument()` where `getarg()` is perfectly " +"clean and clear." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:34 +msgid "" +"The above are general guidelines. In general, choosing the right name " +"certainly depends on the word being truncated as to whether the first " +"syllable is sufficient. Usually it is but clearly not always. Thus some " +"thought should go into step \"try to keep names to 2 syllables or less\" " +"since it can really affect the indicativeness and simplicity. Simple " +"consistent naming rules are a real help in this regard -- for both " +"collaboration and for one's own sanity when going back to some old code " +"you haven't seen in while." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:43 +msgid "Indentation" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:46 +msgid "" +"Use a consistent indentation to make your code readable. The amount of " +"indentation is a matter of preference, the most common choices are two, " +"three or four spaces." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:50 +msgid "Comparison to Other Languages" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:53 +msgid "" +"On the other hand, in most of the rest of the programming world, where " +"the main focus is, in one form or another, on defining and using large " +"sets of complex objects, with tons of properties and behaviors, known " +"only in the code in which they are defined (as opposed to defined by the " +"same notation throughout the literature), it makes more sense to use " +"longer, more descriptive names. The naming conventions one sees used in " +"more general-purpose languages such as C++ and Python, therefore, are " +"perfectly consistent with their more general-purpose missions. But " +"Fortran has a different mission (numerical scientific computing)." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:8 +msgid "Type Casting in Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:10 +msgid "" +"There are essentially five different ways to do type casting, each with " +"its own advantages and disadvantages." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:13 +msgid "" +"The methods I, II and V can be used both in C and Fortran. The methods " +"III and IV are only available in Fortran. The method VI is obsolete and " +"should not be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:17 +msgid "Work Arrays" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:20 +msgid "" +"Pass a \"work array\" which is packed with everything needed by the " +"caller and unpacked by the called routine. This is the old way -- e.g., " +"how LAPACK does it." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:24 +#: ../../source/learn/best_practices/type_casting.md:95 +#: ../../source/learn/best_practices/type_casting.md:179 +#: ../../source/learn/best_practices/type_casting.md:244 +#: ../../source/learn/best_practices/type_casting.md:296 +msgid "Integrator:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:53 +#: ../../source/learn/best_practices/type_casting.md:133 +#: ../../source/learn/best_practices/type_casting.md:206 +#: ../../source/learn/best_practices/type_casting.md:271 +#: ../../source/learn/best_practices/type_casting.md:326 +#: ../../source/learn/best_practices/type_casting.md:438 +msgid "Usage:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:86 +msgid "General Structure" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:89 +msgid "" +"Define a general structure which encompass the variations you actually " +"need (or are even remotely likely to need going forward). This single " +"structure type can then change if needed as future needs/ideas permit but" +" won't likely need to change from passing, say, real numbers to, say, and" +" instantiation of a text editor." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:166 +msgid "" +"There is only so much flexibility really needed. For example, you could " +"define two structure types for this purpose, one for Schroedinger and one" +" for Dirac. Each would then be sufficiently general and contain all the " +"needed pieces with all the right labels." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:171 +msgid "" +"Point is: it needn't be \"one abstract type to encompass all\" or bust. " +"There are natural and viable options between \"all\" and \"none\"." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:174 +msgid "Private Module Variables" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:177 +msgid "Hide the variable arguments completely by passing in module variables." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:236 +msgid "" +"However it is best to avoid such global variables -- even though really " +"just semi-global -- if possible. But sometimes it may be the simplest " +"cleanest way. However, with a bit of thought, usually there is a better, " +"safer, more explicit way along the lines of II or IV." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:241 +msgid "Nested functions" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:290 +msgid "Using type(c\\_ptr) Pointer" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:293 +msgid "" +"In C, one would use the `void *` pointer. In Fortran, one can use " +"`type(c_ptr)` for exactly the same purpose." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:364 +msgid "" +"As always, with the advantages of such re-casting, as Fortran lets you do" +" if you really want to, come also the disadvantages that fewer compile- " +"and run-time checks are possible to catch errors; and with that, " +"inevitably more leaky, bug-prone code. So one always has to balance the " +"costs and benefits." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:370 +msgid "" +"Usually, in the context of scientific programming, where the main thrust " +"is to represent and solve precise mathematical formulations (as opposed " +"to create a GUI with some untold number of buttons, drop-downs, and other" +" interface elements), simplest, least bug-prone, and fastest is to use " +"one of the previous approaches." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:376 +msgid "transfer() Intrinsic Function" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:379 +msgid "" +"Before Fortran 2003, the only way to do type casting was using the " +"`transfer` intrinsic function. It is functionally equivalent to the " +"method V, but more verbose and more error prone. It is now obsolete and " +"one should use the method V instead." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:384 +msgid "Examples:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:386 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:388 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:390 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:392 +msgid "Object Oriented Approach" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:395 +msgid "The module:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:432 +msgid "" +"The abstract type prescribes exactly what the integration routine needs, " +"namely a method to evaluate the function, but imposes nothing else on the" +" user. The user extends this type, providing a concrete implementation of" +" the eval type bound procedure and adding necessary context data as " +"components of the extended type." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:477 +msgid "Complete Example of void \\* vs type(c\\_ptr) and transfer()" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:480 +msgid "" +"Here are three equivalent codes: one in C using `void *` and two codes in" +" Fortran using `type(c_ptr)` and `transfer()`:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Language  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Method" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Link" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "C" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`void *`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Fortran" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`type(c_ptr)`  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`transfer()`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:489 +msgid "" +"The C code uses the standard C approach for writing extensible libraries " +"that accept callbacks and contexts. The two Fortran codes show how to do " +"the same. The `type(c_ptr)` method is equivalent to the C version and " +"that is the approach that should be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:494 +msgid "" +"The `transfer()` method is here for completeness only (before Fortran " +"2003, it was the only way) and it is a little cumbersome, because the " +"user needs to create auxiliary conversion functions for each of his " +"types. As such, the `type(c_ptr)` method should be used instead." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:8 +msgid "Build tools" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:10 +msgid "" +"Compiling your Fortran projects by hand can become quite complicated " +"depending on the number of source files and the interdependencies through" +" the module. Supporting different compilers and linkers or different " +"platforms can become increasingly complicated unless the right tools are " +"used to automatically perform those tasks." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:16 +msgid "" +"Depending on the size of your project and the purpose of project " +"different options for the build automation can be used." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:19 +msgid "" +"First, your integrated development environment probably provides a way to" +" build your program. A popular cross-platform tool is Microsoft's Visual Studio Code, but others exist, such as Atom, Eclipse Photran, and Code::Blocks. They offer a graphical user-interface," +" but are often very specific for the compiler and platform." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:29 +msgid "" +"For smaller projects, the rule based build system ``make`` is a common " +"choice. Based on the rules defined it can perform task like (re)compiling" +" object files from updated source files, creating libraries and linking " +"executables. To use ``make`` for your project you have to encode those " +"rules in ``Makefile``, which defines the interdependencies of all the " +"final program, the intermediary object files or libraries and the actual " +"source files. For a short introduction see [the guide on ``make" +"``](#using-make-as-build-tool)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:38 +msgid "" +"Maintenance tools like autotools and CMake can generate Makefiles or " +"Visual Studio project files via a high-level description. They abstract " +"away from the compiler and platform specifics." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:42 +msgid "" +"Which of those tools are the best choice for your projects depends on " +"many factors. Choose a build tool you are comfortable working with, it " +"should not get in your way while developing. Spending more time on " +"working against your build tools than doing actual development work can " +"quickly become frustrating." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:47 +msgid "" +"Also, consider the accessibility of your build tools. If it is restricted" +" to a specific integrated development environment, can all developers on " +"your project access it? If you are using a specific build system, does it" +" work on all platforms you are developing for? How large is the entry " +"barrier of your build tools? Consider the learning curve for the build " +"tools, the perfect build tool will be of no use, if you have to learn a " +"complex programming language first to add a new source file. Finally, " +"consider what other project are using, those you are depending on and " +"those that use (or will use) your project as dependency." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:59 +msgid "Using make as build tool" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:61 +msgid "" +"The most well-known and commonly used build system is called ``make``. It" +" performs actions following rules defined in a configuration file called " +"``Makefile`` or ``makefile``, which usually leads to compiling a program " +"from the provided source code." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:68 +msgid "" +"For an in-depth ``make`` tutorial lookup its info page. There is an " +"online version of this info page, available." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:70 +msgid "" +"We will start with the basics from your clean source directory. Create " +"and open the file ``Makefile``, we start with a simple rule called *all*:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:78 +msgid "" +"After saving the ``Makefile`` run it by executing ``make`` in the same " +"directory. You should see the following output:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:84 +msgid "" +"First, we note that ``make`` is substituting ``$@`` for the name of the " +"rule, the second thing to note is that ``make`` is always printing the " +"command it is running, finally, we see the result of running ``echo " +"\"all\"``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:89 +msgid "" +"We call the entry point of our ``Makefile`` always *all* by convention, " +"but you can choose whatever name you like." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:93 +msgid "" +"You should not have noticed it if your editor is working correctly, but " +"you have to indent the content of a rule with a tab character. In case " +"you have problems running the above ``Makefile`` and see an error like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:99 +msgid "" +"The indentation is probably not correct. In this case replace the " +"indentation in the second line with a tab character." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:105 +msgid "" +"Now we want to make our rules more complicated, therefore we add another " +"rule:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:117 +msgid "" +"Note how we declare variables in ``make``, you should always declare your" +" local variables with ``:=``. To access the content of a variable we use " +"the ``$(...)``, note that we have to enclose the variable name in " +"parenthesis." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:122 +msgid "" +"The declaration of variables is usually done with ``:=``, but ``make`` " +"does support *recursively expanded* variables as well with ``=``. " +"Normally, the first kind of declaration is wanted, as they are more " +"predictable and do not have a runtime overhead from the recursive " +"expansion." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:128 +msgid "" +"We introduced a dependency of the rule all, namely the content of the " +"variable ``PROG``, also we modified the printout, we want to see all the " +"dependencies of this rule, which are stored in the variable ``$^``. Now " +"for the new rule which we name after the value of the variable ``PROG``, " +"it does the same thing we did before for the rule *all*, note how the " +"value of ``$@`` is dependent on the rule it is used in." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:135 +msgid "Again check by running the ``make``, you should see:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:142 +msgid "" +"The dependency has been correctly resolved and evaluated before " +"performing any action on the rule *all*. Let's run only the second rule: " +"type ``make my_prog`` and you will only find the first two lines in your " +"terminal." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:147 +msgid "" +"The next step is to perform some real actions with ``make``, we take the " +"source code from the previous chapter here and add new rules to our " +"``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:164 +msgid "" +"We define ``OBJS`` which stands for object files, our program depends on " +"those ``OBJS`` and for each object file we create a rule to make them " +"from a source file. The last rule we introduced is a pattern matching " +"rule, ``%`` is the common pattern between ``tabulate.o`` and " +"``tabulate.f90``, which connects our object file ``tabulate.o`` to the " +"source file ``tabulate.f90``. With this set, we run our compiler, here " +"``gfortran`` and translate the source file into an object file, we do not" +" create an executable yet due to the ``-c`` flag. Note the usage of the " +"``$<`` for the first element of the dependencies here." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:175 +msgid "" +"After compiling all the object files we attempt to link the program, we " +"do not use a linker directly, but ``gfortran`` to produce the executable." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:178 +msgid "Now we run the build script with ``make``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:189 +msgid "" +"We remember that we have dependencies between our source files, therefore" +" we add this dependency explicitly to the ``Makefile`` with" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:196 +msgid "" +"Now we can retry and find that the build is working correctly. The output" +" should look like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:203 +msgid "" +"You should find *four* new files in the directory now. Run ``my_prog`` to" +" make sure everything works as expected. Let's run ``make`` again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:209 +msgid "" +"Using the timestamps of the executable ``make`` was able to determine, it" +" is newer than both ``tabulate.o`` and ``functions.o``, which in turn are" +" newer than ``tabulate.f90`` and ``functions.f90``. Therefore, the " +"program is already up-to-date with the latest code and no action has to " +"be performed." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:215 +msgid "In the end, we will have a look at a complete ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:249 +msgid "" +"Since you are starting with ``make`` we highly recommend to always " +"include the first line, like with Fortran's ``implicit none`` we do not " +"want to have implicit rules messing up our ``Makefile`` in surprising and" +" harmful ways." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:253 +msgid "" +"Next, we have a configuration section where we define variables, in case " +"you want to switch out your compiler, it can be easily done here. We also" +" introduced the ``SRCS`` variable to hold all source files, which is more" +" intuitive than specifying object files. We can easily create the object " +"files by appending a ``.o`` suffix using the functions ``addsuffix``. The" +" ``.PHONY`` is a special rule, which should be used for all entry points " +"of your ``Makefile``, here we define two entry point, we already know " +"*all*, the new *clean* rule deletes all the build artifacts again such " +"that we indeed start with a clean directory." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:264 +msgid "" +"Also, we slightly changed the build rule for the object files to account " +"for appending the ``.o`` suffix instead of substituting it. Notice that " +"we still need to explicitly define the interdependencies in the " +"``Makefile``. We also added a dependency for the object files on the " +"``Makefile`` itself, in case you change the compiler, this will allow you" +" to safely rebuild." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:270 +msgid "" +"Now you know enough about ``make`` to use it for building small projects." +" If you plan to use ``make`` more extensively, we have compiled a few " +"tips for you as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:275 +msgid "" +"In this guide, we avoided and disabled a lot of the commonly used " +"``make`` features that can be particularly troublesome if not used " +"correctly, we highly recommend staying away from the builtin rules and " +"variables if you do not feel confident working with ``make``, but " +"explicitly declare all variables and rules." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:280 +msgid "" +"You will find that ``make`` is capable tool to automate short " +"interdependent workflows and to build small projects. But for larger " +"projects, you will probably soon run against some of it limitations. " +"Usually, ``make`` is therefore not used alone but combined with other " +"tools to generate the ``Makefile`` completely or in parts." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:288 +msgid "Recursively expanded variables" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:290 +msgid "" +"Commonly seen in many projects are recursively expanded variables " +"(declared with ``=`` instead of ``:=``). Recursive expansion of your " +"variables allows out-of-order declaration and other neat tricks with " +"``make``, since they are defined as rules, which are expanded at runtime," +" rather than being defined while parsing." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:295 +msgid "" +"For example, declaring and using your Fortran flags with this snippet " +"will work completely fine:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:307 +msgid "" +"You should find the expected (or maybe unexpected) printout after running" +" ``make``" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:312 +#, python-format +msgid "{% include note.html content=\"\" %}" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:315 +msgid "" +"appending with ``+=`` to an undefined variable will produce a recursively" +" expanded variable with this state being inherited for all further " +"appending." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:318 +msgid "" +"While, it seems like an interesting feature to use, it tends to lead to " +"surprising and unexpected outcomes. Usually, when defining variables like" +" your compiler, there is little reason to actually use the recursive " +"expansion at all." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:322 +msgid "The same can easily be archived using the ``:=`` declaration:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:334 +msgid "" +"always think of a ``Makefile`` as a whole set of rules, it must be parsed" +" completely before any rule can be evaluated." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:337 +msgid "" +"You can use whatever kind of variables you like most, mixing them should " +"be done carefully, of course. It is important to be aware of the " +"differences between the two kinds and the respective implications." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:342 +msgid "Comments and whitespace" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:344 +msgid "" +"There are some caveats with whitespace and comments, which might pop up " +"from time to time when using ``make``. First, ``make`` does not know of " +"any data type except for strings and the default separator is just a " +"space. This means ``make`` will give a hard time trying to build a " +"project which has spaces in file names. If you encounter such case, " +"renaming the file is possibly the easiest solution at hand." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:351 +msgid "" +"Another common problem is leading and trailing whitespace, once " +"introduced, ``make`` will happily carry it along and it does in fact make" +" a difference when comparing strings in ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:355 +msgid "Those can be introduced by comments like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:363 +msgid "" +"While the comment will be correctly removed by ``make``, the trailing two" +" spaces are now part of the variable content. Run ``make`` and check that" +" this is indeed the case:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:372 +msgid "" +"To solve this issue, you can either move the comment, or strip the " +"whitespace with the ``strip`` function instead. Alternatively, you could " +"try to ``join`` the strings." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:383 +msgid "" +"All in all, none of this solutions will make your ``Makefile`` more " +"readable, therefore, it is prudent to pay extra attention to whitespace " +"and comments when writing and using ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:388 +msgid "The meson build system" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:390 +msgid "" +"After you have learned the basics of ``make``, which we call a low-level " +"build system, we will introduce ``meson``, a high-level build system. " +"While you specify in a low-level build system how to build your program, " +"you can use a high-level build system to specify what to build. A high-" +"level build system will deal for you with how and generate build files " +"for a low-level build system." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:397 +msgid "" +"There are plenty of high-level build systems available, but we will focus" +" on ``meson`` because it is constructed to be particularly user friendly." +" The default low-level build-system of ``meson`` is called ``ninja``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:401 +msgid "Let's have a look at a complete ``meson.build`` file:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:409 +msgid "" +"And we are already done, the next step is to configure our low-level " +"build system with ``meson setup build``, you should see output somewhat " +"similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:427 +msgid "" +"The provided information at this point is already more detailed than " +"anything we could have provided in a ``Makefile``, let's run the build " +"with ``ninja -C build``, which should show something like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:436 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. We note the steps ``ninja`` performed are the same we would " +"have coded up in a ``Makefile`` (including the dependency), yet we did " +"not have to specify them, have a look at your ``meson.build`` file again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:446 +msgid "" +"We only specified that we have a Fortran project (which happens to " +"require a certain version of ``meson`` for the Fortran support) and told " +"``meson`` to build an executable ``my_prog`` from the files " +"``tabulate.f90`` and ``functions.f90``. We had not to tell ``meson`` how " +"to build the project, it figured this out by itself." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:454 +msgid "" +"``meson`` is a cross-platform build system, the project you just " +"specified for your program can be used to compile binaries for your " +"native operating system or to cross-compile your project for other " +"platforms. Similarly, the ``meson.build`` file is portable and will work " +"on different platforms as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:461 +msgid "" +"The documentation of ``meson`` can be found at the meson-build webpage." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:465 +msgid "Creating a CMake project" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:467 +msgid "" +"Similar to ``meson`` CMake is a high-level build system as well and " +"commonly used to build Fortran projects." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:471 +msgid "" +"CMake follows a slightly different strategy and provides you with a " +"complete programming language to create your build files. This is has the" +" advantage that you can do almost everything with CMake, but your CMake " +"build files can also become as complex as the program you are building." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:478 +msgid "Start by creating the file ``CMakeLists.txt`` with the content" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:486 +msgid "" +"Similar to ``meson`` we are already done with our CMake build file. We " +"configure our low-level build files with ``cmake -B build -G Ninja``, you" +" should see output similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:500 +msgid "" +"You might be surprised that CMake tries to use the compiler ``f95``, " +"fortunately this is just a symbolic link to ``gfortran`` on most systems " +"and not the actual ``f95`` compiler. To give CMake a better hint you can " +"export the environment variable ``FC=gfortran`` rerunning should show the" +" correct compiler name now" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:516 +msgid "" +"In a similar manner you could use your Intel Fortran compiler instead to " +"build your project (set ``FC=ifort``)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:519 +msgid "" +"CMake provides support for several low-level build files, since the " +"default is platform specific, we will just use ``ninja`` since we already" +" used it together with ``meson``. As before, build your project with " +"``ninja -C build``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:530 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. The steps ``ninja`` performed are somewhat different, because " +"there is usually more than one way to write the low-level build files to " +"accomplish the task of building a project. Fortunately, we do not have to" +" concern ourselves but have our build system handle those details for us." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:536 +msgid "" +"Finally, we will shortly recap on our complete ``CMakeLists.txt`` to " +"specify our project:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:545 +msgid "" +"We specified that we have a Fortran project and told CMake to create an " +"executable ``my_prog`` from the files ``tabulate.f90`` and " +"``functions.f90``. CMake knows the details how to build the executable " +"from the specified sources, so we do not have to worry about the actual " +"steps in the build process." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:551 +msgid "" +"CMake's offical reference can be found at the CMake webpage. It is organised in manpages, which " +"are also available with your local CMake installation as well using ``man" +" cmake``. While it covers all functionality of CMake, it sometimes covers" +" them only very briefly." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:8 +msgid "Compiling the source code" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:10 +msgid "" +"The first step in the build process is to compile the source code. The " +"output from this step is generally known as the object code — a set of " +"instructions for the computer generated from the human-readable source " +"code. Different compilers will produce different object codes from the " +"same source code and the naming conventions are different." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:16 +msgid "The consequences:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:18 +msgid "" +"If you use a particular compiler for one source file, you need to use the" +" same compiler (or a compatible one) for all other pieces. After all, a " +"program may be built from many different source files and the compiled " +"pieces have to cooperate." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:22 +msgid "" +"Each source file will be compiled and the result is stored in a file with" +" an extension like \".o\" or \".obj\". It is these object files that are " +"the input for the next step: the link process." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:26 +msgid "" +"Compilers are complex pieces of software: they have to understand the " +"language in much more detail and depth than the average programmer. They " +"also need to understand the inner working of the computer. And then, over" +" the years they have been extended with numerous options to customise the" +" compilation process and the final program that will be built." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:33 +msgid "" +"But the basics are simple enough. Take the gfortran compiler, part of the" +" GNU compiler collection. To compile a simple program as the one above, " +"that consists of one source file, you run the following command, assuming" +" the source code is stored in the file \"hello.f90\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:42 +msgid "" +"This results in a file \"hello.o\" (as the gfortran compiler uses \".o\" " +"as the extension for the object files)." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:45 +msgid "" +"The option \"-c\" means: only compile the source files. If you were to " +"leave it out, then the default action of the compiler is to compile the " +"source file and start the linker to build the actual executable program. " +"The command:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:54 +msgid "results in an executable file, \"a.out\" on Linux or \"a.exe\" on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:57 +msgid "Some remarks:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:59 +msgid "" +"The compiler may complain about the contents of the source file, if it " +"finds something wrong with it — a typo for instance or an unknown " +"keyword. In that case the compilation process is broken off and you will " +"not get an object file or an executable program. For instance, if the " +"word \"program\" was inadvertently typed as \"prgoram\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:80 +msgid "" +"Using this compilation report you can correct the source code and try " +"again." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:83 +msgid "" +"The step without \"-c\" can only succeed if the source file contains a " +"main program — characterised by the `program` statement in Fortran. " +"Otherwise the link step will complain about a missing \"symbol\", " +"something along these lines:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:95 +msgid "" +"The file \"hello2.f90\" is almost the same as the file \"hello.f90\", " +"except that the keyword `program` has been replaced by the keyword " +"`subroutine`." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:98 +msgid "" +"The above examples of output from the compiler will differ per compiler " +"and platform on which it runs. These examples come from the gfortran " +"compiler running in a Cygwin environment on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:102 +msgid "Compilers also differ in the options they support, but in general:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:104 +msgid "" +"Options for optimising the code — resulting in faster programs or smaller" +" memory footprints;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:106 +msgid "" +"Options for checking the source code — checks that a variable is not used" +" before it has been given a value, for instance or checks if some " +"extension to the language is used;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:109 +msgid "Options for the location of include or module files, see below;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:110 +msgid "Options for debugging." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:8 +msgid "Distributing your programs" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:10 +msgid "" +"When you distribute your programs, there are a number of options you can " +"choose from:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:13 +msgid "Distribute the entire source code" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:14 +msgid "Distribute a pre-built executable program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:15 +msgid "Distribute static or dynamic libraries that people can use" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:17 +msgid "__Option 1: Distribute the entire source code__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:19 +msgid "" +"By far the simplest — for you as a programmer — is this one: you leave it" +" up to the user to build it on their own machine. Unfortunately, that " +"means you will have to have a user-friendly build system in place and the" +" user will have to have access to suitable compilers. For build systems: " +"see the previous section." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:25 +msgid "__Option 2: Distribute a pre-built executable program__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:27 +msgid "" +"A pre-built program that does not need to be customised, other than via " +"its input, will still need to come with the various run-time libraries " +"and will be specific to the operating system/environment it was built " +"for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:31 +msgid "" +"The set of run-time libraries differs per operating system and compiler " +"version. For a freely available compiler like gfortran, the easiest thing" +" is to ask the user to install that compiler on their system. In the case" +" of Windows: the Cygwin environment may be called for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:36 +msgid "" +"Alternatively, you can supply copies of the run-time libraries together " +"with your program. Put them in the directory where they can be found at " +"run-time." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:39 +msgid "" +"Note: On Windows, the Intel Fortran comes with a set of _redistributable_" +" libraries. These will need to be made available." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:42 +msgid "" +"In general: use a tool like \"ldd\" or \"dependency walker\" to find out " +"what libraries are required and consult the documentation of the " +"compiler." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:45 +msgid "" +"If your program does allow customisation, consider using dynamic " +"libraries for this. More is said about this below." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:48 +msgid "__Option 3: Distribute static or dynamic libraries that people can use__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:50 +msgid "" +"This option is a combination of the first two options. It does put some " +"burden on the user, as they must create a main program that calls your " +"routines in the proper way, but they do not need to know much about the " +"build system you used. You will have to deal with the run-time libraries," +" though." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:55 +msgid "" +"If you choose this option, besides the compiled libraries, you will also " +"need to supply the module intermediate files. These files are compiler-" +"specific, but so are the static libraries you build." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:59 +msgid "Distributing the tabulation program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:60 +msgid "" +"As shown above, the tabulation program can be built with the user-defined" +" function in a dynamic library. This enables you to:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:63 +msgid "Ship the executable (with the appropriate run-time libraries)" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:64 +msgid "Provide a skeleton version of the module, something like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:82 +msgid "Provide a basic build script with a command like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:88 +msgid "or:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:94 +msgid "" +"As said, you cannot control that the user has done the right thing — any " +"DLL \"functions.dll\" with a function `f` would be accepted, but not " +"necessarily lead to a successful run." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:98 +msgid "" +"An alternative set-up would be to change the main program into a " +"subroutine and have the function as an argument:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:120 +msgid "Then provide a skeleton main program:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:140 +msgid "" +"The advantage is that the compiler can check the interface of the " +"function that is passed and that the user has more freedom in the use of " +"the functionality provided by your library." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:8 +msgid "Include files and modules" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:10 +msgid "" +"Your program can be contained in various source files, all stored in the " +"same directory or organised in some convenient directory tree. The " +"details of the organisation depend on personal taste, arrangements made " +"by the group of developers you belong to, or simply the history of the " +"program. Whatever the directory structure is, you will encounter a " +"situation where the compiler needs assistence in order to compile a " +"particular source file:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:18 +msgid "" +"Fortran (and other languages) has the possibility to include an external " +"file. While this feature has become a bit less useful with the advent of " +"modules, it still has its uses. Quite often, such \"include files\" are " +"stored in a directory separated from the directories containing the " +"source files, because they are used in several locations. Quite often the" +" name of that directory is \"include\"." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:24 +msgid "" +"As we have seen, compiling source code that defines one or more modules, " +"leads to the compiler generating so-called \"module intermediate files\" " +"(with the extension \".mod\"). The compiler needs access to these files " +"to be able to read the interfaces and variables and what not, and based " +"on this information, actually compile the source code that uses the " +"various modules." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:30 +msgid "" +"Compilers support options like `-I` to indicate where these include files" +" and module intermediate files are to be found. Suppose we store the two " +"files of our `tabulate` program in the following directory structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:43 +msgid "Compiling the file \"functions.f90\" with the commands" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:50 +msgid "leads to this structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:62 +msgid "" +"To successfully compile and subsequently build the program we need to " +"tell the compiler where it can find the file \"user\\_functions.mod\":" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:71 +msgid "The result:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:85 +msgid "Notes:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:87 +msgid "" +"The details differ per compiler. Sometimes the `-I` option should be " +"followed by a space and then the name of the directory, sometimes the " +"directory should come consecutively." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:90 +msgid "" +"By default the module intermediate files (.mod) are put in the same " +"directory as the object files. When your program code is organised in " +"different subdirectories, they will get scattered over the directory " +"tree, complicating the compilation process. Luckily, many compilers allow" +" you to specify the output location for these files. For gfortran this is" +" `-J`, for instance: `-J../include` (so that the .mod files could all " +"appear in the same directory)" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:98 +msgid "" +"For large programs, consisting of many source files, it is important to " +"think through what organisation to use." +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "build tools" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "include files" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "managing libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "compiling source" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "project make" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "distributing" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "linking pieces" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "runtime libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:9 +msgid "Building programs" +msgstr "" + +#: ../../source/learn/building_programs/index.md:11 +msgid "" +"Languages like Fortran, C, C++ and Java, to name but a few, share certain" +" characteristics: you write code in your language of choice but then you " +"have to build an executable program from that source code. Other " +"languages are interpreted — the source code is analysed by a special " +"program and taken as direct instructions. Two very simple examples of " +"that type of language: Windows batch files and Linux shell scripts." +msgstr "" + +#: ../../source/learn/building_programs/index.md:19 +msgid "" +"In this tutorial we concentrate on the first type of languages, with " +"Fortran as the main example. One advantage of compiled languages is that " +"the build process that you need to build an executable program, is used " +"to transform the human-readable source code into an efficient program " +"that can be run on the computer." +msgstr "" + +#: ../../source/learn/building_programs/index.md:25 +msgid "" +"Remark: this tutorial gives examples for the Windows and Linux operating " +"systems, however the workflow and general principles still apply to " +"macOS." +msgstr "" + +#: ../../source/learn/building_programs/index.md:28 +msgid "Compiled languages" +msgstr "" + +#: ../../source/learn/building_programs/index.md:30 +msgid "Let us have a look at a simple example:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:38 +msgid "" +"This is just about the simplest program you can write in Fortran and it " +"is certainly a variation on one of the most famous programs. Even though " +"it is simple to express in source code, a lot of things actually happen " +"when the executable that is built from this code runs:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:43 +msgid "" +"A process is started on the computer in such a way that it can write to " +"the console — the window (DOS-box, xterm, ...) at which you type the " +"program's name." +msgstr "" + +#: ../../source/learn/building_programs/index.md:46 +msgid "" +"It writes the text \"Hello!\" to the console. To do so it must properly " +"interact with the console." +msgstr "" + +#: ../../source/learn/building_programs/index.md:48 +msgid "" +"When done, it finishes, cleaning up all the resources (memory, connection" +" to the console etc.) it took." +msgstr "" + +#: ../../source/learn/building_programs/index.md:51 +msgid "" +"Fortunately, as a programmer in a high-level language you do not need to " +"consider all these details. In fact, this is the sort of things that is " +"taken care of by the build process: the compiler and the linker." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:8 +msgid "Linking the objects" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:10 +msgid "" +"Almost all programs, except for the simplest, are built up from different" +" pieces. We are going to examine such a situation in more detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:14 +msgid "" +"Here is a general program for tabulating a function (source code in " +"\"tabulate.f90\"):" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:35 +msgid "Note the `use` statement — this will be where we define the function `f`." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:37 +msgid "" +"We want to make the program general, so keep the specific source code — " +"the implementation of the function `f` — separated from the general " +"source code. There are several ways to achieve this, but one is to put it" +" in a different source file. We can give the general program to a user " +"and they provide a specific source code." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:43 +msgid "" +"Assume for the sake of the example that the function is implemented in a " +"source file \"function.f90\" as:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:59 +msgid "" +"To build the program with this specific function, we need to compile two " +"source files and combine them via the link step into one executable " +"program. Because the program \"tabulate\" depends on the module " +"\"function\", we need to compile the source file containing our module " +"first. A sequence of commands to do this is:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:70 +msgid "" +"The first step compiles the module, resulting in an object file " +"\"functions.o\" and a module intermediate file, \"user\\_functions.mod\"." +" This module file contains all the information the compiler needs to " +"determine that the function `f` is defined in this module and what its " +"interface is. This information is important: it enables the compiler to " +"check that you call the function in the right way. It might be that you " +"made a mistake and called the function with two arguments instead of one." +" If the compiler does not know anything about the function's interface, " +"then it cannot check anything." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:80 +msgid "The second step invokes the compiler in such a way that:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:82 +msgid "it compiles the file \"tabulate.f90\" (using the module file);" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:83 +msgid "" +"it invokes the linker to combine the object files tabulate.o and " +"functions.o into an executable program — with the default name \"a.out\" " +"or \"a.exe\" (if you want a different name, use the option \"-o\")." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:87 +msgid "" +"What you do not see in general is that the linker also adds a number of " +"extra files in this link step, the run-time libraries. These run-time " +"libraries contain all the \"standard\" stuff — low-level routines that do" +" the input and output to screen, the `sin` function and much more." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:92 +msgid "" +"If you want to see the gory details, add the option \"-v\". This " +"instructs the compiler to report all the steps that are in detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:95 +msgid "" +"The end result, the executable program, contains the compiled source code" +" and various auxiliary routines that make it work. It also contains " +"references to so-called dynamic run-time libraries (in Windows: DLLs, in " +"Linux: shared objects or shared libraries). Without these run-time " +"libraries the program will not start." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:8 +msgid "Managing libraries (static and dynamic libraries)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:10 +msgid "" +"If you need to manage a program built of dozens of source files (and that" +" is not uncommon!), the command-line needed to specify all the object " +"files will be very long indeed. This soon becomes tedious or even " +"impossible to maintain. So a different solution is called for: create " +"your own libraries." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:16 +msgid "" +"Libraries contain any number of object files in a compact form, so that " +"the command-line becomes far shorter:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:23 +msgid "" +"where \"supportlib.a\" is a collection of one, two or many object files, " +"all compiled and then put into a library. The extension \".a\" is used by" +" Linux and Linux-like platforms. On Windows the extension \".lib\" is " +"used." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:27 +msgid "" +"Creating your own libraries is not that complicated: on Linux, you can " +"achieve this using a utility like `ar`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:37 +msgid "or on Windows using the `lib` utility:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:46 +msgid "Note:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:48 +msgid "" +"The command `ar` with the option `r` either creates the library (the name" +" appears after the option) or adds new object files to the library (or " +"replaces any existing ones)." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:51 +msgid "" +"The command `lib` will create a new library if you use specify the option" +" `/out:` with the name of the new library next to it. To add object files" +" to an existing library, leave out the `/out:` bit." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:54 +msgid "" +"On platforms like Linux there is a particular convention to name " +"libraries. If you name your library like \"libname.a\" (note the \"lib\" " +"prefix), then you can refer to it as `-lname` in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:57 +msgid "" +"Libraries are often sought in directories indicated by an option `-L` or " +"`/LIBPATH`. This saves you from having to specify the exact path for " +"every library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:61 +msgid "" +"Using libraries you can build very large programs without having to " +"resort to extremely long command lines." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:65 +msgid "Static versus dynamic libraries" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:67 +msgid "" +"The above discussion is tacitly assuming that you are using the so-called" +" static libraries. Static libraries (or at least parts of their contents)" +" become an integral part of the executable program. The only way to " +"change the routines incorporated in the program is by rebuilding the " +"program with a new version of the library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:73 +msgid "" +"A flexible alternative is to use the so-called dynamic libraries. These " +"libraries remain outside the executable program and as a consequence can " +"be replaced without rebulding the entire program. Compilers and indeed " +"the operating system itself rely heavily on such dynamic libraries. You " +"could consider dynamic libraries as a sort of executable programs that " +"need a bit of help to be run." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:80 +msgid "" +"Building dynamic libraries works slightly differently from building " +"static libraries: you use the compiler/linker instead of a tool like `ar`" +" or `lib`." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:84 +msgid "On Linux:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:92 +msgid "On Windows, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:100 +msgid "The differences are that:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:102 +msgid "" +"You need to specify a compile option on Linux, for gfortran that is " +"`-fpic`, because the object code is slightly different." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:104 +msgid "" +"You need to tell in the link step that you want a dynamic library (on " +"Linux: a shared object/library, hence the extension \".so\"; on Windows: " +"a dynamic link library)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:108 +msgid "" +"There is one more thing to be aware of: On Windows you must explicitly " +"specify that a procedure is to be _exported_, i.e. is visible in the " +"dynamic library. There are several ways — depending on the compiler you " +"use — to achieve this. One method is via a so-called compiler directive:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:119 +msgid "Or, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:126 +msgid "" +"Besides a dynamic library (DLL), a so-called import library may be " +"generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:129 +msgid "" +"Because the details differ per compiler, here are two examples: gfortran " +"on Cygwin and Intel Fortran on Windows. In both cases we look at the " +"`tabulate` program in the file \"tabulate.f90\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:133 +msgid "GNU/Linux and gfortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:134 +msgid "" +"The `tabulate` program requires a user-defined routine `f`. If we let it " +"reside in a dynamic library, say \"functions.dll\", we can simply replace" +" the implementation of the function by putting another dynamic library in" +" the directory. No need to rebuild the program as such." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:139 +msgid "" +"On Cygwin it is not necessary to explicitly export a procedure — all " +"publically visible routines are exported when you build a dynamic " +"library. Also, no import library is generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:143 +msgid "" +"Since our dynamic library can be built from a single source file, we can " +"take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:150 +msgid "" +"This produces the files \"functions.dll\" and \"user\\_functions.mod\". " +"The utility `nm` tells us the exact name of the function `f`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:165 +msgid "" +"It has received a prefix `__function_MOD_` to distinguish it from any " +"other routine \"f\" that might be defined in another module." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:168 +msgid "The next step is to build the program:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:174 +msgid "" +"The DLL and the .mod file are used to build the executable program with " +"checks on the function's interface, the right name and the reference to " +"\"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:178 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, " +"implementing a different function \"f\". Of course, you need to be " +"careful to use the correct interface for this function. The " +"compiler/linker are not invoked anymore, so they can do no checking." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:183 +msgid "Windows and Intel Fortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:184 +msgid "" +"The setup is the same as with Linux, but on Windows it is necessary to " +"explicitly export the routines. And an import library is generated — this" +" is the library that should be used in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:188 +msgid "" +"The source file must contain the compiler directive, otherwise the " +"function `f` is not exported:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:196 +msgid "Again we take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:202 +msgid "" +"This produces the files \"functions.dll\", \"user\\_functions.mod\" as " +"well as \"functions.lib\" (and two other files of no importance here). " +"The \"dependency walker\" program tells us that the exact name of the " +"function \"f\" is `FUNCTION_mp_F`. It is also exported, so that it can be" +" found by the linker in the next step:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:211 +msgid "Note that we need to specify the name of the export library, not the DLL!" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:213 +msgid "" +"(Note also: the Intel Fortran compiler uses the name of the first source " +"file as the name for the executable — here we do without the `-exe` " +"option.)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:216 +msgid "" +"Just as under Cygwin, the DLL and the .mod file are used to build the " +"executable program with checks on the function's interface, the right " +"name and the reference to \"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:220 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, but " +"the same caution is required: while the implementation can be quite " +"different, the function's interface must be the same." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:8 +msgid "An introduction to make" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:10 +msgid "" +"We briefly discussed the basics of ``make``. This chapter gives ideas and" +" strategies to scale ``make`` for larger projects." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:13 +msgid "Before going into detail with ``make``, consider a few points:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:14 +msgid "" +"``make`` is a Unix tool and might give you a hard time when porting to " +"non-Unix platforms. That said, there are also different flavors of " +"``make`` available, not all might support the features you want to use." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:17 +msgid "" +"While ``make`` gives you full control over the build process, it also " +"means you are responsible for the entire build process, and you have to " +"specify the rules for every detail of your project. You might find " +"yourself spending a significant amount of time writing and maintaining " +"your ``Makefile`` instead of developing your source code." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:21 +msgid "" +"You can work with your ``Makefile``, but think about other developers on " +"your project who may not be familiar with ``make``. How much time do you " +"expect them to spend learning your ``Makefile`` and would they be able to" +" debug or add features?" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:24 +msgid "" +"Pure ``make`` will not scale. You will soon add auxiliary programs to " +"dynamically or statically generate your ``Makefile``. Those introduce " +"dependencies and possible sources of errors. The effort needed to test " +"and document those tools should not be underestimated." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:29 +msgid "" +"If you think ``make`` is suitable for your needs, than you can start " +"writing your ``Makefile``. For this course we will use real world " +"examples from the package index, which (at the time of writing) use build" +" systems other than ``make``. This guide should present a general " +"recommended style to write ``make``, but also serve as demonstration of " +"useful and interesting features." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:36 +msgid "" +"Even if you find ``make`` unsuitable to build your project, it is *the* " +"tool to automate workflows defined by files. Maybe you can leverage its " +"power in a different context." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:39 +msgid "Getting started" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:41 +msgid "" +"For this part we will work with the Fortran CSV module (v1.2.0). " +"Our goal is to write a ``Makefile`` to compile this project to a static " +"library. Start by cloning the repository" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:52 +msgid "" +"For this part we will work with the code from tag ``1.2.0``, to make it " +"as reproducible as possible. Feel free to use the latest version or " +"another project instead." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:55 +msgid "" +"This project uses FoBiS as build system, and you can check the " +"``build.sh`` for options used with FoBiS. We are about to write a " +"``Makefile`` for this project. First, we check the directory structure " +"and the source files" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:77 +msgid "" +"We find seven different Fortran source files; the four in ``src`` should " +"be compiled and added to a static library while the three in " +"``src/tests`` contain individual programs that depend on this static " +"library." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:81 +msgid "Start by creating a simple ``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:147 +msgid "" +"Invoking ``make`` should build the static library and the test " +"executables as expected:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:162 +msgid "" +"There are a few things to note there, a ``make`` build usually interlaces" +" the build artifacts and the source code, unless you put extra effort " +"into implementing a build directory. Also, right now the the source files" +" and dependencies are specified explicitly, which results in several " +"additional lines even for such a simple project." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:169 +msgid "Automatically generated dependencies" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:171 +msgid "" +"The main drawback of ``make`` for Fortran is the missing capability to " +"determine module dependencies. This is usually solved by either adding " +"those by hand or automatically scanning the source code with an external " +"tool. Some compilers (like the Intel Fortran compiler) also offer to " +"generate dependencies in ``make`` format." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:176 +msgid "" +"Before diving into the dependency generation, we will outline the concept" +" of a robust take on the dependency problem. First, we want an approach " +"that can process all source files independently, while each source file " +"provides (``module``) or requires (``use``) modules. When generating the " +"dependencies only the name of the source file and the module files are " +"known, and no information on the object file names should be required." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:184 +msgid "" +"If you check the dependency section above you will note that all " +"dependencies are defined between object files rather than source files. " +"To change this, we can generate a map from the source files their " +"respective object files:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:194 +msgid "" +"Note the declaration of ``obj`` as recursively expanded variable, we " +"effectively use this mechanism to define a function in ``make``. The " +"``foreach`` function allows us to loop over all source files, while the " +"``eval`` function allows us to generate ``make`` statements and evaluate " +"them for this ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:199 +msgid "" +"We adjust the dependencies accordingly as we can now define the name of " +"the object files through the source file names:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:219 +msgid "" +"The same strategy of creating a map is already used for the module files," +" now it is just expanded to the object files as well." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:222 +msgid "" +"To generate the respective dependency map automatically we will use an " +"``awk`` script here" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:284 +msgid "" +"This script makes a few assumptions about the source code it parses, so " +"it will not work with all Fortran code (namely submodules are not " +"supported), but for this example it will suffice." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:289 +msgid "Using awk" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:291 +msgid "" +"The above script uses the ``awk`` language, which is designed for the " +"purpose of text stream processing and uses a C-like syntax. In ``awk`` " +"you can define groups which are evaluated on certain events, *e.g.* when " +"a line matches a specific pattern, usually expressed by a regular expression." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:297 +msgid "" +"This ``awk`` script defines five groups, two of them use the special " +"pattern ``BEGIN`` and ``END`` which are run before the script starts and " +"after the script finishes, respectively. Before the script starts we make" +" the script case-insensitive since we are dealing with Fortran source " +"code here. We also use the special variable ``FILENAME`` to determine " +"which file we are currently parsing and to allow processing multiple " +"files at once." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:305 +msgid "" +"With the three patterns defined we are looking for ``module``, ``use`` " +"and ``include`` statements as the first space delimited entry. With the " +"used pattern not all valid Fortran code will be parsed correctly. A " +"failing example would be:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:314 +msgid "" +"To make this parsable by the ``awk`` script we can add another group " +"directly after the ``BEGIN`` group, modifying the stream while processing" +" it with" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:323 +msgid "" +"In theory you would need a full Fortran parser to deal with continuation " +"lines and other difficulties. This might be possible to implement in " +"``awk`` but would require a huge script in the end." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:327 +msgid "" +"Also, keep in mind that generating the dependencies should be fast, an " +"expensive parser can produce a significant overhead when generating " +"dependencies for a large code base. Making reasonable assumptions can " +"simplify and speed up this step, but also introduces an error source in " +"your build tools." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:334 +msgid "" +"Make the script executable (``chmod +x gen-deps.awk``) and test it with " +"``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output " +"like this:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:356 +msgid "" +"Note that the scripts output will use recursively expanded variables and " +"not define any dependencies yet, because out-of-order declaration of " +"variables might be necessary and we do not want to create any target by " +"accident. You can verify that the same information as in the above " +"handwritten snippet is present. The only exception is the additional " +"dependency on the ``iso_fortran_env.mod``, since it is an undefined " +"variable it will just expand to an empty string and not introduce any " +"further dependencies." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:364 +msgid "" +"Now, you can finally include this piece in your ``Makefile`` to automate " +"the dependency generation:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:431 +msgid "" +"Here additional dependency files are generated for each source file " +"individually and than included into the main ``Makefile``. Also, the " +"dependency files are added as dependency to the object files to ensure " +"they are generated before the object is compiled. The pipe character in " +"the dependencies defines an order of the rules without a timestamp " +"dependency, because it is not necessary to recompile an object file in " +"case dependencies are regenerated and potentially unchanged." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:439 +msgid "" +"Again, we make use of the ``eval`` function to generate the dependencies " +"in a ``foreach`` loop over all object files. Note that we created a map " +"between the object files in the dependency files, expanding ``dep`` once " +"yields the object file name, expanding it again yields the object files " +"it depends on." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:444 +msgid "Building your project with ``make`` should give an output similar to" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:465 +msgid "" +"Once the dependency files are generated, ``make`` will only update them " +"if the source changes and not require to rebuild them again for every " +"invocation." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:469 +msgid "" +"With correct dependencies you can leverage parallel execution of your " +"``Makefile``, just use the ``-j`` flag to create multiple ``make`` " +"processes." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:472 +msgid "" +"Since dependencies can now be generated automatically, there is no need " +"to specify the source files explicitly, the ``wildcard`` function can be " +"used to determine them dynamically:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:8 +msgid "Run-time libraries" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:10 +msgid "" +"To illustrate that even a simple program depends on external run-time " +"libraries, here is the output from the `ldd` utility that reports such " +"dependencies:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:25 +msgid "" +"Other compilers or other versions of the same compiler will probably " +"require different dynamic libraries. As long as you run the program on " +"the same computer — or, more accurately, within the same environment — " +"there should be no problem. However, when such a library cannot be found," +" you will get (hopefully) an error message and the program stops " +"immediately." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:32 +msgid "" +"Therefore it is good to know what libraries are required. On Linux and " +"Linux-like environments, the `ldd` utility is a great help. On Windows, " +"you may want to use the `dependency walker` (the latest version, which " +"works very nicely with Windows 10, is found here: " +")" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:37 +msgid "" +"Another thing you should know is where the program tries to find these " +"libraries. That is a vast subject in its own right and full of " +"complications and history. Here we merely scratch the surface:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:41 +msgid "_On Linux:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:43 +msgid "" +"The environment variable `LD_LIBRARY_PATH` is used. It consists of a list" +" of directories to be searched, each directory separated via colons (:) " +"from the others. For instance: `/usr/lib:/usr/local/lib` — typical system" +" directories." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:47 +msgid "" +"At the link step you can also use an option to set `RPATH`, a list of " +"directories that is put into the executable file itself." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:49 +msgid "Then there are several system directories that are searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:51 +msgid "_On Windows:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:53 +msgid "" +"The directory containing the executable program may also contain dynamic " +"libraries." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:55 +msgid "" +"The environment variable \"PATH\" is used. Again a list of directories to" +" be searched, but now the separating character is the semicolon (;)." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:57 +msgid "A set of system directories is searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:59 +msgid "" +"Unfortunately, the details can change from one version of the operating " +"system to the next. The above is merely an indication — use tools like " +"\"ldd\" or \"dependency walker\" to find out what libraries are loaded " +"and where they are found." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:64 +msgid "" +"If you want to share your program with colleagues or clients or simply " +"users all over the world, you will have to take care that, besides the " +"program, you also distribute the libraries it depends on. For more " +"information: see below." +msgstr "" + +#: ../../source/learn/intrinsics/ARRAY_index.md:1 +#: ../../source/learn/intrinsics/index.md:15 +msgid "Properties and attributes of arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:2 +msgid "merge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:3 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/ACOS.md:3 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:3 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:3 +#: ../../source/learn/intrinsics/_pages/AINT.md:3 +#: ../../source/learn/intrinsics/_pages/ANINT.md:3 +#: ../../source/learn/intrinsics/_pages/ASIN.md:3 +#: ../../source/learn/intrinsics/_pages/ASINH.md:3 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:3 +#: ../../source/learn/intrinsics/_pages/ATANH.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:3 +#: ../../source/learn/intrinsics/_pages/BGE.md:3 +#: ../../source/learn/intrinsics/_pages/BGT.md:3 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/BLE.md:3 +#: ../../source/learn/intrinsics/_pages/BLT.md:3 +#: ../../source/learn/intrinsics/_pages/BTEST.md:3 +#: ../../source/learn/intrinsics/_pages/CEILING.md:3 +#: ../../source/learn/intrinsics/_pages/CHAR.md:3 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:3 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:3 +#: ../../source/learn/intrinsics/_pages/CONJG.md:3 +#: ../../source/learn/intrinsics/_pages/COS.md:3 +#: ../../source/learn/intrinsics/_pages/COSH.md:3 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:3 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:3 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:3 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:3 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:3 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/DBLE.md:3 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:3 +#: ../../source/learn/intrinsics/_pages/DIM.md:3 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:3 +#: ../../source/learn/intrinsics/_pages/DPROD.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:3 +#: ../../source/learn/intrinsics/_pages/ERF.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:3 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:3 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/EXP.md:3 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:3 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:3 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:3 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:3 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:3 +#: ../../source/learn/intrinsics/_pages/HUGE.md:3 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:3 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IALL.md:3 +#: ../../source/learn/intrinsics/_pages/IAND.md:3 +#: ../../source/learn/intrinsics/_pages/IANY.md:3 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:3 +#: ../../source/learn/intrinsics/_pages/IBITS.md:3 +#: ../../source/learn/intrinsics/_pages/IBSET.md:3 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IEOR.md:3 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INT.md:3 +#: ../../source/learn/intrinsics/_pages/IOR.md:3 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:3 +#: ../../source/learn/intrinsics/_pages/KIND.md:3 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:3 +#: ../../source/learn/intrinsics/_pages/LEN.md:3 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/LGE.md:3 +#: ../../source/learn/intrinsics/_pages/LGT.md:3 +#: ../../source/learn/intrinsics/_pages/LLE.md:3 +#: ../../source/learn/intrinsics/_pages/LLT.md:3 +#: ../../source/learn/intrinsics/_pages/LOG.md:3 +#: ../../source/learn/intrinsics/_pages/LOG10.md:3 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:3 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/MASKL.md:3 +#: ../../source/learn/intrinsics/_pages/MASKR.md:3 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:3 +#: ../../source/learn/intrinsics/_pages/MAX.md:3 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:3 +#: ../../source/learn/intrinsics/_pages/MIN.md:3 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MOD.md:3 +#: ../../source/learn/intrinsics/_pages/MODULO.md:3 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:3 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:3 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:3 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/NINT.md:3 +#: ../../source/learn/intrinsics/_pages/NORM2.md:3 +#: ../../source/learn/intrinsics/_pages/NOT.md:3 +#: ../../source/learn/intrinsics/_pages/NULL.md:3 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:3 +#: ../../source/learn/intrinsics/_pages/PACK.md:3 +#: ../../source/learn/intrinsics/_pages/PARITY.md:3 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:3 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:3 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:3 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:3 +#: ../../source/learn/intrinsics/_pages/RADIX.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:3 +#: ../../source/learn/intrinsics/_pages/RANGE.md:3 +#: ../../source/learn/intrinsics/_pages/REAL.md:3 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:3 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:3 +#: ../../source/learn/intrinsics/_pages/SCALE.md:3 +#: ../../source/learn/intrinsics/_pages/SCAN.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/SIGN.md:3 +#: ../../source/learn/intrinsics/_pages/SIN.md:3 +#: ../../source/learn/intrinsics/_pages/SINH.md:3 +#: ../../source/learn/intrinsics/_pages/SPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:3 +#: ../../source/learn/intrinsics/_pages/SQRT.md:3 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:3 +#: ../../source/learn/intrinsics/_pages/TAN.md:3 +#: ../../source/learn/intrinsics/_pages/TANH.md:3 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:3 +#: ../../source/learn/intrinsics/_pages/TINY.md:3 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:3 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:3 +#: ../../source/learn/intrinsics/_pages/TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:3 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:3 +msgid "__Name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:5 +msgid "__merge__(3) - \\[ARRAY CONSTRUCTION\\] Merge variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:7 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:7 +#: ../../source/learn/intrinsics/_pages/ACOS.md:6 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:7 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:8 +#: ../../source/learn/intrinsics/_pages/AINT.md:8 +#: ../../source/learn/intrinsics/_pages/ANINT.md:8 +#: ../../source/learn/intrinsics/_pages/ASIN.md:7 +#: ../../source/learn/intrinsics/_pages/ASINH.md:8 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/ATAN.md:7 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:7 +#: ../../source/learn/intrinsics/_pages/ATANH.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:7 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:8 +#: ../../source/learn/intrinsics/_pages/BGE.md:8 +#: ../../source/learn/intrinsics/_pages/BGT.md:8 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:7 +#: ../../source/learn/intrinsics/_pages/BLE.md:8 +#: ../../source/learn/intrinsics/_pages/BLT.md:8 +#: ../../source/learn/intrinsics/_pages/BTEST.md:7 +#: ../../source/learn/intrinsics/_pages/CEILING.md:8 +#: ../../source/learn/intrinsics/_pages/CHAR.md:8 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:8 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:7 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:8 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:8 +#: ../../source/learn/intrinsics/_pages/CONJG.md:7 +#: ../../source/learn/intrinsics/_pages/COS.md:7 +#: ../../source/learn/intrinsics/_pages/COSH.md:8 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:8 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:8 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:8 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:8 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:8 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/DBLE.md:8 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:7 +#: ../../source/learn/intrinsics/_pages/DIM.md:8 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:8 +#: ../../source/learn/intrinsics/_pages/DPROD.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:7 +#: ../../source/learn/intrinsics/_pages/ERF.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:8 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:8 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:8 +#: ../../source/learn/intrinsics/_pages/EXP.md:7 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:8 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:7 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:8 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:7 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:7 +#: ../../source/learn/intrinsics/_pages/HUGE.md:7 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:7 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IALL.md:8 +#: ../../source/learn/intrinsics/_pages/IAND.md:8 +#: ../../source/learn/intrinsics/_pages/IANY.md:8 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:8 +#: ../../source/learn/intrinsics/_pages/IBITS.md:8 +#: ../../source/learn/intrinsics/_pages/IBSET.md:8 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IEOR.md:8 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INT.md:6 +#: ../../source/learn/intrinsics/_pages/IOR.md:8 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:8 +#: ../../source/learn/intrinsics/_pages/KIND.md:8 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:8 +#: ../../source/learn/intrinsics/_pages/LEN.md:7 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:7 +#: ../../source/learn/intrinsics/_pages/LGE.md:8 +#: ../../source/learn/intrinsics/_pages/LGT.md:8 +#: ../../source/learn/intrinsics/_pages/LLE.md:8 +#: ../../source/learn/intrinsics/_pages/LLT.md:8 +#: ../../source/learn/intrinsics/_pages/LOG.md:8 +#: ../../source/learn/intrinsics/_pages/LOG10.md:7 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:8 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:8 +#: ../../source/learn/intrinsics/_pages/MASKL.md:7 +#: ../../source/learn/intrinsics/_pages/MASKR.md:7 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:8 +#: ../../source/learn/intrinsics/_pages/MAX.md:7 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MERGE.md:7 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:7 +#: ../../source/learn/intrinsics/_pages/MIN.md:8 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MOD.md:8 +#: ../../source/learn/intrinsics/_pages/MODULO.md:8 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:8 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:8 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:8 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:7 +#: ../../source/learn/intrinsics/_pages/NINT.md:7 +#: ../../source/learn/intrinsics/_pages/NORM2.md:8 +#: ../../source/learn/intrinsics/_pages/NOT.md:6 +#: ../../source/learn/intrinsics/_pages/NULL.md:8 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:8 +#: ../../source/learn/intrinsics/_pages/PACK.md:7 +#: ../../source/learn/intrinsics/_pages/PARITY.md:8 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:8 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:8 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:8 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:8 +#: ../../source/learn/intrinsics/_pages/RADIX.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:8 +#: ../../source/learn/intrinsics/_pages/RANGE.md:8 +#: ../../source/learn/intrinsics/_pages/REAL.md:7 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:8 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:8 +#: ../../source/learn/intrinsics/_pages/SCALE.md:8 +#: ../../source/learn/intrinsics/_pages/SCAN.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/SIGN.md:8 +#: ../../source/learn/intrinsics/_pages/SIN.md:7 +#: ../../source/learn/intrinsics/_pages/SINH.md:7 +#: ../../source/learn/intrinsics/_pages/SPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:8 +#: ../../source/learn/intrinsics/_pages/SQRT.md:7 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:8 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:8 +#: ../../source/learn/intrinsics/_pages/TAN.md:8 +#: ../../source/learn/intrinsics/_pages/TANH.md:8 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:8 +#: ../../source/learn/intrinsics/_pages/TINY.md:8 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:7 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:8 +#: ../../source/learn/intrinsics/_pages/TRIM.md:8 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:8 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:7 +msgid "__Syntax__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:23 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:18 +#: ../../source/learn/intrinsics/_pages/ACOS.md:17 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:18 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:15 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:15 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:16 +#: ../../source/learn/intrinsics/_pages/AINT.md:25 +#: ../../source/learn/intrinsics/_pages/ANINT.md:12 +#: ../../source/learn/intrinsics/_pages/ASIN.md:17 +#: ../../source/learn/intrinsics/_pages/ASINH.md:18 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/ATAN.md:18 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:11 +#: ../../source/learn/intrinsics/_pages/ATANH.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:11 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:17 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:14 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:14 +#: ../../source/learn/intrinsics/_pages/BGE.md:12 +#: ../../source/learn/intrinsics/_pages/BGT.md:12 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:14 +#: ../../source/learn/intrinsics/_pages/BLE.md:12 +#: ../../source/learn/intrinsics/_pages/BLT.md:12 +#: ../../source/learn/intrinsics/_pages/BTEST.md:17 +#: ../../source/learn/intrinsics/_pages/CEILING.md:16 +#: ../../source/learn/intrinsics/_pages/CHAR.md:16 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:17 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:14 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:12 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:14 +#: ../../source/learn/intrinsics/_pages/CONJG.md:16 +#: ../../source/learn/intrinsics/_pages/COS.md:17 +#: ../../source/learn/intrinsics/_pages/COSH.md:19 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:12 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:12 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:12 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:12 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:12 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:12 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:16 +#: ../../source/learn/intrinsics/_pages/DBLE.md:18 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:17 +#: ../../source/learn/intrinsics/_pages/DIM.md:17 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:12 +#: ../../source/learn/intrinsics/_pages/DPROD.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:11 +#: ../../source/learn/intrinsics/_pages/ERF.md:12 +#: ../../source/learn/intrinsics/_pages/ERFC.md:16 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:12 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:12 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:18 +#: ../../source/learn/intrinsics/_pages/EXP.md:11 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:12 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:17 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:12 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:11 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:16 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:17 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:17 +#: ../../source/learn/intrinsics/_pages/HUGE.md:18 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:16 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:12 +#: ../../source/learn/intrinsics/_pages/IALL.md:16 +#: ../../source/learn/intrinsics/_pages/IAND.md:12 +#: ../../source/learn/intrinsics/_pages/IANY.md:16 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:12 +#: ../../source/learn/intrinsics/_pages/IBITS.md:12 +#: ../../source/learn/intrinsics/_pages/IBSET.md:12 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:15 +#: ../../source/learn/intrinsics/_pages/IEOR.md:12 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:12 +#: ../../source/learn/intrinsics/_pages/INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/INT.md:14 +#: ../../source/learn/intrinsics/_pages/IOR.md:14 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:16 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:12 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:12 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:15 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:12 +#: ../../source/learn/intrinsics/_pages/KIND.md:12 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:12 +#: ../../source/learn/intrinsics/_pages/LEN.md:19 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/LGE.md:12 +#: ../../source/learn/intrinsics/_pages/LGT.md:12 +#: ../../source/learn/intrinsics/_pages/LLE.md:18 +#: ../../source/learn/intrinsics/_pages/LLT.md:12 +#: ../../source/learn/intrinsics/_pages/LOG.md:12 +#: ../../source/learn/intrinsics/_pages/LOG10.md:14 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:16 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:12 +#: ../../source/learn/intrinsics/_pages/MASKL.md:14 +#: ../../source/learn/intrinsics/_pages/MASKR.md:14 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:12 +#: ../../source/learn/intrinsics/_pages/MAX.md:11 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MERGE.md:11 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:19 +#: ../../source/learn/intrinsics/_pages/MIN.md:12 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MOD.md:12 +#: ../../source/learn/intrinsics/_pages/MODULO.md:12 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:12 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:12 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:12 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:14 +#: ../../source/learn/intrinsics/_pages/NINT.md:13 +#: ../../source/learn/intrinsics/_pages/NORM2.md:17 +#: ../../source/learn/intrinsics/_pages/NOT.md:10 +#: ../../source/learn/intrinsics/_pages/NULL.md:13 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:12 +#: ../../source/learn/intrinsics/_pages/PACK.md:20 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:12 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:12 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:12 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:15 +#: ../../source/learn/intrinsics/_pages/RADIX.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:12 +#: ../../source/learn/intrinsics/_pages/RANGE.md:18 +#: ../../source/learn/intrinsics/_pages/REAL.md:11 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:16 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:12 +#: ../../source/learn/intrinsics/_pages/SCALE.md:15 +#: ../../source/learn/intrinsics/_pages/SCAN.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/SIN.md:17 +#: ../../source/learn/intrinsics/_pages/SINH.md:17 +#: ../../source/learn/intrinsics/_pages/SPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:18 +#: ../../source/learn/intrinsics/_pages/SQRT.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:12 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:18 +#: ../../source/learn/intrinsics/_pages/TAN.md:12 +#: ../../source/learn/intrinsics/_pages/TANH.md:12 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:13 +#: ../../source/learn/intrinsics/_pages/TINY.md:16 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:12 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:12 +#: ../../source/learn/intrinsics/_pages/TRIM.md:12 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:12 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:18 +msgid "__Description__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:13 +msgid "" +"The elemental function __merge__(3) selects values from two arrays or " +"scalars according to a logical mask. The result is equal to an element of" +" __tsource__ where the corresponding element of __mask__ is __.true.__, " +"or an element of __fsource__ when it is .false. ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:18 +msgid "Multi-dimensional arrays are supported." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:20 +msgid "" +"Note that argument expressions to __merge__(3) are not required to be " +"short-circuited so (as an example) if the array __x__ contains zero " +"values in the statement below the standard does not prevent floating " +"point divide by zero being generated; as __1.0/x__ may be evaluated for " +"all values of __x__ before the mask is used to select which value to " +"retain:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:30 +msgid "" +"Note the compiler is also free to short-circuit or to generate an " +"infinity so this may work in many programming environments but is not " +"recommended." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:34 +msgid "" +"For cases like this one may instead use masked assignment via the " +"__where__ construct:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:45 +msgid "instead of the more obscure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:34 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/ACOS.md:21 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:20 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:21 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:20 +#: ../../source/learn/intrinsics/_pages/AINT.md:29 +#: ../../source/learn/intrinsics/_pages/ANINT.md:16 +#: ../../source/learn/intrinsics/_pages/ASIN.md:25 +#: ../../source/learn/intrinsics/_pages/ASINH.md:22 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:17 +#: ../../source/learn/intrinsics/_pages/ATAN.md:22 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:23 +#: ../../source/learn/intrinsics/_pages/ATANH.md:16 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:21 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:23 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:23 +#: ../../source/learn/intrinsics/_pages/BGE.md:17 +#: ../../source/learn/intrinsics/_pages/BGT.md:16 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:22 +#: ../../source/learn/intrinsics/_pages/BLE.md:16 +#: ../../source/learn/intrinsics/_pages/BLT.md:16 +#: ../../source/learn/intrinsics/_pages/BTEST.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:20 +#: ../../source/learn/intrinsics/_pages/CHAR.md:20 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:101 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:19 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:16 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:19 +#: ../../source/learn/intrinsics/_pages/CONJG.md:30 +#: ../../source/learn/intrinsics/_pages/COS.md:25 +#: ../../source/learn/intrinsics/_pages/COSH.md:23 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:21 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:23 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:27 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:23 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:18 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:17 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:23 +#: ../../source/learn/intrinsics/_pages/DBLE.md:22 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:24 +#: ../../source/learn/intrinsics/_pages/DIM.md:22 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:18 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:18 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:30 +#: ../../source/learn/intrinsics/_pages/ERF.md:19 +#: ../../source/learn/intrinsics/_pages/ERFC.md:35 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:22 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:20 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/EXP.md:27 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:23 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:18 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:23 +#: ../../source/learn/intrinsics/_pages/HUGE.md:23 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:17 +#: ../../source/learn/intrinsics/_pages/IALL.md:21 +#: ../../source/learn/intrinsics/_pages/IAND.md:16 +#: ../../source/learn/intrinsics/_pages/IANY.md:21 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:16 +#: ../../source/learn/intrinsics/_pages/IBITS.md:19 +#: ../../source/learn/intrinsics/_pages/IBSET.md:16 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:16 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:16 +#: ../../source/learn/intrinsics/_pages/INDEX.md:24 +#: ../../source/learn/intrinsics/_pages/INT.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:18 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:21 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:22 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:22 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:23 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:19 +#: ../../source/learn/intrinsics/_pages/KIND.md:16 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:16 +#: ../../source/learn/intrinsics/_pages/LEN.md:29 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:20 +#: ../../source/learn/intrinsics/_pages/LGE.md:26 +#: ../../source/learn/intrinsics/_pages/LGT.md:26 +#: ../../source/learn/intrinsics/_pages/LLE.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:26 +#: ../../source/learn/intrinsics/_pages/LOG.md:17 +#: ../../source/learn/intrinsics/_pages/LOG10.md:19 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:20 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:16 +#: ../../source/learn/intrinsics/_pages/MASKL.md:19 +#: ../../source/learn/intrinsics/_pages/MASKR.md:19 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:16 +#: ../../source/learn/intrinsics/_pages/MAX.md:15 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MERGE.md:51 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:43 +#: ../../source/learn/intrinsics/_pages/MIN.md:16 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MOD.md:16 +#: ../../source/learn/intrinsics/_pages/MODULO.md:16 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:17 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:17 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:35 +#: ../../source/learn/intrinsics/_pages/NINT.md:27 +#: ../../source/learn/intrinsics/_pages/NORM2.md:22 +#: ../../source/learn/intrinsics/_pages/NOT.md:14 +#: ../../source/learn/intrinsics/_pages/NULL.md:22 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:16 +#: ../../source/learn/intrinsics/_pages/PACK.md:28 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:17 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:17 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:17 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:16 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:17 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:23 +#: ../../source/learn/intrinsics/_pages/REAL.md:15 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:16 +#: ../../source/learn/intrinsics/_pages/SCALE.md:19 +#: ../../source/learn/intrinsics/_pages/SCAN.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:20 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:19 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:18 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:19 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:26 +#: ../../source/learn/intrinsics/_pages/SINH.md:28 +#: ../../source/learn/intrinsics/_pages/SPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:26 +#: ../../source/learn/intrinsics/_pages/SQRT.md:41 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:16 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:40 +#: ../../source/learn/intrinsics/_pages/TAN.md:16 +#: ../../source/learn/intrinsics/_pages/TANH.md:16 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:17 +#: ../../source/learn/intrinsics/_pages/TINY.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:16 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:21 +#: ../../source/learn/intrinsics/_pages/TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:16 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:40 +msgid "__Arguments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:53 +msgid "__tsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:54 +msgid "May be of any type, including user-defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:56 +msgid "__fsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:57 +msgid "Shall be of the same type and type parameters as __tsource__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:30 +#: ../../source/learn/intrinsics/_pages/IANY.md:30 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:30 +#: ../../source/learn/intrinsics/_pages/MERGE.md:59 +#: ../../source/learn/intrinsics/_pages/PACK.md:33 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:22 +msgid "__mask__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:60 +msgid "Shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:62 +msgid "Note that (currently) _character_ values must be of the same length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:40 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:41 +#: ../../source/learn/intrinsics/_pages/ACOS.md:27 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:27 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:25 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:26 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:25 +#: ../../source/learn/intrinsics/_pages/AINT.md:38 +#: ../../source/learn/intrinsics/_pages/ANINT.md:25 +#: ../../source/learn/intrinsics/_pages/ASIN.md:31 +#: ../../source/learn/intrinsics/_pages/ASINH.md:27 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN.md:32 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:32 +#: ../../source/learn/intrinsics/_pages/ATANH.md:21 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:38 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:38 +#: ../../source/learn/intrinsics/_pages/BGE.md:25 +#: ../../source/learn/intrinsics/_pages/BGT.md:25 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:29 +#: ../../source/learn/intrinsics/_pages/BLE.md:24 +#: ../../source/learn/intrinsics/_pages/BLT.md:24 +#: ../../source/learn/intrinsics/_pages/BTEST.md:32 +#: ../../source/learn/intrinsics/_pages/CEILING.md:29 +#: ../../source/learn/intrinsics/_pages/CHAR.md:29 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:114 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:23 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:20 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:23 +#: ../../source/learn/intrinsics/_pages/CONJG.md:35 +#: ../../source/learn/intrinsics/_pages/COS.md:31 +#: ../../source/learn/intrinsics/_pages/COSH.md:28 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:31 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:34 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:26 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:21 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:24 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:22 +#: ../../source/learn/intrinsics/_pages/DBLE.md:27 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:29 +#: ../../source/learn/intrinsics/_pages/DIM.md:30 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:32 +#: ../../source/learn/intrinsics/_pages/DPROD.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:29 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:47 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:24 +#: ../../source/learn/intrinsics/_pages/ERFC.md:40 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:27 +#: ../../source/learn/intrinsics/_pages/EXP.md:32 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:27 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:32 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:23 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:28 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:27 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:32 +#: ../../source/learn/intrinsics/_pages/HUGE.md:30 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:34 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IALL.md:34 +#: ../../source/learn/intrinsics/_pages/IAND.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:34 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:27 +#: ../../source/learn/intrinsics/_pages/IBITS.md:31 +#: ../../source/learn/intrinsics/_pages/IBSET.md:27 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:35 +#: ../../source/learn/intrinsics/_pages/IEOR.md:24 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:25 +#: ../../source/learn/intrinsics/_pages/INDEX.md:40 +#: ../../source/learn/intrinsics/_pages/INT.md:29 +#: ../../source/learn/intrinsics/_pages/IOR.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:30 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:28 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:24 +#: ../../source/learn/intrinsics/_pages/KIND.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:21 +#: ../../source/learn/intrinsics/_pages/LEN.md:38 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:30 +#: ../../source/learn/intrinsics/_pages/LGE.md:34 +#: ../../source/learn/intrinsics/_pages/LGT.md:34 +#: ../../source/learn/intrinsics/_pages/LLE.md:43 +#: ../../source/learn/intrinsics/_pages/LLT.md:34 +#: ../../source/learn/intrinsics/_pages/LOG.md:22 +#: ../../source/learn/intrinsics/_pages/LOG10.md:24 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:30 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:21 +#: ../../source/learn/intrinsics/_pages/MASKL.md:29 +#: ../../source/learn/intrinsics/_pages/MASKR.md:29 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:28 +#: ../../source/learn/intrinsics/_pages/MAX.md:23 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MERGE.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:54 +#: ../../source/learn/intrinsics/_pages/MIN.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MOD.md:25 +#: ../../source/learn/intrinsics/_pages/MODULO.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:25 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/NINT.md:37 +#: ../../source/learn/intrinsics/_pages/NORM2.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:19 +#: ../../source/learn/intrinsics/_pages/NULL.md:28 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:44 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:22 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:22 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:22 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:26 +#: ../../source/learn/intrinsics/_pages/RADIX.md:21 +#: ../../source/learn/intrinsics/_pages/RANGE.md:28 +#: ../../source/learn/intrinsics/_pages/REAL.md:24 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:30 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:26 +#: ../../source/learn/intrinsics/_pages/SCALE.md:27 +#: ../../source/learn/intrinsics/_pages/SCAN.md:36 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:33 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/SIN.md:31 +#: ../../source/learn/intrinsics/_pages/SINH.md:33 +#: ../../source/learn/intrinsics/_pages/SPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:39 +#: ../../source/learn/intrinsics/_pages/SQRT.md:47 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/TAN.md:21 +#: ../../source/learn/intrinsics/_pages/TANH.md:21 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:30 +#: ../../source/learn/intrinsics/_pages/TINY.md:26 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:21 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:32 +#: ../../source/learn/intrinsics/_pages/TRIM.md:21 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:28 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:55 +msgid "__Returns__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:66 +msgid "" +"The result is of the same type and type parameters as __tsource__. For " +"any element the result is __tsource__ if __mask__ is true and __fsource__" +" otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:50 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:47 +#: ../../source/learn/intrinsics/_pages/ACOS.md:32 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:36 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:31 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:32 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:30 +#: ../../source/learn/intrinsics/_pages/AINT.md:47 +#: ../../source/learn/intrinsics/_pages/ANINT.md:33 +#: ../../source/learn/intrinsics/_pages/ASIN.md:38 +#: ../../source/learn/intrinsics/_pages/ASINH.md:33 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:64 +#: ../../source/learn/intrinsics/_pages/ATAN.md:40 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:43 +#: ../../source/learn/intrinsics/_pages/ATANH.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:44 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:35 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:42 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:33 +#: ../../source/learn/intrinsics/_pages/BTEST.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:37 +#: ../../source/learn/intrinsics/_pages/CHAR.md:33 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:120 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:29 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:26 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:28 +#: ../../source/learn/intrinsics/_pages/CONJG.md:39 +#: ../../source/learn/intrinsics/_pages/COS.md:38 +#: ../../source/learn/intrinsics/_pages/COSH.md:36 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:40 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:57 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:40 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:44 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:32 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:26 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:30 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:25 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:29 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:32 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:55 +#: ../../source/learn/intrinsics/_pages/DBLE.md:33 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:33 +#: ../../source/learn/intrinsics/_pages/DIM.md:34 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:38 +#: ../../source/learn/intrinsics/_pages/DPROD.md:43 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:51 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:39 +#: ../../source/learn/intrinsics/_pages/ERF.md:29 +#: ../../source/learn/intrinsics/_pages/ERFC.md:47 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:31 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:33 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:75 +#: ../../source/learn/intrinsics/_pages/EXP.md:38 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:43 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:40 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:29 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:32 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:44 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:54 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:63 +#: ../../source/learn/intrinsics/_pages/HUGE.md:35 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:41 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/IALL.md:43 +#: ../../source/learn/intrinsics/_pages/IAND.md:29 +#: ../../source/learn/intrinsics/_pages/IANY.md:43 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:40 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/INT.md:51 +#: ../../source/learn/intrinsics/_pages/IOR.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:43 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:30 +#: ../../source/learn/intrinsics/_pages/KIND.md:26 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:47 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:49 +#: ../../source/learn/intrinsics/_pages/LOG.md:29 +#: ../../source/learn/intrinsics/_pages/LOG10.md:29 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:36 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/MASKL.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:37 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MERGE.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:29 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MOD.md:32 +#: ../../source/learn/intrinsics/_pages/MODULO.md:38 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:26 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:32 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:46 +#: ../../source/learn/intrinsics/_pages/NINT.md:47 +#: ../../source/learn/intrinsics/_pages/NORM2.md:42 +#: ../../source/learn/intrinsics/_pages/NOT.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:32 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:36 +#: ../../source/learn/intrinsics/_pages/PACK.md:50 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:26 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:26 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:31 +#: ../../source/learn/intrinsics/_pages/RADIX.md:26 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:22 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:37 +#: ../../source/learn/intrinsics/_pages/RANGE.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:38 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:34 +#: ../../source/learn/intrinsics/_pages/SCALE.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:41 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:25 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:57 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:31 +#: ../../source/learn/intrinsics/_pages/SIN.md:36 +#: ../../source/learn/intrinsics/_pages/SINH.md:37 +#: ../../source/learn/intrinsics/_pages/SPACING.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:45 +#: ../../source/learn/intrinsics/_pages/SQRT.md:52 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:31 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:60 +#: ../../source/learn/intrinsics/_pages/TAN.md:25 +#: ../../source/learn/intrinsics/_pages/TANH.md:30 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:44 +#: ../../source/learn/intrinsics/_pages/TINY.md:32 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:26 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:51 +#: ../../source/learn/intrinsics/_pages/TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:33 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:60 +msgid "__Examples__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:71 +msgid "The value of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:77 +msgid "is 1.0 for K=5 and 0.0 for K=__-2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE.md:126 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:41 +msgid "Expected Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:121 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:149 +#: ../../source/learn/intrinsics/_pages/ACOS.md:59 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:53 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:58 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:71 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:60 +#: ../../source/learn/intrinsics/_pages/AINT.md:79 +#: ../../source/learn/intrinsics/_pages/ANINT.md:69 +#: ../../source/learn/intrinsics/_pages/ASIN.md:88 +#: ../../source/learn/intrinsics/_pages/ASINH.md:52 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:80 +#: ../../source/learn/intrinsics/_pages/ATAN.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:61 +#: ../../source/learn/intrinsics/_pages/ATANH.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:53 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:48 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:46 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:59 +#: ../../source/learn/intrinsics/_pages/BGE.md:29 +#: ../../source/learn/intrinsics/_pages/BGT.md:31 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:64 +#: ../../source/learn/intrinsics/_pages/BLE.md:28 +#: ../../source/learn/intrinsics/_pages/BLT.md:28 +#: ../../source/learn/intrinsics/_pages/BTEST.md:114 +#: ../../source/learn/intrinsics/_pages/CEILING.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:56 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:161 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:50 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:53 +#: ../../source/learn/intrinsics/_pages/CONJG.md:96 +#: ../../source/learn/intrinsics/_pages/COS.md:65 +#: ../../source/learn/intrinsics/_pages/COSH.md:50 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:60 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:56 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:90 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:61 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:65 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:67 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:53 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:51 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:44 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:51 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:97 +#: ../../source/learn/intrinsics/_pages/DBLE.md:50 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:57 +#: ../../source/learn/intrinsics/_pages/DIM.md:62 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:63 +#: ../../source/learn/intrinsics/_pages/DPROD.md:82 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:80 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:106 +#: ../../source/learn/intrinsics/_pages/ERF.md:46 +#: ../../source/learn/intrinsics/_pages/ERFC.md:64 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:48 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:52 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:101 +#: ../../source/learn/intrinsics/_pages/EXP.md:82 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:45 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:75 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:45 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:118 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:77 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:119 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:85 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:91 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IALL.md:66 +#: ../../source/learn/intrinsics/_pages/IAND.md:45 +#: ../../source/learn/intrinsics/_pages/IANY.md:64 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:31 +#: ../../source/learn/intrinsics/_pages/IBITS.md:35 +#: ../../source/learn/intrinsics/_pages/IBSET.md:31 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:101 +#: ../../source/learn/intrinsics/_pages/IEOR.md:29 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:44 +#: ../../source/learn/intrinsics/_pages/INDEX.md:68 +#: ../../source/learn/intrinsics/_pages/INT.md:112 +#: ../../source/learn/intrinsics/_pages/IOR.md:54 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:63 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:38 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:59 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:47 +#: ../../source/learn/intrinsics/_pages/KIND.md:46 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:120 +#: ../../source/learn/intrinsics/_pages/LEN.md:43 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:67 +#: ../../source/learn/intrinsics/_pages/LGE.md:39 +#: ../../source/learn/intrinsics/_pages/LGT.md:39 +#: ../../source/learn/intrinsics/_pages/LLE.md:85 +#: ../../source/learn/intrinsics/_pages/LLT.md:39 +#: ../../source/learn/intrinsics/_pages/LOG.md:47 +#: ../../source/learn/intrinsics/_pages/LOG10.md:55 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:59 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:40 +#: ../../source/learn/intrinsics/_pages/MASKL.md:87 +#: ../../source/learn/intrinsics/_pages/MASKR.md:96 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:34 +#: ../../source/learn/intrinsics/_pages/MAX.md:109 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MERGE.md:145 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:113 +#: ../../source/learn/intrinsics/_pages/MIN.md:46 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MOD.md:70 +#: ../../source/learn/intrinsics/_pages/MODULO.md:64 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:64 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:128 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:61 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:72 +#: ../../source/learn/intrinsics/_pages/NINT.md:110 +#: ../../source/learn/intrinsics/_pages/NORM2.md:81 +#: ../../source/learn/intrinsics/_pages/NOT.md:46 +#: ../../source/learn/intrinsics/_pages/NULL.md:110 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:57 +#: ../../source/learn/intrinsics/_pages/PACK.md:100 +#: ../../source/learn/intrinsics/_pages/PARITY.md:59 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:52 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:53 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:46 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:57 +#: ../../source/learn/intrinsics/_pages/RADIX.md:45 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:81 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:60 +#: ../../source/learn/intrinsics/_pages/RANGE.md:52 +#: ../../source/learn/intrinsics/_pages/REAL.md:65 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:58 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:27 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:31 +#: ../../source/learn/intrinsics/_pages/SCALE.md:51 +#: ../../source/learn/intrinsics/_pages/SCAN.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:55 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:49 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:82 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:31 +#: ../../source/learn/intrinsics/_pages/SIGN.md:72 +#: ../../source/learn/intrinsics/_pages/SIN.md:121 +#: ../../source/learn/intrinsics/_pages/SINH.md:81 +#: ../../source/learn/intrinsics/_pages/SPACING.md:45 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:116 +#: ../../source/learn/intrinsics/_pages/SQRT.md:85 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:53 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:94 +#: ../../source/learn/intrinsics/_pages/TAN.md:42 +#: ../../source/learn/intrinsics/_pages/TANH.md:47 +#: ../../source/learn/intrinsics/_pages/TINY.md:48 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:104 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:101 +#: ../../source/learn/intrinsics/_pages/TRIM.md:50 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:55 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:243 +msgid "__Standard__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:60 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:73 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:82 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:66 +#: ../../source/learn/intrinsics/_pages/BTEST.md:116 +#: ../../source/learn/intrinsics/_pages/CEILING.md:65 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:67 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:69 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:99 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:65 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:82 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:108 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:77 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:47 +#: ../../source/learn/intrinsics/_pages/HUGE.md:87 +#: ../../source/learn/intrinsics/_pages/IAND.md:47 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:33 +#: ../../source/learn/intrinsics/_pages/IBITS.md:37 +#: ../../source/learn/intrinsics/_pages/IBSET.md:33 +#: ../../source/learn/intrinsics/_pages/IEOR.md:31 +#: ../../source/learn/intrinsics/_pages/IOR.md:56 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:36 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:40 +#: ../../source/learn/intrinsics/_pages/KIND.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:36 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MERGE.md:147 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MODULO.md:66 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:130 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:63 +#: ../../source/learn/intrinsics/_pages/NOT.md:48 +#: ../../source/learn/intrinsics/_pages/NULL.md:112 +#: ../../source/learn/intrinsics/_pages/PACK.md:102 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:48 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:59 +#: ../../source/learn/intrinsics/_pages/RADIX.md:47 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:83 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:62 +#: ../../source/learn/intrinsics/_pages/RANGE.md:54 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:60 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:29 +#: ../../source/learn/intrinsics/_pages/SCALE.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:51 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/SPACING.md:47 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:118 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:96 +#: ../../source/learn/intrinsics/_pages/TINY.md:50 +#: ../../source/learn/intrinsics/_pages/TRIM.md:52 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:57 +msgid "Fortran 95 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:153 +#: ../../source/learn/intrinsics/_pages/ACOS.md:62 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:57 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:75 +#: ../../source/learn/intrinsics/_pages/AINT.md:83 +#: ../../source/learn/intrinsics/_pages/ANINT.md:73 +#: ../../source/learn/intrinsics/_pages/ASIN.md:92 +#: ../../source/learn/intrinsics/_pages/ASINH.md:56 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:84 +#: ../../source/learn/intrinsics/_pages/ATAN.md:76 +#: ../../source/learn/intrinsics/_pages/ATANH.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:61 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:50 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:65 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:63 +#: ../../source/learn/intrinsics/_pages/BGE.md:33 +#: ../../source/learn/intrinsics/_pages/BGT.md:35 +#: ../../source/learn/intrinsics/_pages/BLE.md:32 +#: ../../source/learn/intrinsics/_pages/BLT.md:32 +#: ../../source/learn/intrinsics/_pages/BTEST.md:118 +#: ../../source/learn/intrinsics/_pages/CEILING.md:67 +#: ../../source/learn/intrinsics/_pages/CHAR.md:60 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:151 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:58 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:57 +#: ../../source/learn/intrinsics/_pages/COS.md:69 +#: ../../source/learn/intrinsics/_pages/COSH.md:54 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:54 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:64 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:60 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:94 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:65 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:69 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:57 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:57 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:48 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:55 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:101 +#: ../../source/learn/intrinsics/_pages/DBLE.md:54 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:61 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:37 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:37 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:110 +#: ../../source/learn/intrinsics/_pages/EXP.md:86 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:79 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:49 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:122 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:81 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:89 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IALL.md:70 +#: ../../source/learn/intrinsics/_pages/IAND.md:49 +#: ../../source/learn/intrinsics/_pages/IANY.md:68 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:35 +#: ../../source/learn/intrinsics/_pages/IBITS.md:39 +#: ../../source/learn/intrinsics/_pages/IBSET.md:35 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:105 +#: ../../source/learn/intrinsics/_pages/IEOR.md:33 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:48 +#: ../../source/learn/intrinsics/_pages/INDEX.md:73 +#: ../../source/learn/intrinsics/_pages/INT.md:116 +#: ../../source/learn/intrinsics/_pages/IOR.md:58 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:67 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:42 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:124 +#: ../../source/learn/intrinsics/_pages/LEN.md:108 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:72 +#: ../../source/learn/intrinsics/_pages/LGE.md:43 +#: ../../source/learn/intrinsics/_pages/LGT.md:43 +#: ../../source/learn/intrinsics/_pages/LLE.md:89 +#: ../../source/learn/intrinsics/_pages/LLT.md:43 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:63 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:44 +#: ../../source/learn/intrinsics/_pages/MASKL.md:91 +#: ../../source/learn/intrinsics/_pages/MASKR.md:100 +#: ../../source/learn/intrinsics/_pages/MAX.md:113 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MERGE.md:149 +#: ../../source/learn/intrinsics/_pages/MIN.md:50 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MOD.md:74 +#: ../../source/learn/intrinsics/_pages/MODULO.md:68 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:68 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:132 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:65 +#: ../../source/learn/intrinsics/_pages/NINT.md:114 +#: ../../source/learn/intrinsics/_pages/NORM2.md:85 +#: ../../source/learn/intrinsics/_pages/NOT.md:50 +#: ../../source/learn/intrinsics/_pages/NULL.md:114 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:61 +#: ../../source/learn/intrinsics/_pages/PACK.md:104 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:56 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:57 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:50 +#: ../../source/learn/intrinsics/_pages/RADIX.md:49 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:85 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:64 +#: ../../source/learn/intrinsics/_pages/RANGE.md:56 +#: ../../source/learn/intrinsics/_pages/REAL.md:69 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:62 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:31 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:35 +#: ../../source/learn/intrinsics/_pages/SCALE.md:55 +#: ../../source/learn/intrinsics/_pages/SCAN.md:63 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:86 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:51 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:37 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/SIN.md:125 +#: ../../source/learn/intrinsics/_pages/SINH.md:85 +#: ../../source/learn/intrinsics/_pages/SPACING.md:49 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:120 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:57 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:98 +#: ../../source/learn/intrinsics/_pages/TAN.md:46 +#: ../../source/learn/intrinsics/_pages/TANH.md:51 +#: ../../source/learn/intrinsics/_pages/TINY.md:52 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:108 +#: ../../source/learn/intrinsics/_pages/TRIM.md:54 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:59 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:247 +msgid "__See Also__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:151 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:125 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:165 +#: ../../source/learn/intrinsics/_pages/ACOS.md:68 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:66 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:79 +#: ../../source/learn/intrinsics/_pages/ASIN.md:98 +#: ../../source/learn/intrinsics/_pages/ATAN.md:82 +#: ../../source/learn/intrinsics/_pages/BTEST.md:131 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:63 +#: ../../source/learn/intrinsics/_pages/CONJG.md:100 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:74 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:113 +#: ../../source/learn/intrinsics/_pages/DBLE.md:59 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:79 +#: ../../source/learn/intrinsics/_pages/DIM.md:66 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:128 +#: ../../source/learn/intrinsics/_pages/EXP.md:94 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:90 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:128 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:127 +#: ../../source/learn/intrinsics/_pages/HUGE.md:107 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:63 +#: ../../source/learn/intrinsics/_pages/LEN.md:129 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:89 +#: ../../source/learn/intrinsics/_pages/MASKL.md:95 +#: ../../source/learn/intrinsics/_pages/MASKR.md:104 +#: ../../source/learn/intrinsics/_pages/MERGE.md:157 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:76 +#: ../../source/learn/intrinsics/_pages/NINT.md:123 +#: ../../source/learn/intrinsics/_pages/NOT.md:60 +#: ../../source/learn/intrinsics/_pages/PACK.md:112 +#: ../../source/learn/intrinsics/_pages/SIN.md:132 +#: ../../source/learn/intrinsics/_pages/SQRT.md:89 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:115 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:265 +msgid "####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:2 +msgid "pack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:5 +msgid "" +"__pack__(3) - \\[ARRAY CONSTRUCTION\\] Pack an array into an array of " +"rank one" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:16 +msgid "" +"where TYPE(kind=KIND) may be any type, where __array__ and __vector__ " +"and the returned value must by of the same type. __mask__ may be a " +"scalar as well an an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:22 +msgid "Stores the elements of ARRAY in an array of rank one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:24 +msgid "" +"The beginning of the resulting array is made up of elements whose " +"__mask__ equals __.true.__. Afterwards, positions are filled with " +"elements taken from __vector__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:25 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:35 +#: ../../source/learn/intrinsics/_pages/IALL.md:23 +#: ../../source/learn/intrinsics/_pages/IANY.md:23 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:23 +#: ../../source/learn/intrinsics/_pages/NORM2.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:30 +msgid "__array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:26 +#: ../../source/learn/intrinsics/_pages/PACK.md:31 +msgid "Shall be an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:34 +msgid "" +"Shall be an array of type _logical_ and of the same size as __array__. " +"Alternatively, it may be a _logical_ scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:37 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:18 +msgid "__vector__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:38 +msgid "" +"(Optional) shall be an array of the same type as __array__ and of rank " +"one. If present, the number of elements in __vector__ shall be equal to " +"or greater than the number of true elements in __mask__. If __mask__ is " +"scalar, the number of elements in __vector__ shall be equal to or greater" +" than the number of elements in __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:46 +msgid "" +"The result is an array of rank one and the same type as that of " +"__array__. If __vector__ is present, the result size is that of " +"__vector__, the number of __.true.__ values in __mask__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:52 +#: ../../source/learn/intrinsics/_pages/ACOS.md:33 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:38 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:33 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:34 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:32 +#: ../../source/learn/intrinsics/_pages/AINT.md:49 +#: ../../source/learn/intrinsics/_pages/ANINT.md:35 +#: ../../source/learn/intrinsics/_pages/ASINH.md:35 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:66 +#: ../../source/learn/intrinsics/_pages/ATAN.md:42 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:45 +#: ../../source/learn/intrinsics/_pages/ATANH.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:43 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:44 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:35 +#: ../../source/learn/intrinsics/_pages/BTEST.md:40 +#: ../../source/learn/intrinsics/_pages/CEILING.md:39 +#: ../../source/learn/intrinsics/_pages/CHAR.md:35 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:122 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:31 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:28 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:30 +#: ../../source/learn/intrinsics/_pages/CONJG.md:41 +#: ../../source/learn/intrinsics/_pages/COS.md:40 +#: ../../source/learn/intrinsics/_pages/COSH.md:38 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:42 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:42 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:59 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:42 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:46 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:40 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:34 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:28 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:32 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:27 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:31 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:34 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:57 +#: ../../source/learn/intrinsics/_pages/DBLE.md:35 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:35 +#: ../../source/learn/intrinsics/_pages/DIM.md:36 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:40 +#: ../../source/learn/intrinsics/_pages/DPROD.md:45 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:53 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:41 +#: ../../source/learn/intrinsics/_pages/ERF.md:31 +#: ../../source/learn/intrinsics/_pages/ERFC.md:49 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:33 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:35 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:77 +#: ../../source/learn/intrinsics/_pages/EXP.md:40 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:42 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:31 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:34 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:56 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:65 +#: ../../source/learn/intrinsics/_pages/HUGE.md:37 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:43 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/IALL.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:45 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:42 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:33 +#: ../../source/learn/intrinsics/_pages/INT.md:53 +#: ../../source/learn/intrinsics/_pages/IOR.md:33 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:45 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:36 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:32 +#: ../../source/learn/intrinsics/_pages/KIND.md:28 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:28 +#: ../../source/learn/intrinsics/_pages/LLE.md:51 +#: ../../source/learn/intrinsics/_pages/LOG.md:31 +#: ../../source/learn/intrinsics/_pages/LOG10.md:31 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:27 +#: ../../source/learn/intrinsics/_pages/MASKL.md:38 +#: ../../source/learn/intrinsics/_pages/MASKR.md:39 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MOD.md:34 +#: ../../source/learn/intrinsics/_pages/MODULO.md:40 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:34 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:48 +#: ../../source/learn/intrinsics/_pages/NINT.md:49 +#: ../../source/learn/intrinsics/_pages/NORM2.md:44 +#: ../../source/learn/intrinsics/_pages/NULL.md:34 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:38 +#: ../../source/learn/intrinsics/_pages/PACK.md:52 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:28 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:31 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:28 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:33 +#: ../../source/learn/intrinsics/_pages/RADIX.md:28 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:24 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:39 +#: ../../source/learn/intrinsics/_pages/RANGE.md:34 +#: ../../source/learn/intrinsics/_pages/REAL.md:40 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:36 +#: ../../source/learn/intrinsics/_pages/SCALE.md:34 +#: ../../source/learn/intrinsics/_pages/SCAN.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:26 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:33 +#: ../../source/learn/intrinsics/_pages/SIN.md:38 +#: ../../source/learn/intrinsics/_pages/SIN.md:83 +#: ../../source/learn/intrinsics/_pages/SINH.md:39 +#: ../../source/learn/intrinsics/_pages/SPACING.md:28 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:47 +#: ../../source/learn/intrinsics/_pages/SQRT.md:54 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:62 +#: ../../source/learn/intrinsics/_pages/TAN.md:27 +#: ../../source/learn/intrinsics/_pages/TANH.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:46 +#: ../../source/learn/intrinsics/_pages/TINY.md:34 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:53 +#: ../../source/learn/intrinsics/_pages/TRIM.md:28 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:35 +msgid "Sample program:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:103 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:92 +#: ../../source/learn/intrinsics/_pages/ACOS.md:51 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:48 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:52 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:62 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:51 +#: ../../source/learn/intrinsics/_pages/AINT.md:70 +#: ../../source/learn/intrinsics/_pages/ANINT.md:59 +#: ../../source/learn/intrinsics/_pages/ASIN.md:71 +#: ../../source/learn/intrinsics/_pages/ASINH.md:47 +#: ../../source/learn/intrinsics/_pages/ATAN.md:63 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:56 +#: ../../source/learn/intrinsics/_pages/ATANH.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:56 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:55 +#: ../../source/learn/intrinsics/_pages/BTEST.md:83 +#: ../../source/learn/intrinsics/_pages/CEILING.md:55 +#: ../../source/learn/intrinsics/_pages/CHAR.md:46 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:41 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:43 +#: ../../source/learn/intrinsics/_pages/CONJG.md:78 +#: ../../source/learn/intrinsics/_pages/COS.md:55 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:56 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:61 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:44 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:85 +#: ../../source/learn/intrinsics/_pages/DBLE.md:46 +#: ../../source/learn/intrinsics/_pages/DIM.md:54 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:55 +#: ../../source/learn/intrinsics/_pages/DPROD.md:75 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:70 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:94 +#: ../../source/learn/intrinsics/_pages/ERF.md:42 +#: ../../source/learn/intrinsics/_pages/ERFC.md:60 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:43 +#: ../../source/learn/intrinsics/_pages/EXP.md:73 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:40 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:64 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:41 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:64 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:107 +#: ../../source/learn/intrinsics/_pages/HUGE.md:65 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:60 +#: ../../source/learn/intrinsics/_pages/IALL.md:61 +#: ../../source/learn/intrinsics/_pages/IAND.md:41 +#: ../../source/learn/intrinsics/_pages/IANY.md:58 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:96 +#: ../../source/learn/intrinsics/_pages/IOR.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:57 +#: ../../source/learn/intrinsics/_pages/KIND.md:41 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:50 +#: ../../source/learn/intrinsics/_pages/LEN.md:105 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:59 +#: ../../source/learn/intrinsics/_pages/LLE.md:70 +#: ../../source/learn/intrinsics/_pages/LOG.md:42 +#: ../../source/learn/intrinsics/_pages/LOG10.md:49 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:51 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:36 +#: ../../source/learn/intrinsics/_pages/MASKL.md:49 +#: ../../source/learn/intrinsics/_pages/MASKR.md:54 +#: ../../source/learn/intrinsics/_pages/MAX.md:100 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:41 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:103 +#: ../../source/learn/intrinsics/_pages/MIN.md:40 +#: ../../source/learn/intrinsics/_pages/MOD.md:55 +#: ../../source/learn/intrinsics/_pages/MODULO.md:55 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:59 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:57 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:64 +#: ../../source/learn/intrinsics/_pages/NINT.md:91 +#: ../../source/learn/intrinsics/_pages/NORM2.md:68 +#: ../../source/learn/intrinsics/_pages/NOT.md:39 +#: ../../source/learn/intrinsics/_pages/NULL.md:103 +#: ../../source/learn/intrinsics/_pages/PACK.md:93 +#: ../../source/learn/intrinsics/_pages/PARITY.md:55 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:43 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:45 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:41 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:52 +#: ../../source/learn/intrinsics/_pages/RADIX.md:38 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:54 +#: ../../source/learn/intrinsics/_pages/RANGE.md:46 +#: ../../source/learn/intrinsics/_pages/REAL.md:57 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:52 +#: ../../source/learn/intrinsics/_pages/SCALE.md:45 +#: ../../source/learn/intrinsics/_pages/SCAN.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:50 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:76 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:43 +#: ../../source/learn/intrinsics/_pages/SIGN.md:64 +#: ../../source/learn/intrinsics/_pages/SIN.md:115 +#: ../../source/learn/intrinsics/_pages/SINH.md:72 +#: ../../source/learn/intrinsics/_pages/SPACING.md:40 +#: ../../source/learn/intrinsics/_pages/SQRT.md:78 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:45 +#: ../../source/learn/intrinsics/_pages/TAN.md:38 +#: ../../source/learn/intrinsics/_pages/TANH.md:43 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:62 +#: ../../source/learn/intrinsics/_pages/TINY.md:43 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:63 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:73 +#: ../../source/learn/intrinsics/_pages/TRIM.md:43 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:50 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:125 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:181 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:236 +msgid "Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:106 +msgid "" +"[__unpack__(3)](UNPACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:2 +msgid "spread" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:5 +msgid "__spread__(3) - \\[ARRAY CONSTRUCTION\\] Add a dimension to an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:20 +msgid "" +"Replicates a __source__ array __ncopies__ times along a specified " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:23 +msgid "" +"If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). and " +"each element of the result has a value equal to SOURCE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:23 +msgid "__source__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:29 +msgid "Shall be a scalar or an array of any type and a rank less than fifteen." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:31 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:44 +#: ../../source/learn/intrinsics/_pages/IALL.md:26 +#: ../../source/learn/intrinsics/_pages/IANY.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:26 +#: ../../source/learn/intrinsics/_pages/NORM2.md:27 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:26 +msgid "__dim__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:33 +msgid "" +"Shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __n+1__, where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:36 +msgid "__ncopies__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:37 +msgid "Shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:41 +msgid "" +"The result is an array of the same type as __source__ and has rank " +"__n+1__ where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:122 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__merge__(3)](MERGE), " +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:64 +#: ../../source/learn/intrinsics/_pages/AINT.md:92 +#: ../../source/learn/intrinsics/_pages/ANINT.md:82 +#: ../../source/learn/intrinsics/_pages/ASINH.md:61 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:88 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:65 +#: ../../source/learn/intrinsics/_pages/ATANH.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:60 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:63 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:71 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:58 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:73 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:71 +#: ../../source/learn/intrinsics/_pages/BGE.md:39 +#: ../../source/learn/intrinsics/_pages/BGT.md:41 +#: ../../source/learn/intrinsics/_pages/BLE.md:38 +#: ../../source/learn/intrinsics/_pages/BLT.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:78 +#: ../../source/learn/intrinsics/_pages/CHAR.md:78 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:165 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:59 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:62 +#: ../../source/learn/intrinsics/_pages/COS.md:76 +#: ../../source/learn/intrinsics/_pages/COSH.md:59 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:61 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:46 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:71 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:67 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:101 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:72 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:47 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:71 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:63 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:70 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:63 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:67 +#: ../../source/learn/intrinsics/_pages/DPROD.md:86 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:41 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:41 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:84 +#: ../../source/learn/intrinsics/_pages/ERF.md:56 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:52 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:56 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:105 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:45 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:68 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:128 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:91 +#: ../../source/learn/intrinsics/_pages/IALL.md:76 +#: ../../source/learn/intrinsics/_pages/IAND.md:62 +#: ../../source/learn/intrinsics/_pages/IANY.md:74 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:48 +#: ../../source/learn/intrinsics/_pages/IBITS.md:53 +#: ../../source/learn/intrinsics/_pages/IBSET.md:48 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:128 +#: ../../source/learn/intrinsics/_pages/IEOR.md:46 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:53 +#: ../../source/learn/intrinsics/_pages/INDEX.md:87 +#: ../../source/learn/intrinsics/_pages/IOR.md:71 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:74 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:42 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:46 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:51 +#: ../../source/learn/intrinsics/_pages/KIND.md:50 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:131 +#: ../../source/learn/intrinsics/_pages/LGE.md:64 +#: ../../source/learn/intrinsics/_pages/LGT.md:66 +#: ../../source/learn/intrinsics/_pages/LLE.md:112 +#: ../../source/learn/intrinsics/_pages/LLT.md:61 +#: ../../source/learn/intrinsics/_pages/LOG.md:51 +#: ../../source/learn/intrinsics/_pages/LOG10.md:59 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:69 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:38 +#: ../../source/learn/intrinsics/_pages/MAX.md:119 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:56 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/MOD.md:78 +#: ../../source/learn/intrinsics/_pages/MODULO.md:72 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:72 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:84 +#: ../../source/learn/intrinsics/_pages/NORM2.md:91 +#: ../../source/learn/intrinsics/_pages/NULL.md:118 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:66 +#: ../../source/learn/intrinsics/_pages/PARITY.md:63 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:62 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:63 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:69 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:61 +#: ../../source/learn/intrinsics/_pages/RADIX.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:89 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:68 +#: ../../source/learn/intrinsics/_pages/RANGE.md:74 +#: ../../source/learn/intrinsics/_pages/REAL.md:74 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:79 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:50 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:39 +#: ../../source/learn/intrinsics/_pages/SCALE.md:74 +#: ../../source/learn/intrinsics/_pages/SCAN.md:77 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:62 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:92 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:70 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:42 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:40 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:40 +#: ../../source/learn/intrinsics/_pages/SINH.md:90 +#: ../../source/learn/intrinsics/_pages/SPACING.md:68 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:128 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:61 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:103 +#: ../../source/learn/intrinsics/_pages/TAN.md:52 +#: ../../source/learn/intrinsics/_pages/TANH.md:56 +#: ../../source/learn/intrinsics/_pages/TINY.md:70 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:105 +#: ../../source/learn/intrinsics/_pages/TRIM.md:73 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:67 +msgid "####### fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:2 +msgid "unpack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:5 +msgid "" +"__unpack__(3) - \\[ARRAY CONSTRUCTION\\] Store the elements of a vector " +"in an array of higher rank" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:14 +msgid "Store the elements of __vector__ in an array of higher rank." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:19 +msgid "" +"Shall be an array of any type and rank one. It shall have at least as " +"many elements as __mask__ has __.true.__ values." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:23 +msgid "Shall be an array of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:25 +msgid "__field__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:26 +msgid "" +"Shall be of the same type as __vector__ and have the same shape as " +"__mask__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:30 +msgid "" +"The resulting array corresponds to __field__ with __.true.__ elements of " +"__mask__ replaced by values from __vector__ in array element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:61 +msgid "" +"[__pack__(3)](PACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/BIT_index.md:1 +msgid "Bit-level inquiry and manipulation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:2 +msgid "bge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:5 +msgid "__bge__(3) - \\[BIT:COMPARE\\] Bitwise greater than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:14 +msgid "Determines whether an integer is bitwise greater than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/BGE.md:19 +#: ../../source/learn/intrinsics/_pages/BGT.md:18 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/BLE.md:18 +#: ../../source/learn/intrinsics/_pages/BLT.md:18 +#: ../../source/learn/intrinsics/_pages/BTEST.md:23 +#: ../../source/learn/intrinsics/_pages/CHAR.md:22 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:20 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:20 +#: ../../source/learn/intrinsics/_pages/IAND.md:18 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:18 +#: ../../source/learn/intrinsics/_pages/IBITS.md:21 +#: ../../source/learn/intrinsics/_pages/IBSET.md:18 +#: ../../source/learn/intrinsics/_pages/IEOR.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:20 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:24 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:24 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:25 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:18 +#: ../../source/learn/intrinsics/_pages/MASKL.md:21 +#: ../../source/learn/intrinsics/_pages/MASKR.md:21 +#: ../../source/learn/intrinsics/_pages/NOT.md:16 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:19 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:24 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:23 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:18 +msgid "__i__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:20 +#: ../../source/learn/intrinsics/_pages/BLE.md:19 +#: ../../source/learn/intrinsics/_pages/BLT.md:19 +msgid "Shall be of _integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:22 +#: ../../source/learn/intrinsics/_pages/BGT.md:21 +#: ../../source/learn/intrinsics/_pages/BLE.md:21 +#: ../../source/learn/intrinsics/_pages/BLT.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:23 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:23 +#: ../../source/learn/intrinsics/_pages/IAND.md:21 +#: ../../source/learn/intrinsics/_pages/IEOR.md:21 +#: ../../source/learn/intrinsics/_pages/IOR.md:23 +msgid "__j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:23 +#: ../../source/learn/intrinsics/_pages/BLE.md:22 +#: ../../source/learn/intrinsics/_pages/BLT.md:22 +msgid "Shall be of _integer_ type, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:27 +#: ../../source/learn/intrinsics/_pages/BLE.md:26 +#: ../../source/learn/intrinsics/_pages/BLT.md:26 +msgid "The return value is of type _logical_ and of the default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:55 +#: ../../source/learn/intrinsics/_pages/ASINH.md:54 +#: ../../source/learn/intrinsics/_pages/ATANH.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:63 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:61 +#: ../../source/learn/intrinsics/_pages/BGE.md:31 +#: ../../source/learn/intrinsics/_pages/BGT.md:33 +#: ../../source/learn/intrinsics/_pages/BLE.md:30 +#: ../../source/learn/intrinsics/_pages/BLT.md:30 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:48 +#: ../../source/learn/intrinsics/_pages/ERFC.md:66 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:50 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:103 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:120 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:93 +#: ../../source/learn/intrinsics/_pages/IALL.md:68 +#: ../../source/learn/intrinsics/_pages/IANY.md:66 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:65 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:122 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:42 +#: ../../source/learn/intrinsics/_pages/MASKL.md:89 +#: ../../source/learn/intrinsics/_pages/MASKR.md:98 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:115 +#: ../../source/learn/intrinsics/_pages/NORM2.md:83 +#: ../../source/learn/intrinsics/_pages/PARITY.md:61 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:54 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:55 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:55 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:106 +msgid "Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:35 +msgid "[__bgt__(3)](BGT), [__ble__(3)](BLE), [__blt__(3)](BIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:2 +msgid "bgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:5 +msgid "__bgt__(3) - \\[BIT:COMPARE\\] Bitwise greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:14 +msgid "Determines whether an integer is bitwise greater than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:19 +msgid "Shall be of _integer_ type or a BOZ literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:22 +msgid "" +"Shall be of _integer_ type, and of the same kind as __i__; or a BOZ " +"literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:27 +msgid "" +"The return value is of type _logical_ and of the default kind. The result" +" is true if the sequence of bits represented by _i_ is greater than the " +"sequence of bits represented by _j_, otherwise the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:37 +msgid "[__bge__(3),](BGE), [__ble__(3),](BLE), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:2 +msgid "ble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:5 +msgid "__ble__(3) - \\[BIT:COMPARE\\] Bitwise less than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:14 +msgid "Determines whether an integer is bitwise less than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:34 +msgid "[__bge__(3),](BGE), [__bgt__(3),](BGT), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:2 +msgid "blt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:5 +msgid "__blt__(3) - \\[BIT:COMPARE\\] Bitwise less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:14 +msgid "Determines whether an integer is bitwise less than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:34 +msgid "[__bge__(3)](BGE), [__bgt__(3)](BGT), [__ble__(3)](BLE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:2 +msgid "bit\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:5 +msgid "__bit\\_size__(3) - \\[BIT:INQUIRY\\] Bit size inquiry function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:16 +msgid "" +"__bit\\_size(i)__ returns the number of bits (integer precision plus sign" +" bit) represented by the type of the _integer_ __i__. __i__ can be a " +"scalar or an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:25 +msgid "" +"An _integer_ value of any kind to determine the size of in bits. Because " +"only the type of the argument is examined, the argument need not be " +"defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:54 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:143 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:49 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:117 +msgid "Typical Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:68 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:117 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:145 +msgid "####### fortran-lang intrinsic descriptions (license MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:2 +msgid "btest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:5 +msgid "__btest__(3) - \\[BIT:INQUIRY\\] Tests a bit of an _integer_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:15 +msgid "" +"where __KIND__ is any _integer_ kind supported by the programming " +"environment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:19 +msgid "" +"__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in " +"__i__ is set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:24 +#: ../../source/learn/intrinsics/_pages/CHAR.md:23 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:29 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:32 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:39 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:19 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:19 +#: ../../source/learn/intrinsics/_pages/IBITS.md:22 +#: ../../source/learn/intrinsics/_pages/IBITS.md:29 +#: ../../source/learn/intrinsics/_pages/IBSET.md:19 +#: ../../source/learn/intrinsics/_pages/IEOR.md:19 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:28 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:28 +#: ../../source/learn/intrinsics/_pages/NOT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:25 +msgid "The type shall be _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:26 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:21 +#: ../../source/learn/intrinsics/_pages/IBITS.md:24 +#: ../../source/learn/intrinsics/_pages/IBSET.md:21 +msgid "__pos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:27 +msgid "" +"The bit position to query. it must be a valid position for the value " +"__i__; ie. __0 <= pos <= bit_size(i)__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:30 +msgid "A value of zero refers to the least significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:34 +msgid "" +"The result is a _logical_ that has the value __.true.__ if bit " +"position __pos__ of __i__ has the value __1__ and the value " +"__.false.__ if bit __pos__ of __i__ has the value __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:120 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:2 +msgid "storage\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:5 +msgid "__storage\\_size__(3) - \\[BIT:INQUIRY\\] Storage size in bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:14 +msgid "Returns the storage size of argument __a__ in bits." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:36 +#: ../../source/learn/intrinsics/_pages/ANINT.md:18 +#: ../../source/learn/intrinsics/_pages/CEILING.md:22 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:25 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:25 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:25 +#: ../../source/learn/intrinsics/_pages/DBLE.md:24 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:19 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:25 +#: ../../source/learn/intrinsics/_pages/INT.md:20 +#: ../../source/learn/intrinsics/_pages/MOD.md:18 +#: ../../source/learn/intrinsics/_pages/MODULO.md:18 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:21 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:18 +msgid "__a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:19 +msgid "Shall be a scalar or array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:37 +#: ../../source/learn/intrinsics/_pages/AINT.md:34 +#: ../../source/learn/intrinsics/_pages/ANINT.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:25 +#: ../../source/learn/intrinsics/_pages/CHAR.md:25 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:28 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:22 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:36 +#: ../../source/learn/intrinsics/_pages/INT.md:23 +#: ../../source/learn/intrinsics/_pages/LEN.md:34 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKR.md:26 +#: ../../source/learn/intrinsics/_pages/NINT.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:20 +#: ../../source/learn/intrinsics/_pages/SCAN.md:32 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:21 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:51 +msgid "__kind__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:22 +msgid "(Optional) shall be a scalar integer constant expression." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:26 +msgid "" +"The result is a scalar integer with the kind type parameter specified by " +"__kind__ (or default integer type if __kind__ is missing). The result " +"value is the size expressed in bits for an element of an array that has " +"the dynamic type and type parameters of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:49 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:39 +#: ../../source/learn/intrinsics/_pages/MIN.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:25 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:33 +msgid "Sample program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:59 +msgid "[__c\\_sizeof__(3)](C_SIZEOF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:2 +msgid "leadz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:5 +msgid "__leadz__(3) - \\[BIT:COUNT\\] Number of leading zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:14 +msgid "__leadz__ returns the number of leading zero bits of an integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:19 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:20 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:23 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:19 +msgid "Shall be of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:23 +msgid "" +"The type of the return value is the same as a default _integer_. If all " +"the bits of __i__ are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:126 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:2 +msgid "popcnt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:5 +msgid "__popcnt__(3) - \\[BIT:COUNT\\] Number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:14 +msgid "" +"Returns the number of bits set in the binary representation of an " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:24 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:24 +#: ../../source/learn/intrinsics/_pages/RANGE.md:30 +msgid "The return value is of type _integer_ and of the default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:58 +msgid "[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:2 +msgid "poppar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:5 +msgid "__poppar__(3) - \\[BIT:COUNT\\] Parity of the number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:14 +msgid "" +"Returns the parity of an integer's binary representation (i.e., the " +"parity of the number of bits set)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:24 +msgid "" +"The return value is equal to __0__ if __i__ has an even number of bits " +"set and 1 if an odd number of bits are set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:27 +msgid "It is of type _integer_ and of the default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:59 +msgid "[__popcnt__(3)](POPCNT), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:2 +msgid "trailz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:5 +msgid "__trailz__(3) - \\[BIT:COUNT\\] Number of trailing zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:14 +msgid "" +"__trailz(3)__ returns the number of trailing zero bits of an _integer_ " +"value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:23 +msgid "" +"The type of the return value is the default _integer_. If all the bits of" +" I are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:110 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:2 +msgid "dshiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:5 +msgid "__dshiftl__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:14 +msgid "" +"__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost " +"__shift__ bits of the result are the leftmost __shift__ bits of __j__, " +"and the remaining bits are the rightmost bits of __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:24 +msgid "Shall be of type _integer_, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:28 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:26 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:26 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:27 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:26 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:24 +msgid "__shift__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:31 +msgid "The return value has same type and kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:39 +msgid "[__dshiftr__(3)](DSHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:2 +msgid "dshiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:5 +msgid "__dshiftr__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:14 +msgid "" +"__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost " +"__shift__ bits of the result are the rightmost __shift__ bits of __i__, " +"and the remaining bits are the leftmost bits of __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:39 +msgid "[__dshiftl__(3)](DSHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:2 +msgid "merge\\_bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:5 +msgid "__merge\\_bits__(3) - \\[BIT:COPY\\] Merge bits using a mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:15 +msgid "" +"where the result and all input values have the same _integer_ type and " +"KIND with the exception that the mask and either __i__ or __j__ may be a " +"BOZ constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:21 +msgid "" +"A common graphics operation in Ternary Raster Operations is to combine " +"bits from two different sources, generally referred to as bit-blending. " +"__merge\\_bits__ performs a masked bit-blend of __i__ and __j__ using the" +" bits of the __mask__ value to determine which of the input values to " +"copy bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:27 +msgid "" +"Specifically, The k-th bit of the result is equal to the k-th bit of " +"__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit " +"of __j__ otherwise (so all three input values must have the same number " +"of bits)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:32 +msgid "The resulting value is the same as would result from" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:36 +msgid "" +"An exception to all values being of the same _integer_ type is that __i__" +" or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it " +"is either a Binary, Octal, or Hexadecimal literal constant). The BOZ " +"values are converted to the _integer_ type of the non-BOZ value(s) as if " +"called by the intrinsic function __int()__ with the kind of the non-BOZ " +"value(s), so the BOZ values must be in the range of the type of the " +"result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:45 +msgid "" +"__i__ : value to select bits from when the associated bit in the mask is" +" __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:48 +msgid "" +"__j__ : value to select bits from when the associated bit in the mask is " +"__0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:51 +msgid "" +"__mask__ : a value whose bits are used as a mask to select bits from " +"__i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:56 +msgid "" +"The bits blended from __i__ and __j__ using the mask __mask__. It is the " +"same type as __i__ if __i__ is of type _integer_, otherwise the same type" +" as __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:37 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:60 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:54 +msgid "__Example__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:2 +msgid "mvbits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:5 +msgid "" +"__mvbits__(3) - \\[BIT:COPY\\] reproduce bit patterns found in one " +"integer in another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:14 +msgid "" +"__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in " +"the _integer_ __from__ to a specified position in another integer __to__ " +"(which is of the same kind as __from__). It otherwise leaves the bits in" +" __to__ as-is." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:19 +msgid "" +"The bit positions copied must exist within the value of __from__. That " +"is, the values of __frompos+len-1__ and __topos+len-1__ must be " +"nonnegative and less than __bit\\_size__(from)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:23 +msgid "The bits are numbered __0__ to __bit_size(i)-1__, from right to left." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:27 +msgid "__from__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:28 +msgid "An _integer_ to read bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:29 +msgid "__frompos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:30 +msgid "" +"__frompos__ is the position of the first bit to copy. It is a nonnegative" +" _integer_ value < __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:28 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:32 +msgid "__len__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:33 +msgid "" +"A nonnegative _integer_ value that indicates how many bits to copy from " +"__from__. It must not specify copying bits past the end of __from__. That" +" is, __frompos + len__ must be less than or equal to __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:37 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:42 +msgid "__to__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:38 +msgid "" +"The _integer_ variable to place the copied bits into. It must be of the " +"same kind as __from__ and may even be the same variable as __from__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:43 +msgid "" +"is set by copying the sequence of bits of length __len__, starting at " +"position __frompos__ of __from__ to position __topos__ of __to__. No " +"other bits of __to__ are altered. On return, the __len__ bits of __to__ " +"starting at __topos__ are equal to the value that the __len__ bits of " +"__from__ starting at __frompos__ had on entry." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:49 +msgid "__topos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:50 +msgid "" +"A nonnegative _integer_ value indicating the starting location in __to__ " +"to place the specified copy of bits from __from__. __topos + len__ must " +"be less than or equal to __bit_size(to)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:55 +msgid "" +"Sample program that populates a new 32-bit integer with its bytes in " +"reverse order (ie. changes the Endian of the integer)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:134 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__ieor__(3)](IEOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:2 +msgid "ibits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:5 +msgid "__ibits__(3) - \\[BIT:COPY\\] Bit extraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:14 +msgid "" +"__ibits__ extracts a field of length __len__ from __i__, starting from " +"bit position __pos__ and extending left for __len__ bits. The result is " +"right-justified and the remaining bits are zeroed. The value of pos+len " +"must be less than or equal to the value __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:25 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:29 +#: ../../source/learn/intrinsics/_pages/IBITS.md:33 +#: ../../source/learn/intrinsics/_pages/IBSET.md:29 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:32 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:36 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:29 +msgid "The return value is of type _integer_ and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:41 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:2 +msgid "ibclr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:5 +msgid "__ibclr__(3) - \\[BIT:SET\\] Clear bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:14 +msgid "" +"__ibclr__ returns the value of __i__ with the bit at position __pos__ set" +" to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. __pos__ is an __intent(in)__ scalar or array of type " +"_integer_. The value of __pos__ must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__not__(3)](NOT), [__btest__(3)](BTEST), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:2 +msgid "ibset" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:5 +msgid "__ibset__(3) - \\[BIT:SET\\] Set bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:14 +msgid "" +"__ibset__ returns the value of __i__ with the bit at position __pos__ set" +" to one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. pos is an __intent(in)__ scalar or array of type " +"_integer_. The value of pos must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:2 +msgid "maskl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:5 +msgid "__maskl__(3) - \\[BIT:SET\\] Generates a left justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:16 +msgid "" +"__maskl(i\\[, *kind*\\])__ has its leftmost __i__ bits set to __1__, and " +"the remaining bits set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:22 +#: ../../source/learn/intrinsics/_pages/MASKR.md:22 +msgid "" +"Shall be of type _integer_. Its value must be non-negative, and less than" +" or equal to the number of bits for the kind of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:27 +#: ../../source/learn/intrinsics/_pages/MASKR.md:27 +msgid "Shall be a scalar constant expression of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:31 +#: ../../source/learn/intrinsics/_pages/MASKR.md:31 +msgid "" +"The return value is of type _integer_. If __kind__ is present, it " +"specifies the kind value of the return type; otherwise, it is of the " +"default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:35 +msgid "The leftmost __i__ bits are set to 1 and the other bits are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:93 +msgid "[__maskr__(3)](MASKR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:2 +msgid "maskr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:5 +msgid "__maskr__(3) - \\[BIT:SET\\] Generates a right-justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:16 +msgid "" +"__maskr(i\\[, kind\\])__ has its rightmost __i__ bits set to 1, and the " +"remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:35 +msgid "It has its rightmost __i__ bits set to 1, and the remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:102 +msgid "[__maskl__(3)](MASKL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:2 +msgid "iparity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:5 +msgid "__iparity__(3) - \\[BIT:LOGICAL\\] Bitwise exclusive or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:18 +msgid "" +"Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ " +"along dimension __dim__ if the corresponding element in __mask__ is " +"__.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:24 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:24 +msgid "Shall be an array of type _integer_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __\"1\" to \"n\"__, where __\"n\"__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:31 +msgid "" +"(Optional) shall be of type _logical_ and either be a scalar or an array " +"of the same shape as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:36 +#: ../../source/learn/intrinsics/_pages/IANY.md:36 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:36 +#: ../../source/learn/intrinsics/_pages/NORM2.md:33 +msgid "The result is of the same type as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:69 +msgid "" +"[__iany__(3)](IANY), [__iall__(3)](IALL), [__ieor__(3)](IEOR), " +"[__parity__(3)](PARITY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:2 +msgid "iall" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:5 +msgid "__iall__(3) - \\[BIT:LOGICAL\\] Bitwise and of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:18 +msgid "" +"Reduces with bitwise _and_ the elements of __array__ along dimension " +"__dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:27 +#: ../../source/learn/intrinsics/_pages/IANY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __1 to n__, where __n__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _all_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:72 +msgid "[__iany__(3)](IANY), [__iparity__(3)](IPARITY), [__iand__(3)](IAND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:2 +msgid "iand" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:5 +msgid "__iand__(3) - \\[BIT:LOGICAL\\] Bitwise logical and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:14 +msgid "Bitwise logical __and__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:22 +#: ../../source/learn/intrinsics/_pages/IEOR.md:22 +msgid "The type shall be _integer_, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:26 +#: ../../source/learn/intrinsics/_pages/IOR.md:28 +msgid "" +"The return type is _integer_, of the same kind as the arguments. (If the " +"argument kinds differ, it is of the same kind as the larger argument.)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:51 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:2 +msgid "iany" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:5 +msgid "__iany__(3) - \\[BIT:LOGICAL\\] Bitwise or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:18 +msgid "" +"Reduces with bitwise or (inclusive or) the elements of __array__ along " +"dimension __dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _or_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:70 +msgid "[__iparity__(3)](IPARITY), [__iall__(3)](IALL), [__ior__(3)](IOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:2 +msgid "ieor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:5 +msgid "__ieor__(3) - \\[BIT:LOGICAL\\] Bitwise logical exclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:14 +msgid "__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:35 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:2 +msgid "ior" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:5 +msgid "__ior__(3) - \\[BIT:LOGICAL\\] Bitwise logical inclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:16 +msgid "__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:21 +msgid "an _integer_ scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:24 +msgid "_integer_ scalar or array, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:60 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:2 +msgid "not" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:4 +msgid "__not__(3) - \\[BIT:LOGICAL\\] Logical negation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:12 +msgid "NOT returns the bitwise Boolean inverse of I." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:21 +msgid "The return type is _integer_, of the same kind as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:52 +msgid "" +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__ibits__(3)](IBITS), [__ibset__(3)](IBSET)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:58 +msgid "[__ibclr__(3)](IBCLR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:2 +msgid "ishftc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:5 +msgid "__ishftc__(3) - \\[BIT:SHIFT\\] Shift bits circularly" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:14 +msgid "" +"__ishftc__(3) returns a value corresponding to __i__ with the rightmost " +"__size__ bits shifted circularly __shift__ places; that is, bits shifted " +"out one end are shifted into the opposite end. A value of __shift__ " +"greater than zero corresponds to a left shift, a value of zero " +"corresponds to no shift, and a value less than zero corresponds to a " +"right shift. The absolute value of __shift__ must be less than __size__. " +"If the __size__ argument is omitted, it is taken to be equivalent to " +"__bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:30 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:22 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:29 +msgid "__size__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:31 +msgid "" +"(Optional) The type shall be _integer_; the value must be greater than " +"zero and less than or equal to __bit\\_size__(i)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:44 +msgid "[__ishft__(3)](ISHFT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:2 +msgid "ishft" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:5 +msgid "__ishft__(3) - \\[BIT:SHIFT\\] Shift bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:14 +msgid "" +"__ishft__(3) returns a value corresponding to __i__ with all of the bits " +"shifted __shift__ places. A value of __shift__ greater than zero " +"corresponds to a left shift, a value of zero corresponds to no shift, and" +" a value less than zero corresponds to a right shift. If the absolute " +"value of __shift__ is greater than __bit\\_size(i)__, the value is " +"undefined. Bits shifted out from the left end or right end are lost; " +"zeros are shifted in from the opposite end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:40 +msgid "[__ishftc__(3)](ISHFTC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:2 +msgid "shifta" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:5 +msgid "__shifta__(3) - \\[BIT:SHIFT\\] shift bits right with fill" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost. The fill is arithmetic: the bits shifted in from the " +"left end are equal to the leftmost bit, which in two's complement " +"representation is the sign bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:39 +msgid "[__shiftl__(3)](SHIFTL), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:2 +msgid "shiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:5 +msgid "__shiftl__(3) - \\[BIT:SHIFT\\] shift bits left" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted left " +"by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the left" +" end are lost, and bits shifted in from the right end are set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:2 +msgid "shiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:5 +msgid "__shiftr__(3) - \\[BIT:SHIFT\\] shift bits right" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost, and bits shifted in from the left end are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftl__(3)](SHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/CHARACTER_index.md:1 +msgid "Basic procedures for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:2 +msgid "len" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:5 +msgid "__len__(3) - \\[CHARACTER\\] Length of a character entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:16 +msgid "" +"where the returned value is the same kind as the __KIND__, or of the " +"default kind if __KIND__ is not specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:21 +msgid "__len(3)__ Returns the length of a _character_ string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:23 +msgid "" +"If __string__ is an array, the length of an element of __string__ is " +"returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:26 +msgid "" +"Note that __string__ need not be defined when this intrinsic is invoked, " +"as only the length (not the content) of __string__ is needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:23 +#: ../../source/learn/intrinsics/_pages/INDEX.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:31 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:22 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:22 +#: ../../source/learn/intrinsics/_pages/SCAN.md:23 +#: ../../source/learn/intrinsics/_pages/TRIM.md:18 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:42 +msgid "__string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:32 +msgid "Shall be a scalar or array of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:26 +#: ../../source/learn/intrinsics/_pages/INDEX.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:24 +#: ../../source/learn/intrinsics/_pages/LEN.md:35 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:52 +msgid "" +"An _integer_ initialization expression indicating the kind parameter of " +"the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:28 +#: ../../source/learn/intrinsics/_pages/INDEX.md:43 +#: ../../source/learn/intrinsics/_pages/LEN.md:40 +#: ../../source/learn/intrinsics/_pages/SCAN.md:38 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:57 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:45 +msgid "FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:110 +msgid "" +"len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines " +"that allow you to deal with leading and trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:66 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:79 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:111 +#: ../../source/learn/intrinsics/_pages/INDEX.md:75 +#: ../../source/learn/intrinsics/_pages/LEN.md:113 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:74 +#: ../../source/learn/intrinsics/_pages/LGE.md:47 +#: ../../source/learn/intrinsics/_pages/LGT.md:49 +#: ../../source/learn/intrinsics/_pages/LLE.md:95 +#: ../../source/learn/intrinsics/_pages/LLT.md:49 +#: ../../source/learn/intrinsics/_pages/SCAN.md:65 +#: ../../source/learn/intrinsics/_pages/TRIM.md:56 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:249 +msgid "" +"Functions that perform operations on character strings, return lengths of" +" arguments, and search for certain arguments:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:78 +#: ../../source/learn/intrinsics/_pages/LEN.md:116 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:77 +#: ../../source/learn/intrinsics/_pages/LLT.md:52 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:66 +#: ../../source/learn/intrinsics/_pages/SCAN.md:68 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:86 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:122 +#: ../../source/learn/intrinsics/_pages/INDEX.md:82 +#: ../../source/learn/intrinsics/_pages/LEN.md:123 +#: ../../source/learn/intrinsics/_pages/LGE.md:58 +#: ../../source/learn/intrinsics/_pages/LGT.md:60 +#: ../../source/learn/intrinsics/_pages/LLE.md:106 +#: ../../source/learn/intrinsics/_pages/LLT.md:56 +#: ../../source/learn/intrinsics/_pages/SCAN.md:72 +#: ../../source/learn/intrinsics/_pages/TRIM.md:67 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:2 +msgid "new\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:5 +msgid "__new\\_line__(3) - \\[CHARACTER\\] new-line character" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:16 +msgid "__new\\_line(c)__ returns the new-line character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:18 +msgid "Case (i)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:19 +msgid "" +"If __a__ is default _character_ and the character in position __10__ of " +"the ASCII collating sequence is representable in the default character " +"set, then the result is __achar(10)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:23 +msgid "Case (ii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:24 +msgid "" +"If __a__ is an ASCII character or an ISO 10646 character, then the result" +" is __char(10, kind (a))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:27 +msgid "Case (iii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:28 +msgid "" +"Otherwise, the result is a processor-dependent character that represents " +"a newline in output to files connected for formatted stream output if " +"there is such a character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:32 +msgid "Case (iv)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:33 +msgid "Otherwise, the result is the blank character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:37 +msgid "__C__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:38 +msgid "The argument shall be a scalar or array of the type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:42 +msgid "" +"Returns a _character_ scalar of length one with the new-line character of" +" the same kind as parameter __c__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:56 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:55 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:59 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:79 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:121 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:61 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:49 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:66 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:74 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:33 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:57 +msgid "Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:2 +msgid "repeat" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:5 +msgid "__repeat__(3) - \\[CHARACTER\\] Repeated string concatenation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:18 +msgid "Concatenates __ncopies__ copies of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:23 +msgid "" +"The input string to repeatedly generate. Shall be scalar and of type " +"_character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:27 +msgid "" +"Number of copies to make of _string_, greater than or equal to zero (0). " +"Shall be scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:32 +msgid "" +"A new scalar of type _character_ built up from __ncopies__ copies of " +"__string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:64 +msgid "Functions that perform operations on character strings:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:73 +msgid "" +"__Non-elemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:2 +msgid "achar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:5 +msgid "" +"__achar__(3) - \\[CHARACTER:CONVERSION\\] returns a character in a " +"specified position in the ASCII collating sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:16 +msgid "where KIND may be any supported kind value for _integer_ types." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:20 +msgid "" +"__achar(i)__ returns the character located at position __i__ (commonly " +"called the _ADE_ or ASCII Decimal Equivalent) in the ASCII collating " +"sequence." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:23 +msgid "" +"The __achar__(3) function is often used for generating in-band escape " +"sequences to control terminal attributes." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:28 +msgid "will clear the screen on an ANSI-compatible terminal display, for example." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:34 +msgid "" +"the _integer_ value to convert to an ASCII character, in the range 0 to " +"127." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:38 +#: ../../source/learn/intrinsics/_pages/AINT.md:35 +#: ../../source/learn/intrinsics/_pages/ANINT.md:22 +msgid "" +"(optional) an _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:43 +msgid "" +"The return value is the requested character of type _character_ with a " +"length of one. If the __kind__ argument is present, the return value is " +"of the specified kind and of the default kind otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:124 +#: ../../source/learn/intrinsics/_pages/CHAR.md:51 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:83 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:92 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:64 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:72 +msgid "__Note__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:126 +msgid "The ADEs (ASCII Decimal Equivalents) for ASCII are" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:151 +#: ../../source/learn/intrinsics/_pages/INDEX.md:70 +msgid "FORTRAN 77 and later, with KIND argument Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:155 +msgid "[__char__(3)](CHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:159 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:106 +msgid "__Resources__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:161 +msgid "[ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:162 +msgid "" +"[M_attr module](https://github.com/urbanjost/M_attr) for controlling " +"ANSI-compatible terminals" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:2 +msgid "char" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:5 +msgid "__char__(3) - \\[CHARACTER\\] Character conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:18 +msgid "__char(i, kind)__ returns the character represented by the integer __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:26 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:23 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:32 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:27 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:27 +#: ../../source/learn/intrinsics/_pages/REAL.md:21 +#: ../../source/learn/intrinsics/_pages/SCAN.md:33 +msgid "" +"(Optional) An _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:31 +msgid "The return value is of type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:53 +msgid "" +"See [__ichar__(3)](CHAR) for a discussion of converting between numerical" +" values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:123 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:62 +#: ../../source/learn/intrinsics/_pages/AINT.md:81 +#: ../../source/learn/intrinsics/_pages/ANINT.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:58 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:163 +#: ../../source/learn/intrinsics/_pages/CONJG.md:98 +#: ../../source/learn/intrinsics/_pages/COS.md:67 +#: ../../source/learn/intrinsics/_pages/DBLE.md:52 +#: ../../source/learn/intrinsics/_pages/DIM.md:64 +#: ../../source/learn/intrinsics/_pages/DPROD.md:84 +#: ../../source/learn/intrinsics/_pages/EXP.md:84 +#: ../../source/learn/intrinsics/_pages/INT.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:41 +#: ../../source/learn/intrinsics/_pages/LGT.md:41 +#: ../../source/learn/intrinsics/_pages/LLE.md:87 +#: ../../source/learn/intrinsics/_pages/LLT.md:41 +#: ../../source/learn/intrinsics/_pages/LOG.md:49 +#: ../../source/learn/intrinsics/_pages/LOG10.md:57 +#: ../../source/learn/intrinsics/_pages/MAX.md:111 +#: ../../source/learn/intrinsics/_pages/MIN.md:48 +#: ../../source/learn/intrinsics/_pages/MOD.md:72 +#: ../../source/learn/intrinsics/_pages/REAL.md:67 +#: ../../source/learn/intrinsics/_pages/SIGN.md:74 +#: ../../source/learn/intrinsics/_pages/SIN.md:123 +#: ../../source/learn/intrinsics/_pages/SQRT.md:87 +msgid "FORTRAN 77 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:62 +msgid "[__achar__(3)](ACHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:82 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:2 +msgid "iachar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:5 +msgid "" +"__iachar__(3) - \\[CHARACTER:CONVERSION\\] Code in ASCII collating " +"sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:14 +msgid "" +"__iachar__(c) returns the code for the ASCII character in the first " +"character position of C." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:19 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:28 +msgid "__c__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:20 +msgid "Shall be a scalar _character_, with _intent(in)_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:66 +msgid "" +"See [__ichar__(3)](ICHAR) for a discussion of converting between " +"numerical values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:71 +#: ../../source/learn/intrinsics/_pages/SCAN.md:61 +msgid "Fortran 95 and later, with KIND argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:75 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:2 +msgid "ichar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:5 +msgid "" +"__ichar__(3) - \\[CHARACTER:CONVERSION\\] Character-to-integer conversion" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:17 +msgid "" +"__ichar(c)__ returns the code for the character in the system's native " +"character set. The correspondence between characters and their codes is " +"not necessarily the same across different Fortran implementations. For " +"example, a platform using EBCDIC would return different values than an " +"ASCII platform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:23 +msgid "See __iachar__(3) for specifically working with the ASCII character set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:29 +msgid "Shall be a scalar _character_, with __intent(in)__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:37 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:32 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:74 +msgid "" +"No intrinsic exists to convert between a numeric value and a formatted " +"character string representation -- for instance, given the _character_ " +"value '154', obtaining an _integer_ or _real_ value with the value 154, " +"or vice versa. Instead, this functionality is provided by internal-file " +"I/O, as in the following example:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:103 +msgid "Fortran 95 and later, with KIND argument -Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:107 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__iachar__(3)](IACHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:50 +#: ../../source/learn/intrinsics/_pages/LGT.md:52 +#: ../../source/learn/intrinsics/_pages/LLE.md:98 +#: ../../source/learn/intrinsics/_pages/TRIM.md:59 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:119 +#: ../../source/learn/intrinsics/_pages/LGE.md:55 +#: ../../source/learn/intrinsics/_pages/LLE.md:103 +#: ../../source/learn/intrinsics/_pages/TRIM.md:64 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:2 +msgid "index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:5 +msgid "" +"__index__(3) - \\[CHARACTER:SEARCH\\] Position of a substring within a " +"string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:20 +msgid "" +"Returns the position of the start of the leftmost or rightmost occurrence" +" of string __substring__ in __string__, counting from one. If " +"__substring__ is not present in __string__, zero is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:27 +msgid "string to be searched" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:29 +msgid "__substring__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:30 +msgid "string to attempt to locate in __string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:29 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:48 +msgid "__back__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:33 +msgid "" +"If the __back__ argument is present and true, the return value is the " +"start of the rightmost occurrence rather than the leftmost." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:42 +msgid "__START__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:48 +msgid "Example program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:2 +msgid "scan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:5 +msgid "" +"__scan__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the presence of a " +"set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:14 +msgid "Scans a __string__ for any of the characters in a __set__ of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:16 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __STRING__ that is in __set__." +" If __back__ equals __.true.__, the rightmost position is returned. If no" +" character of __set__ is found in __string__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:24 +#: ../../source/learn/intrinsics/_pages/SCAN.md:27 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:43 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:46 +msgid "Shall be of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:26 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:45 +msgid "__set__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:30 +msgid "(Optional) shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:2 +msgid "verify" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:5 +msgid "" +"__verify__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the absence of a" +" set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:20 +msgid "" +"Verifies that all the characters in __string__ belong to the set of " +"characters in __set__ by identifying the first character in the string(s)" +" that is not in the set(s)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:24 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __string__ that is not in " +"__set__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:28 +msgid "If __back__ equals __.true.__, the rightmost position is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:30 +msgid "If all characters of __string__ are found in __set__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:32 +msgid "" +"This makes it easy to verify strings are all uppercase or lowercase, " +"follow a basic syntax, only contain printable characters, and many of the" +" conditions tested for with the C routines __isalnum__(3c), " +"__isalpha__(3c), __isascii__(3c), __isblank__(3c), __iscntrl__(3c), " +"__isdigit__(3c), __isgraph__(3c), __islower__(3c), __isprint__(3c), " +"__ispunct__(3c), __isspace__(3c), __isupper__(3c), and __isxdigit__(3c); " +"but for a string as well an an array of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:49 +msgid "shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:62 +msgid "Sample program I:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:137 +msgid "Sample program II:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:139 +msgid "Determine if strings are valid integer representations" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:187 +msgid "Sample program III:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:189 +msgid "Determine if strings represent valid Fortran symbol names" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:69 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:245 +msgid "Fortran 95 and later, with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:252 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:259 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:2 +msgid "lge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:5 +msgid "__lge__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:14 +msgid "" +"Determines whether one string is lexically greater than or equal to " +"another string, where the two strings are interpreted as containing ASCII" +" character codes. If the String __a__ and String __b__ are not the same " +"length, the shorter is compared as if spaces were appended to it to form " +"a value that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:20 +msgid "" +"In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), " +"__lle__(3), and __llt__(3) differ from the corresponding intrinsic " +"operators .ge., .gt., .le., and .lt., in that the latter use the " +"processor's character ordering (which is not ASCII on some targets), " +"whereas the former always use the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:28 +#: ../../source/learn/intrinsics/_pages/LGT.md:28 +#: ../../source/learn/intrinsics/_pages/LLT.md:28 +msgid "__string\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:29 +#: ../../source/learn/intrinsics/_pages/LGE.md:32 +#: ../../source/learn/intrinsics/_pages/LGT.md:29 +#: ../../source/learn/intrinsics/_pages/LGT.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:29 +#: ../../source/learn/intrinsics/_pages/LLT.md:32 +msgid "Shall be of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:31 +#: ../../source/learn/intrinsics/_pages/LGT.md:31 +#: ../../source/learn/intrinsics/_pages/LLT.md:31 +msgid "__string\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:36 +msgid "" +"Returns .true. if string\\_a \\>= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:45 +msgid "__\\[\\[lgt__(3), __\\[\\[lle__(3), __\\[\\[llt__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:2 +msgid "lgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:5 +msgid "__lgt__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:14 +msgid "" +"Determines whether one string is lexically greater than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the String __a__ and String __b__ are not the same length, the " +"shorter is compared as if spaces were appended to it to form a value that" +" has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:20 +#: ../../source/learn/intrinsics/_pages/LLE.md:26 +#: ../../source/learn/intrinsics/_pages/LLT.md:20 +msgid "" +"In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT " +"differ from the corresponding intrinsic operators .ge., .gt., .le., and " +".lt., in that the latter use the processor's character ordering (which is" +" not ASCII on some targets), whereas the former always use the ASCII " +"ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:36 +msgid "" +"Returns .true. if string\\_a \\> string\\_b, and .false. otherwise, based" +" on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:45 +msgid "[__lge__(3)](LGE), [__lle__(3)](LLE), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:57 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:2 +msgid "lle" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:5 +msgid "__lle__(3) - \\[CHARACTER:COMPARE\\] Lexical less than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:20 +msgid "" +"Determines whether one string is lexically less than or equal to another " +"string, where the two strings are interpreted as containing ASCII " +"character codes. if the __string\\_a__ and __string\\_b__ are not the " +"same length, the shorter is compared as if spaces were appended to it to " +"form a value that has the same length as the longer. Leading spaces are " +"significant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:34 +msgid "__str\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:38 +msgid "variable or array of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:37 +msgid "__str\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:40 +msgid "if __str_a__ and __str_b__ are both arrays they must be of the same shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:45 +msgid "" +"__result__ Returns __.true.__ if __STR\\_A \\<= STR\\_B__, and " +"__.false.__ otherwise, based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:91 +msgid "[__lge__(3)](LGE), [__lgt__(3),](LGT), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:2 +msgid "llt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:5 +msgid "__llt__(3) - \\[CHARACTER:COMPARE\\] Lexical less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:14 +msgid "" +"Determines whether one string is lexically less than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the __string\\_a__ and __string\\_b__ are not the same length, " +"the shorter is compared as if spaces were appended to it to form a value " +"that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:36 +msgid "" +"Returns .true. if string\\_a \\<= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:45 +msgid "[__lge__(3)](LGE), [__lgt__(3)](LGT), [__lle__(3](LLE))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:2 +msgid "adjustl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:5 +msgid "__adjustl__(3) - \\[CHARACTER:WHITESPACE\\] Left-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:17 +msgid "" +"__adjustl(string)__ will left-adjust a string by removing leading spaces." +" Spaces are inserted at the end of the string as needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:23 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:24 +msgid "the type shall be _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:27 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where leading spaces are removed and the same number of spaces" +" are inserted on the end of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:64 +msgid "[__adjustr__(3)](ADJUSTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:2 +msgid "adjustr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:5 +msgid "__adjustr__(3) - \\[CHARACTER:WHITESPACE\\] Right-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:17 +msgid "" +"__adjustr(string)__ right-adjusts a string by removing trailing spaces. " +"Spaces are inserted at the start of the string as needed to retain the " +"original length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:28 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where trailing spaces are removed and the same number of " +"spaces are inserted at the start of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:77 +msgid "[__adjustl__(3)](ADJUSTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:2 +msgid "len\\_trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:5 +msgid "" +"__len\\_trim__(3) - \\[CHARACTER:WHITESPACE\\] Length of a character " +"entity without trailing blank characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:18 +msgid "Returns the length of a character string, ignoring any trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:23 +msgid "" +"The input string whose length is to be measured. Shall be a scalar of " +"type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:84 +msgid "" +"__Nonelemental:__ [__repeat__(3)](REPEAT), [__len__(3)](LEN), " +"[__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:2 +msgid "trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:5 +msgid "" +"__trim__(3) - \\[CHARACTER:WHITESPACE\\] Remove trailing blank characters" +" of a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:14 +msgid "Removes trailing blank characters of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:19 +msgid "Shall be a scalar of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:23 +msgid "" +"A scalar of type _character_ which length is that of __string__ less the " +"number of trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/COMPILER_index.md:1 +msgid "Information about compiler and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:2 +msgid "compiler\\_options" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:5 +msgid "" +"__compiler\\_options__(3) - \\[COMPILER INQUIRY\\] Options passed to the " +"compiler" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:14 +msgid "compiler\\_options returns a string with the options used for compiling." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:18 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:21 +msgid "None." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:22 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the compiler flags used to compile the file, which called the" +" compiler\\_options intrinsic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:52 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:55 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:53 +msgid "Fortran 2008" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:56 +msgid "[__compiler\\_version__(3)](COMPILER_VERSION), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:2 +msgid "compiler\\_version" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:5 +msgid "__compiler\\_version__(3) - \\[COMPILER INQUIRY\\] Compiler version string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:16 +msgid "" +"__compiler\\_version__(3) returns a string containing the name and " +"version of the compiler." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:25 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the name of the compiler and its version number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:59 +msgid "[__compiler\\_options__(3)](COMPILER_OPTIONS), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/C_index.md:1 +msgid "Procedures for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:2 +msgid "c\\_associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:5 +msgid "__c\\_associated__(3) - \\[ISO\\_C\\_BINDING\\] Status of a C pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:14 +msgid "" +"__c\\_associated(c\\_prt\\_1\\[, c\\_ptr\\_2\\])__ determines the status " +"of the C pointer c\\_ptr\\_1 or if c\\_ptr\\_1 is associated with the " +"target c\\_ptr\\_2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:20 +msgid "__c\\_ptr\\_1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:21 +msgid "Scalar of the type c\\_ptr or c\\_funptr." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:23 +msgid "__c\\_ptr\\_2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:24 +msgid "(Optional) Scalar of the same type as c\\_ptr\\_1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:28 +msgid "" +"The return value is of type _logical_; it is .false. if either " +"c\\_ptr\\_1 is a C NULL pointer or if c\\_ptr1 and c\\_ptr\\_2 point to " +"different addresses." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_funloc__(3)](C_FUNLOC), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:2 +msgid "c\\_f\\_pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:5 +msgid "" +"__c\\_f\\_pointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into Fortran " +"pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:14 +msgid "" +"__c\\_f\\_pointer(cptr, fptr\\[, shape\\])__ Assign the target, the C " +"pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:19 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:19 +msgid "__cptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:20 +msgid "scalar of the type c\\_ptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:22 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:22 +msgid "__fptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:23 +msgid "pointer interoperable with __cptr__. it is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:25 +msgid "__shape__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:26 +msgid "" +"(Optional) Rank-one array of type _integer_ with __intent(in)__ . It " +"shall be present if and only if __fptr__ is an array. The size must be " +"equal to the rank of __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:57 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:2 +msgid "c\\_f\\_procpointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:5 +msgid "" +"__c\\_f\\_procpointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into " +"Fortran procedure pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:14 +msgid "" +"__c\\_f\\_procpointer(cptr, fptr)__ assigns the target of the C function " +"pointer __cptr__ to the Fortran procedure pointer __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:20 +msgid "scalar of the type c\\_funptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:23 +msgid "procedure pointer interoperable with __cptr__. It is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_pointer__(3)](C_F_POINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:2 +msgid "c\\_funloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:5 +msgid "" +"__c\\_funloc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of a " +"procedure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:14 +msgid "__c\\_funloc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:23 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:24 +#: ../../source/learn/intrinsics/_pages/AINT.md:31 +#: ../../source/learn/intrinsics/_pages/ASIN.md:27 +#: ../../source/learn/intrinsics/_pages/ASINH.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:28 +#: ../../source/learn/intrinsics/_pages/ATANH.md:18 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:34 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:34 +#: ../../source/learn/intrinsics/_pages/COS.md:27 +#: ../../source/learn/intrinsics/_pages/COSH.md:25 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:19 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:26 +#: ../../source/learn/intrinsics/_pages/DIM.md:24 +#: ../../source/learn/intrinsics/_pages/DPROD.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:32 +#: ../../source/learn/intrinsics/_pages/ERF.md:21 +#: ../../source/learn/intrinsics/_pages/ERFC.md:37 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:24 +#: ../../source/learn/intrinsics/_pages/EXP.md:29 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:20 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/HUGE.md:25 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:28 +#: ../../source/learn/intrinsics/_pages/KIND.md:18 +#: ../../source/learn/intrinsics/_pages/LOG.md:19 +#: ../../source/learn/intrinsics/_pages/LOG10.md:21 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:18 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:19 +#: ../../source/learn/intrinsics/_pages/NINT.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:18 +#: ../../source/learn/intrinsics/_pages/RANGE.md:25 +#: ../../source/learn/intrinsics/_pages/REAL.md:17 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:21 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:28 +#: ../../source/learn/intrinsics/_pages/SINH.md:30 +#: ../../source/learn/intrinsics/_pages/SPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SQRT.md:43 +#: ../../source/learn/intrinsics/_pages/TAN.md:18 +#: ../../source/learn/intrinsics/_pages/TANH.md:18 +#: ../../source/learn/intrinsics/_pages/TINY.md:23 +msgid "__x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:19 +msgid "Interoperable function or pointer to such function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:23 +msgid "" +"The return value is of type c\\_funptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:63 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_loc__(3)](C_LOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:67 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:54 +msgid "[__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), __iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:2 +msgid "c\\_loc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:5 +msgid "__c\\_loc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of an object" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:14 +msgid "__c\\_loc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:19 +msgid "" +"Shall have either the _pointer_ or _target_ attribute. It shall not be a " +"coindexed object. It shall either be a variable with interoperable type " +"and kind type parameters, or be a scalar, nonpolymorphic variable with no" +" length type parameters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:26 +msgid "" +"The return value is of type c\\_ptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:50 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_funloc__(3)](C_FUNLOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:2 +msgid "c\\_sizeof" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:5 +msgid "__c\\_sizeof__(3) - \\[ISO\\_C\\_BINDING\\] Size in bytes of an expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:14 +msgid "" +"__c\\_sizeof(x)__ calculates the number of bytes of storage the " +"expression __x__ occupies." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:20 +msgid "The argument shall be an interoperable data entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:24 +msgid "" +"The return value is of type integer and of the system-dependent kind " +"c\\_size\\_t (from the *iso\\_c\\_binding* module). Its value is the " +"number of bytes occupied by the argument. If the argument has the " +"_pointer_ attribute, the number of bytes of the storage area pointed to " +"is returned. If the argument is of a derived type with _pointer_ or " +"_allocatable_ components, the return value does not account for the sizes" +" of the data pointed to by these components." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:48 +msgid "" +"The example will print .true. unless you are using a platform where " +"default _real_ variables are unusually padded." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:57 +msgid "[__storage\\_size__(3)](STORAGE_SIZE)" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:1 +msgid "GNU Free Documentation License" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:2 +msgid "*Version 1.2, November 2002*" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:9 +msgid "0. PREAMBLE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:11 +msgid "" +"The purpose of this License is to make a manual, textbook, or other " +"functional and useful document \"free\" in the sense of freedom: to " +"assure everyone the effective freedom to copy and redistribute it, with " +"or without modifying it, either commercially or noncommercially. " +"Secondarily, this License preserves for the author and publisher a way to" +" get credit for their work, while not being considered responsible for " +"modifications made by others." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:19 +msgid "" +"This License is a kind of \"copyleft\", which means that derivative works" +" of the document must themselves be free in the same sense. It " +"complements the GNU General Public License, which is a copyleft license " +"designed for free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:24 +msgid "" +"We have designed this License in order to use it for manuals for free " +"software, because free software needs free documentation: a free program " +"should come with manuals providing the same freedoms that the software " +"does. But this License is not limited to software manuals; it can be " +"used for any textual work, regardless of subject matter or whether it is " +"published as a printed book. We recommend this License principally for " +"works whose purpose is instruction or reference." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:33 +msgid "1. APPLICABILITY AND DEFINITIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:35 +msgid "" +"This License applies to any manual or other work, in any medium, that " +"contains a notice placed by the copyright holder saying it can be " +"distributed under the terms of this License. Such a notice grants a " +"world-wide, royalty-free license, unlimited in duration, to use that work" +" under the conditions stated herein. The \"Document\", below, refers to " +"any such manual or work. Any member of the public is a licensee, and is " +"addressed as \"you\". You accept the license if you copy, modify or " +"distribute the work in a way requiring permission under copyright law." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:45 +msgid "" +"A \"Modified Version\" of the Document means any work containing the " +"Document or a portion of it, either copied verbatim, or with " +"modifications and/or translated into another language." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:49 +msgid "" +"A \"Secondary Section\" is a named appendix or a front-matter section of " +"the Document that deals exclusively with the relationship of the " +"publishers or authors of the Document to the Document's overall subject " +"(or to related matters) and contains nothing that could fall directly " +"within that overall subject. (Thus, if the Document is in part a " +"textbook of mathematics, a Secondary Section may not explain any " +"mathematics.) The relationship could be a matter of historical " +"connection with the subject or with related matters, or of legal, " +"commercial, philosophical, ethical or political position regarding them." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:60 +msgid "" +"The \"Invariant Sections\" are certain Secondary Sections whose titles " +"are designated, as being those of Invariant Sections, in the notice that " +"says that the Document is released under this License. If a section does" +" not fit the above definition of Secondary then it is not allowed to be " +"designated as Invariant. The Document may contain zero Invariant " +"Sections. If the Document does not identify any Invariant Sections then " +"there are none." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:68 +msgid "" +"The \"Cover Texts\" are certain short passages of text that are listed, " +"as Front-Cover Texts or Back-Cover Texts, in the notice that says that " +"the Document is released under this License. A Front-Cover Text may be " +"at most 5 words, and a Back-Cover Text may be at most 25 words." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:73 +msgid "" +"A \"Transparent\" copy of the Document means a machine-readable copy, " +"represented in a format whose specification is available to the general " +"public, that is suitable for revising the document straightforwardly with" +" generic text editors or (for images composed of pixels) generic paint " +"programs or (for drawings) some widely available drawing editor, and that" +" is suitable for input to text formatters or for automatic translation to" +" a variety of formats suitable for input to text formatters. A copy made" +" in an otherwise Transparent file format whose markup, or absence of " +"markup, has been arranged to thwart or discourage subsequent modification" +" by readers is not Transparent. An image format is not Transparent if " +"used for any substantial amount of text. A copy that is not " +"\"Transparent\" is called \"Opaque\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:86 +msgid "" +"Examples of suitable formats for Transparent copies include plain ASCII " +"without markup, Texinfo input format, LaTeX input format, SGML or XML " +"using a publicly available DTD, and standard-conforming simple HTML, " +"PostScript or PDF designed for human modification. Examples of " +"transparent image formats include PNG, XCF and JPG. Opaque formats " +"include proprietary formats that can be read and edited only by " +"proprietary word processors, SGML or XML for which the DTD and/or " +"processing tools are not generally available, and the machine-generated " +"HTML, PostScript or PDF produced by some word processors for output " +"purposes only." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:97 +msgid "" +"The \"Title Page\" means, for a printed book, the title page itself, plus" +" such following pages as are needed to hold, legibly, the material this " +"License requires to appear in the title page. For works in formats which" +" do not have any title page as such, \"Title Page\" means the text near " +"the most prominent appearance of the work's title, preceding the " +"beginning of the body of the text." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:104 +msgid "" +"A section \"Entitled XYZ\" means a named subunit of the Document whose " +"title either is precisely XYZ or contains XYZ in parentheses following " +"text that translates XYZ in another language. (Here XYZ stands for a " +"specific section name mentioned below, such as \"Acknowledgements\", " +"\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the " +"Title\" of such a section when you modify the Document means that it " +"remains a section \"Entitled XYZ\" according to this definition." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:112 +msgid "" +"The Document may include Warranty Disclaimers next to the notice which " +"states that this License applies to the Document. These Warranty " +"Disclaimers are considered to be included by reference in this License, " +"but only as regards disclaiming warranties: any other implication that " +"these Warranty Disclaimers may have is void and has no effect on the " +"meaning of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:120 +msgid "2. VERBATIM COPYING" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:122 +msgid "" +"You may copy and distribute the Document in any medium, either " +"commercially or noncommercially, provided that this License, the " +"copyright notices, and the license notice saying this License applies to " +"the Document are reproduced in all copies, and that you add no other " +"conditions whatsoever to those of this License. You may not use " +"technical measures to obstruct or control the reading or further copying " +"of the copies you make or distribute. However, you may accept " +"compensation in exchange for copies. If you distribute a large enough " +"number of copies you must also follow the conditions in section 3." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:132 +msgid "" +"You may also lend copies, under the same conditions stated above, and you" +" may publicly display copies." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:136 +msgid "3. COPYING IN QUANTITY" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:138 +msgid "" +"If you publish printed copies (or copies in media that commonly have " +"printed covers) of the Document, numbering more than 100, and the " +"Document's license notice requires Cover Texts, you must enclose the " +"copies in covers that carry, clearly and legibly, all these Cover Texts: " +"Front-Cover Texts on the front cover, and Back-Cover Texts on the back " +"cover. Both covers must also clearly and legibly identify you as the " +"publisher of these copies. The front cover must present the full title " +"with all words of the title equally prominent and visible. You may add " +"other material on the covers in addition. Copying with changes limited to" +" the covers, as long as they preserve the title of the Document and " +"satisfy these conditions, can be treated as verbatim copying in other " +"respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:151 +msgid "" +"If the required texts for either cover are too voluminous to fit legibly," +" you should put the first ones listed (as many as fit reasonably) on the " +"actual cover, and continue the rest onto adjacent pages." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:156 +msgid "" +"If you publish or distribute Opaque copies of the Document numbering more" +" than 100, you must either include a machine-readable Transparent copy " +"along with each Opaque copy, or state in or with each Opaque copy a " +"computer-network location from which the general network-using public has" +" access to download using public-standard network protocols a complete " +"Transparent copy of the Document, free of added material. If you use the " +"latter option, you must take reasonably prudent steps, when you begin " +"distribution of Opaque copies in quantity, to ensure that this " +"Transparent copy will remain thus accessible at the stated location until" +" at least one year after the last time you distribute an Opaque copy " +"(directly or through your agents or retailers) of that edition to the " +"public." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:169 +msgid "" +"It is requested, but not required, that you contact the authors of the " +"Document well before redistributing any large number of copies, to give " +"them a chance to provide you with an updated version of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:174 +msgid "4. MODIFICATIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:176 +msgid "" +"You may copy and distribute a Modified Version of the Document under the " +"conditions of sections 2 and 3 above, provided that you release the " +"Modified Version under precisely this License, with the Modified Version " +"filling the role of the Document, thus licensing distribution and " +"modification of the Modified Version to whoever possesses a copy of it. " +"In addition, you must do these things in the Modified Version:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:183 +msgid "" +"__A__. Use in the Title Page (and on the covers, if any) a title distinct" +" from that of the Document, and from those of previous versions (which " +"should, if there were any, be listed in the History section of the " +"Document). You may use the same title as a previous version if the " +"original publisher of that version gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:188 +msgid "" +"__B__. List on the Title Page, as authors, one or more persons or " +"entities responsible for authorship of the modifications in the Modified" +" Version, together with at least five of the principal authors of the " +"Document (all of its principal authors, if it has fewer than five), " +"unless they release you from this requirement." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:193 +msgid "" +"__C__. State on the Title page the name of the publisher of the Modified" +" Version, as the publisher." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:195 +msgid "__D__. Preserve all the copyright notices of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:196 +msgid "" +"__E__. Add an appropriate copyright notice for your modifications " +"adjacent to the other copyright notices." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:198 +msgid "" +"__F__. Include, immediately after the copyright notices, a license notice" +" giving the public permission to use the Modified Version under the " +"terms of this License, in the form shown in the Addendum below." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:201 +msgid "" +"__G__. Preserve in that license notice the full lists of Invariant " +"Sections and required Cover Texts given in the Document's license " +"notice." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:203 +msgid "__H__. Include an unaltered copy of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:204 +msgid "" +"__I__. Preserve the section Entitled \"History\", Preserve its Title, and" +" add to it an item stating at least the title, year, new authors, and " +"publisher of the Modified Version as given on the Title Page. If there " +"is no section Entitled \"History\" in the Document, create one stating " +"the title, year, authors, and publisher of the Document as given on its " +"Title Page, then add an item describing the Modified Version as stated " +"in the previous sentence." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:211 +msgid "" +"__J__. Preserve the network location, if any, given in the Document for " +"public access to a Transparent copy of the Document, and likewise the " +"network locations given in the Document for previous versions it was " +"based on. These may be placed in the \"History\" section. You may omit " +"a network location for a work that was published at least four years " +"before the Document itself, or if the original publisher of the version " +"it refers to gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:218 +msgid "" +"__K__. For any section Entitled \"Acknowledgements\" or \"Dedications\"," +" Preserve the Title of the section, and preserve in the section all the" +" substance and tone of each of the contributor acknowledgements and/or " +"dedications given therein." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:222 +msgid "" +"__L__. Preserve all the Invariant Sections of the Document, unaltered in" +" their text and in their titles. Section numbers or the equivalent are " +"not considered part of the section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:225 +msgid "" +"__M__. Delete any section Entitled \"Endorsements\". Such a section may" +" not be included in the Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:227 +msgid "" +"__N__. Do not retitle any existing section to be Entitled " +"\"Endorsements\" or to conflict in title with any Invariant Section." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:229 +msgid "__O__. Preserve any Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:231 +msgid "" +"If the Modified Version includes new front-matter sections or appendices " +"that qualify as Secondary Sections and contain no material copied from " +"the Document, you may at your option designate some or all of these " +"sections as invariant. To do this, add their titles to the list of " +"Invariant Sections in the Modified Version's license notice. These titles" +" must be distinct from any other section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:238 +msgid "" +"You may add a section Entitled \"Endorsements\", provided it contains " +"nothing but endorsements of your Modified Version by various parties--for" +" example, statements of peer review or that the text has been approved by" +" an organization as the authoritative definition of a standard." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:244 +msgid "" +"You may add a passage of up to five words as a Front-Cover Text, and a " +"passage of up to 25 words as a Back-Cover Text, to the end of the list of" +" Cover Texts in the Modified Version. Only one passage of Front-Cover " +"Text and one of Back-Cover Text may be added by (or through arrangements " +"made by) any one entity. If the Document already includes a cover text " +"for the same cover, previously added by you or by arrangement made by the" +" same entity you are acting on behalf of, you may not add another; but " +"you may replace the old one, on explicit permission from the previous " +"publisher that added the old one." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:254 +msgid "" +"The author(s) and publisher(s) of the Document do not by this License " +"give permission to use their names for publicity for or to assert or " +"imply endorsement of any Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:259 +msgid "5. COMBINING DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:261 +msgid "" +"You may combine the Document with other documents released under this " +"License, under the terms defined in section 4 above for modified " +"versions, provided that you include in the combination all of the " +"Invariant Sections of all of the original documents, unmodified, and list" +" them all as Invariant Sections of your combined work in its license " +"notice, and that you preserve all their Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:268 +msgid "" +"The combined work need only contain one copy of this License, and " +"multiple identical Invariant Sections may be replaced with a single copy." +" If there are multiple Invariant Sections with the same name but " +"different contents, make the title of each such section unique by adding " +"at the end of it, in parentheses, the name of the original author or " +"publisher of that section if known, or else a unique number. Make the " +"same adjustment to the section titles in the list of Invariant Sections " +"in the license notice of the combined work." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:277 +msgid "" +"In the combination, you must combine any sections Entitled \"History\" in" +" the various original documents, forming one section Entitled " +"\"History\"; likewise combine any sections Entitled \"Acknowledgements\"," +" and any sections Entitled \"Dedications\". You must delete all sections" +" Entitled \"Endorsements\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:284 +msgid "6. COLLECTIONS OF DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:286 +msgid "" +"You may make a collection consisting of the Document and other documents " +"released under this License, and replace the individual copies of this " +"License in the various documents with a single copy that is included in " +"the collection, provided that you follow the rules of this License for " +"verbatim copying of each of the documents in all other respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:292 +msgid "" +"You may extract a single document from such a collection, and distribute " +"it individually under this License, provided you insert a copy of this " +"License into the extracted document, and follow this License in all other" +" respects regarding verbatim copying of that document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:298 +msgid "7. AGGREGATION WITH INDEPENDENT WORKS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:300 +msgid "" +"A compilation of the Document or its derivatives with other separate and " +"independent documents or works, in or on a volume of a storage or " +"distribution medium, is called an \"aggregate\" if the copyright " +"resulting from the compilation is not used to limit the legal rights of " +"the compilation's users beyond what the individual works permit. When the" +" Document is included in an aggregate, this License does not apply to the" +" other works in the aggregate which are not themselves derivative works " +"of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:309 +msgid "" +"If the Cover Text requirement of section 3 is applicable to these copies " +"of the Document, then if the Document is less than one half of the entire" +" aggregate, the Document's Cover Texts may be placed on covers that " +"bracket the Document within the aggregate, or the electronic equivalent " +"of covers if the Document is in electronic form. Otherwise they must " +"appear on printed covers that bracket the whole aggregate." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:318 +msgid "8. TRANSLATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:320 +msgid "" +"Translation is considered a kind of modification, so you may distribute " +"translations of the Document under the terms of section 4. Replacing " +"Invariant Sections with translations requires special permission from " +"their copyright holders, but you may include translations of some or all " +"Invariant Sections in addition to the original versions of these " +"Invariant Sections. You may include a translation of this License, and " +"all the license notices in the Document, and any Warranty Disclaimers, " +"provided that you also include the original English version of this " +"License and the original versions of those notices and disclaimers. In " +"case of a disagreement between the translation and the original version " +"of this License or a notice or disclaimer, the original version will " +"prevail." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:333 +msgid "" +"If a section in the Document is Entitled \"Acknowledgements\", " +"\"Dedications\", or \"History\", the requirement (section 4) to Preserve " +"its Title (section 1) will typically require changing the actual title." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:339 +msgid "9. TERMINATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:341 +msgid "" +"You may not copy, modify, sublicense, or distribute the Document except " +"as expressly provided for under this License. Any other attempt to copy," +" modify, sublicense or distribute the Document 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." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:350 +msgid "10. FUTURE REVISIONS OF THIS LICENSE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:352 +msgid "" +"The Free Software Foundation may publish new, revised versions of the GNU" +" Free Documentation 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. See http://www.gnu.org/copyleft/." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:358 +msgid "" +"Each version of the License is given a distinguishing version number. If " +"the Document specifies that a particular numbered version of this License" +" \"or any later version\" applies to it, you have the option of following" +" the terms and conditions either of that specified version or of any " +"later version that has been published (not as a draft) by the Free " +"Software Foundation. If the Document does not specify a version number " +"of this License, you may choose any version ever published (not as a " +"draft) by the Free Software Foundation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:368 +msgid "ADDENDUM: How to use this License for your documents" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:370 +msgid "" +"To use this License in a document you have written, include a copy of the" +" License in the document and put the following copyright and license " +"notices just after the title page:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:382 +msgid "" +"If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, " +"replace the \"with...Texts.\" line with this:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:388 +msgid "" +"If you have Invariant Sections without Cover Texts, or some other " +"combination of the three, merge those two alternatives to suit the " +"situation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:392 +msgid "" +"If your document contains nontrivial examples of program code, we " +"recommend releasing these examples in parallel under your choice of free " +"software license, such as the GNU General Public License, to permit their" +" use in free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:397 +msgid "fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/MATH_index.md:1 +#: ../../source/learn/intrinsics/index.md:17 +msgid "General mathematical functions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:2 +msgid "acos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:4 +msgid "" +"__acos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] arccosine (inverse cosine) " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:14 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:19 +msgid "__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:24 +msgid "" +"Must be type _real_ or _complex_. If the type is _real_, the value must " +"satisfy |__x__| <= 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:29 +#, python-format +msgid "" +"The return value is of the same type and kind as __x__. The _real_ part " +"of the result is in radians and lies in the range __0 \\<= acos(x%re) " +"\\<= PI__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:60 +msgid "FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:64 +#: ../../source/learn/intrinsics/_pages/ASIN.md:94 +#: ../../source/learn/intrinsics/_pages/ATAN.md:78 +msgid "" +"[wikipedia: inverse trigonometric " +"functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:66 +msgid "Inverse function: [__cos__(3](COS))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:2 +msgid "acosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:5 +msgid "" +"__acosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic cosine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:15 +#: ../../source/learn/intrinsics/_pages/COS.md:14 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any KIND supported " +"by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:20 +msgid "__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:25 +msgid "the type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:29 +#: ../../source/learn/intrinsics/_pages/EXP.md:36 +#: ../../source/learn/intrinsics/_pages/SIN.md:34 +#: ../../source/learn/intrinsics/_pages/TAN.md:23 +msgid "The return value has the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:31 +msgid "" +"If __x__ is _complex_, the imaginary part of the result is in radians and" +" lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:34 +msgid "__0 \\<= aimag(acosh(x)) \\<= PI__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:58 +#: ../../source/learn/intrinsics/_pages/ASINH.md:57 +#: ../../source/learn/intrinsics/_pages/ATANH.md:51 +#: ../../source/learn/intrinsics/_pages/COSH.md:55 +#: ../../source/learn/intrinsics/_pages/SINH.md:86 +#: ../../source/learn/intrinsics/_pages/TANH.md:52 +msgid "" +"[Wikipedia:hyperbolic " +"functions](https://en.wikipedia.org/wiki/Hyperbolic_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:60 +msgid "Inverse function: [__cosh__(3)](COSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:2 +msgid "asin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:5 +msgid "__asin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arcsine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:14 +msgid "" +"where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:19 +msgid "__asin(x)__ computes the arcsine of its argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:21 +msgid "" +"The arcsine is the inverse function of the sine function. It is commonly " +"used in trigonometry when trying to find the angle when the lengths of " +"the hypotenuse and the opposite side of a right triangle are known." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:28 +msgid "" +"The type shall be either _real_ and a magnitude that is less than or " +"equal to one; or be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:33 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:29 +#: ../../source/learn/intrinsics/_pages/SIN.md:33 +msgid "__result__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:34 +msgid "" +"The return value is of the same type and kind as __x__. The real part of " +"the result is in radians and lies in the range __-PI/2 \\<= asin(x) \\<= " +"PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:40 +msgid "" +"The arcsine will allow you to find the measure of a right angle when you " +"know the ratio of the side opposite the angle to the hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:43 +msgid "" +"So if you knew that a train track rose 1.25 vertical miles on a track " +"that was 50 miles long, you could determine the average angle of incline " +"of the track using the arcsine. Given" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:77 +msgid "" +"The percentage grade is the slope, written as a percent. To calculate the" +" slope you divide the rise by the run. In the example the rise is 1.25 " +"mile over a run of 50 miles so the slope is 1.25/50 = 0.025. Written as a" +" percent this is 2.5 %." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:82 +msgid "" +"For the US, two and 1/2 percent is generally thought of as the upper " +"limit. This means a rise of 2.5 feet when going 100 feet forward. In the " +"US this was the maximum grade on the first major US railroad, the " +"Baltimore and Ohio. Note curves increase the frictional drag on a train " +"reducing the allowable grade." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:90 +#: ../../source/learn/intrinsics/_pages/TANH.md:49 +msgid "FORTRAN 77 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:96 +msgid "Inverse function: [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:2 +msgid "asinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:5 +msgid "" +"__asinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic sine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:15 +#: ../../source/learn/intrinsics/_pages/SINH.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:20 +msgid "__asinh(x)__ computes the inverse hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:25 +#: ../../source/learn/intrinsics/_pages/ATANH.md:19 +#: ../../source/learn/intrinsics/_pages/COSH.md:26 +#: ../../source/learn/intrinsics/_pages/EXP.md:30 +#: ../../source/learn/intrinsics/_pages/LOG.md:20 +#: ../../source/learn/intrinsics/_pages/SINH.md:31 +#: ../../source/learn/intrinsics/_pages/TAN.md:19 +#: ../../source/learn/intrinsics/_pages/TANH.md:19 +msgid "The type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:29 +msgid "" +"The return value is of the same type and kind as __x__. If __x__ is " +"_complex_, the imaginary part of the result is in radians and lies " +"between __-PI/2 \\<= aimag(asinh(x)) \\<= PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:59 +msgid "Inverse function: [__sinh__(3)](SINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:2 +msgid "atan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:5 +msgid "__atan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:15 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type. If __y__ is present __x__ is " +"_real`." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:20 +msgid "__atan(x)__ computes the arctangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:25 +msgid "" +"The type shall be _real_ or _complex_; if __y__ is present, __x__ shall " +"be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:25 +#: ../../source/learn/intrinsics/_pages/DIM.md:27 +#: ../../source/learn/intrinsics/_pages/DPROD.md:25 +#: ../../source/learn/intrinsics/_pages/DPROD.md:36 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:31 +msgid "__y__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:29 +msgid "" +"Shall be of the same type and kind as __x__. If __x__ is zero, __y__ " +"must not be zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:34 +msgid "" +"The returned value is of the same type and kind as __x__. If __y__ is " +"present, the result is identical to __atan2(y,x)__. Otherwise, it is the " +"arc tangent of __x__, where the real part of the result is in radians and" +" lies in the range __-PI/2 \\<= atan(x) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:73 +msgid "" +"FORTRAN 77 and later for a complex argument; and for two arguments " +"Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:80 +msgid "[__atan2__(3)](ATAN2), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:2 +msgid "atan2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:5 +msgid "__atan2__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:13 +msgid "" +"__atan2(y, x)__ computes the arctangent of the complex number ( __x__ + i" +" __y__ ) ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:16 +msgid "" +"This function can be used to transform from Cartesian into polar " +"coordinates and allows to determine the angle in the correct quadrant. To" +" convert from Cartesian Coordinates __(x,y)__ to polar coordinates" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:20 +msgid "" +"(r,theta): $$ \\begin{aligned} r &= \\sqrt{x**2 + y**2} \\\\ \\theta &= " +"\\tan**{__-1__}(y / x) \\end{aligned} $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:20 +#: ../../source/learn/intrinsics/_pages/CEILING.md:23 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:33 +#: ../../source/learn/intrinsics/_pages/ERF.md:22 +#: ../../source/learn/intrinsics/_pages/ERFC.md:38 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:25 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:26 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:29 +msgid "The type shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:29 +msgid "" +"The type and kind type parameter shall be the same as __y__. If __y__ is " +"zero, then __x__ must be nonzero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:34 +msgid "" +"The return value has the same type and kind type parameter as __y__. It " +"is the principal value of the complex number __(x + i, y)__. If x is " +"nonzero, then it lies in the range __-PI \\<= atan(x) \\<= PI__. The sign" +" is positive if __y__ is positive. If __y__ is zero, then the return " +"value is zero if __x__ is strictly positive, __PI__ if __x__ is negative " +"and __y__ is positive zero (or the processor does not handle signed " +"zeros), and __-PI__ if __x__ is negative and __Y__ is negative zero. " +"Finally, if __x__ is zero, then the magnitude of the result is __PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:2 +msgid "atanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:5 +msgid "" +"__atanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic tangent" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:14 +msgid "__atanh(x)__ computes the inverse hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians and lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:26 +msgid "__-PI/2 \\<= aimag(atanh(x)) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:53 +msgid "Inverse function: [__tanh__(3)](TANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:2 +msgid "cos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:5 +msgid "__cos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:19 +msgid "" +"__cos(x)__ computes the cosine of an angle __x__ given the size of the " +"angle in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:22 +msgid "" +"The cosine of a _real_ value is the ratio of the adjacent side to the " +"hypotenuse of a right-angled triangle." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:28 +msgid "The type shall be _real_ or _complex_. __x__ is assumed to be in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:33 +#: ../../source/learn/intrinsics/_pages/TINY.md:30 +msgid "The return value is of the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:35 +msgid "" +"If __x__ is of the type _real_, the return value lies in the range __-1 " +"\\<= cos(x) \\<= 1__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:70 +#: ../../source/learn/intrinsics/_pages/SIN.md:126 +msgid "[Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:72 +msgid "[__acos__(3)](ACOS), [__sin__(3)](SIN), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:2 +msgid "cosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:5 +msgid "__cosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:15 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any supported kind" +" for the associated type. The returned __value__ will be the same type " +"and kind as the input value __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:21 +msgid "__cosh(x)__ computes the hyperbolic cosine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:30 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:33 +msgid "" +"If __x__ is _real_, the return value has a lower bound of one, __cosh(x)" +" \\>= 1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:52 +msgid "FORTRAN 77 and later, for a complex argument - Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:57 +msgid "Inverse function: [__acosh__(3)](ACOSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:2 +msgid "sin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:5 +msgid "__sin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be " +"_real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:19 +msgid "" +"__sin(x)__ computes the sine of an angle given the size of the angle in " +"radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:22 +msgid "" +"The sine of an angle in a right-angled triangle is the ratio of the " +"length of the side opposite the given angle divided by the length of the " +"hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:29 +msgid "The type shall be _real_ or _complex_ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:48 +msgid "__Haversine Formula__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:50 +msgid "From the article on \"Haversine formula\" in Wikipedia:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:58 +msgid "" +"So to show the great-circle distance between the Nashville International " +"Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX)" +" in CA, USA you would start with their latitude and longitude, commonly " +"given as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:68 +msgid "which converted to floating-point values in degrees is:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:80 +msgid "" +"And then use the haversine formula to roughly calculate the distance " +"along the surface of the Earth between the locations:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:128 +msgid "[__asin__(3)](ASIN), [__cos__(3)](COS), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:2 +msgid "sinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:5 +msgid "__sinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:19 +msgid "__sinh(x)__ computes the hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:21 +msgid "The hyperbolic sine of x is defined mathematically as:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:23 +msgid "__sinh(x) = (exp(x) - exp(-x)) / 2.0__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:25 +msgid "" +"If __x__ is of type _complex_ its imaginary part is regarded as a value " +"in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:35 +msgid "The return value has same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:83 +msgid "Fortran 95 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:88 +msgid "[__asinh__(3)](ASINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:2 +msgid "tan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:5 +msgid "__tan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:14 +msgid "__tan(x)__ computes the tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:44 +msgid "FORTRAN 77 and later. For a complex argument, Fortran 2008 or later." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:48 +msgid "[__atan__(3)](ATAN), [__cos__(3)](COS), [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:2 +msgid "tanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:5 +msgid "__tanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:14 +msgid "__tanh(x)__ computes the hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is complex, " +"the imaginary part of the result is in radians. If __x__ is _real_, the " +"return value lies in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:54 +msgid "[__atanh__(3)](ATANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:2 +msgid "random\\_number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:5 +msgid "__random\\_number__(3) - \\[MATHEMATICS:RANDOM\\] Pseudo-random number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:14 +msgid "" +"Returns a single pseudorandom number or an array of pseudorandom numbers " +"from the uniform distribution over the range 0 \\<= x \\< 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:19 +msgid "__harvest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:20 +msgid "Shall be a scalar or an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:87 +msgid "[__random\\_seed__(3)](RANDOM_SEED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:2 +msgid "random\\_seed" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:5 +msgid "" +"__random\\_seed__(3) - \\[MATHEMATICS:RANDOM\\] Initialize a pseudo-" +"random number sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:14 +msgid "" +"Restarts or queries the state of the pseudorandom number generator used " +"by random\\_number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:17 +msgid "" +"If random\\_seed is called without arguments, it is seeded with random " +"data retrieved from the operating system." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:23 +msgid "" +"(Optional) Shall be a scalar and of type default _integer_, with " +"__intent(out)__. It specifies the minimum size of the arrays used with " +"the __put__ and __get__ arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:27 +msgid "__put__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:28 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(in)__ and the size of the array must be larger than or equal " +"to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:32 +msgid "__get__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:33 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(out)__ and the size of the array must be larger than or equal" +" to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:66 +msgid "[__random\\_number__(3)](RANDOM_NUMBER)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:2 +msgid "exp" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:5 +msgid "__exp__(3) - \\[MATHEMATICS\\] Exponential function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:13 +msgid "" +"__exp__(x) computes the base \"_e_\" exponential of __x__ where \"_e_\" " +"is _Euler's constant_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:16 +msgid "" +"If __x__ is of type _complex_, its imaginary part is regarded as a value " +"in radians such that (see _Euler's formula_):" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:19 +msgid "" +"if __cx=(re,im)__ then " +"__exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:24 +msgid "" +"Since __exp__(3) is the inverse function of __log__(3) the maximum valid " +"magnitude of the _real_ component of __x__ is __log(huge(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:34 +msgid "The value of the result is __e\\*\\*x__ where __e__ is Euler's constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:88 +msgid "[__log__(3)](LOG)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:90 +msgid "" +"Wikipedia:[Exponential " +"function](https://en.wikipedia.org/wiki/Exponential_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:92 +#, python-format +msgid "" +"Wikipedia:[Euler's " +"formula](https://en.wikipedia.org/wiki/Euler%27s_formula)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:2 +msgid "log" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:5 +msgid "__log__(3) - \\[MATHEMATICS\\] Logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:14 +msgid "" +"__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to" +" the base \"e\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:24 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is " +"in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:27 +msgid "__-PI__ \\< OMEGA \\<= PI." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:2 +msgid "log10" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:5 +msgid "__log10__(3) - \\[MATHEMATICS\\] Base 10 logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:16 +msgid "" +"__log10(x)__ computes the base 10 logarithm of __x__. This is generally " +"called the \"common logarithm\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:22 +msgid "A _real_ value > 0 to take the log of." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:26 +msgid "" +"The return value is of type _real_ . The kind type parameter is the same " +"as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:2 +msgid "sqrt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:5 +msgid "__sqrt__(3) - \\[MATHEMATICS\\] Square-root function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:15 +msgid "" +"Where TYPE may be _real_ or _complex_ and __KIND__ may be any kind valid " +"for the declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:20 +msgid "__sqrt(x)__ computes the principal square root of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:22 +msgid "" +"In mathematics, a square root of a number __x__ is a number __y__ such " +"that __y*y = x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:25 +msgid "" +"The number whose square root is being considered is known as the " +"_radicand_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:28 +msgid "" +"Every nonnegative number _x_ has two square roots of the same unique " +"magnitude, one positive and one negative. The nonnegative square root is " +"called the principal square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:32 +msgid "" +"The principal square root of 9 is 3, for example, even though (-3)*(-3) " +"is also 9." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:35 +msgid "A _real_, _radicand_ must be positive." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:37 +msgid "" +"Square roots of negative numbers are a special case of complex numbers, " +"where the components of the _radicand_ need not be positive in order to " +"have a valid square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:44 +msgid "" +"If __x__ is real its value must be greater than or equal to zero. The " +"type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:49 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:2 +msgid "hypot" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:5 +msgid "" +"__hypot__(3) - \\[MATHEMATICS\\] returns the distance between the point " +"and the origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:14 +msgid "where __x,y,value__ shall all be of the same __kind__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:18 +msgid "" +"__hypot(x,y)__ is referred to as the Euclidean distance function. It is " +"equal to __sqrt(x**2 + y**2)__, without undue underflow or overflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:21 +msgid "" +"In mathematics, the _Euclidean distance_ between two points in Euclidean " +"space is the length of a line segment between two points." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:24 +msgid "" +"__hypot(x,y)__ returns the distance between the point ____ and the " +"origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:32 +msgid "The type and kind type parameter shall be the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:36 +msgid "The return value has the same type and kind type parameter as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:38 +msgid "" +"The result is the positive magnitude of the distance of the point " +"____ from the origin __<0.0,0.0>__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:2 +msgid "bessel\\_j0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:5 +msgid "" +"__bessel\\_j0__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:14 +msgid "" +"__bessel\\_j0(x)__ computes the Bessel function of the first kind of " +"order __0__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.4027 \\<= " +"bessel(0,x) \\<= 1__. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:52 +msgid "" +"[__bessel\\_j1__(3)](BESSEL_J1), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:2 +msgid "bessel\\_j1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:5 +msgid "" +"__bessel\\_j1__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:14 +msgid "" +"__bessel\\_j1(x)__ computes the Bessel function of the first kind of " +"order __1__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.5818 \\<= " +"bessel(0,x) \\<= 0.5818__ . It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:2 +msgid "bessel\\_jn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:5 +msgid "__bessel\\_jn__(3) - \\[MATHEMATICS\\] Bessel function of the first kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:16 +msgid "" +"__bessel\\_jn(n, x)__ computes the Bessel function of the first kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:20 +msgid "" +"__bessel\\_jn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:25 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:25 +msgid "__n__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:26 +msgid "Shall be a scalar or an array of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:28 +msgid "__n1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:32 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:32 +msgid "Shall be a non-negative scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:31 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:31 +msgid "__n2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_. For __bessel\\_jn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:40 +msgid "" +"The return value is a scalar of type _real_. It has the same kind as " +"__x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:67 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:2 +msgid "bessel\\_y0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:5 +msgid "" +"__bessel\\_y0__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:14 +msgid "" +"__bessel\\_y0(x)__ computes the Bessel function of the second kind of " +"order 0 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:24 +msgid "The return value is of type _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:2 +msgid "bessel\\_y1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:5 +msgid "" +"__bessel\\_y1__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:14 +msgid "" +"__bessel\\_y1(x)__ computes the Bessel function of the second kind of " +"order 1 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:24 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:40 +msgid "The return value is _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:46 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:2 +msgid "bessel\\_yn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:5 +msgid "__bessel\\_yn__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:16 +msgid "" +"__bessel\\_yn(n, x)__ computes the Bessel function of the second kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:20 +msgid "" +"__bessel\\_yn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_; for __bessel\\_yn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:65 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_y1__(3)](BESSEL_Y1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:2 +msgid "erf" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:5 +msgid "__erf__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:14 +msgid "" +"__erf__(x) computes the error function of __x__, defined as $$ " +"\\text{erf}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{__-t__^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:26 +msgid "" +"The return value is of type _real_, of the same kind as __x__ and lies in" +" the range __-1__ \\<= __erf__(x) \\<= 1 ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:50 +#: ../../source/learn/intrinsics/_pages/ERFC.md:68 +msgid "See also" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:52 +msgid "[__erfc__(3)](ERFC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:54 +#: ../../source/learn/intrinsics/_pages/ERFC.md:71 +msgid "[Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:2 +msgid "erfc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:5 +msgid "__erfc__(3) - \\[MATHEMATICS\\] Complementary error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:18 +msgid "" +"__erfc__(x) computes the complementary error function of __x__. Simpy " +"put this is equivalent to __1 - erf(x)__, but __erfc__ is provided " +"because of the extreme loss of relative accuracy if __erf(x)__ is called " +"for large __x__ and the result is subtracted from __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:23 +msgid "__erfc(x)__ is defined as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:31 +msgid "" +"$$ \\text{erfc}(x) = 1 - \\text{erf}(x) = 1 - \\frac{2}{\\sqrt{\\pi}} " +"\\int_x^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:42 +msgid "" +"The return value is of type _real_ and of the same kind as __x__. It lies" +" in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:45 +msgid "0 \\<= __erfc__(x) \\<= 2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:69 +msgid "[__erf__(3)](ERF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:73 +msgid "####### fortran-lang intrinsic descriptions license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:2 +msgid "erfc\\_scaled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:5 +msgid "__erfc\\_scaled__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:14 +msgid "" +"__erfc\\_scaled__(x) computes the exponentially-scaled complementary " +"error function of __x__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:17 +msgid "$$ e^{x^2} \\frac{2}{\\sqrt{\\pi}} \\int_{x}^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:29 +msgid "The return value is of type _real_ and of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:2 +msgid "gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:5 +msgid "" +"__gamma__(3) - \\[MATHEMATICS\\] Gamma function, which yields factorials " +"for positive whole numbers" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:13 +msgid "" +"__gamma(x)__ computes Gamma of __x__. For positive whole number values of" +" __n__ the Gamma function can be used to calculate factorials, as " +"__(n-1)! == gamma(real(n))__. That is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:20 +msgid "" +"$$ \\\\__Gamma__(x) = \\\\int\\_0\\*\\*\\\\infty " +"t\\*\\*{x-1}{\\\\mathrm{e}}\\*\\*{__-t__}\\\\,{\\\\mathrm{d}}t $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:26 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:19 +msgid "Shall be of type _real_ and neither zero nor a negative integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:30 +msgid "The return value is of type _real_ of the same kind as _x_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:124 +msgid "Logarithm of the Gamma function: [__log\\_gamma__(3)](LOG_GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:126 +msgid "[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:2 +msgid "log\\_gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:5 +msgid "__log\\_gamma__(3) - \\[MATHEMATICS\\] Logarithm of the Gamma function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:14 +msgid "" +"__log\\_gamma(x)__ computes the natural logarithm of the absolute value " +"of the Gamma function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:23 +msgid "The return value is of type _real_ of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:46 +msgid "Gamma function: [__gamma__(3)](GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:2 +msgid "norm2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:5 +msgid "__norm2__(3) - \\[MATHEMATICS\\] Euclidean vector norm" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:19 +msgid "" +"Calculates the Euclidean vector norm (L\\_2 norm) of __array__ along " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:25 +msgid "Shall be an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:28 +msgid "" +"shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __rank(array)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:35 +msgid "" +"If __dim__ is absent, a scalar with the square root of the sum of squares" +" of the elements of __array__ is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:38 +msgid "" +"Otherwise, an array of rank __n-1__, where __n__ equals the rank of " +"__array__, and a shape similar to that of __array__ with dimension DIM " +"dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:87 +msgid "[__product__(3)](PRODUCT), [__sum__(3)](SUM), [__hypot__(3)](HYPOT)" +msgstr "" + +#: ../../source/learn/intrinsics/MODEL_index.md:1 +msgid "Controlling and querying the current numeric model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:2 +msgid "exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:5 +msgid "__exponent__(3) - \\[MODEL\\_COMPONENTS\\] Exponent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:14 +msgid "" +"__exponent__(x) returns the value of the exponent part of __x__. If __x__" +" is zero the value returned is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:24 +msgid "The return value is of type default _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:2 +msgid "fraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:5 +msgid "" +"__fraction__(3) - \\[MODEL\\_COMPONENTS\\] Fractional part of the model " +"representation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:14 +msgid "" +"__fraction(x)__ returns the fractional part of the model representation " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:21 +#: ../../source/learn/intrinsics/_pages/SCALE.md:22 +msgid "The type of the argument shall be a _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:25 +msgid "" +"The return value is of the same type and kind as the argument. The " +"fractional part of the model representation of __x__ is returned; it is " +"__x \\* radix(x)\\*\\*(-exponent(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:2 +msgid "nearest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:5 +msgid "__nearest__(3) - \\[MODEL\\_COMPONENTS\\] Nearest representable number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:14 +msgid "" +"__nearest(x, s)__ returns the processor-representable number nearest to " +"__x__ in the direction indicated by the sign of __s__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/SPACING.md:20 +#: ../../source/learn/intrinsics/_pages/TINY.md:24 +msgid "Shall be of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:22 +msgid "__s__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:23 +msgid "Shall be of type _real_ and not equal to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:27 +msgid "" +"The return value is of the same type as __x__. If __s__ is positive, " +"__nearest__ returns the processor-representable number greater than __x__" +" and nearest to it. If __s__ is negative, __nearest__ returns the " +"processor-representable number smaller than __x__ and nearest to it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:67 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:2 +msgid "rrspacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:5 +msgid "" +"__rrspacing__(3) - \\[MODEL\\_COMPONENTS\\] Reciprocal of the relative " +"spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:14 +msgid "" +"__rrspacing(x)__ returns the reciprocal of the relative spacing of model " +"numbers near __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:24 +msgid "" +"The return value is of the same type and kind as __x__. The value " +"returned is equal to __abs(fraction(x)) \\* " +"float(radix(x))\\*\\*digits(x)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:33 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:2 +msgid "scale" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:5 +msgid "" +"__scale__(3) - \\[MODEL\\_COMPONENTS\\] Scale a real value by a whole " +"power of the radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:17 +msgid "__scale(x,i)__ returns x \\* __radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:25 +msgid "The type of the argument shall be a _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:29 +msgid "" +"The return value is of the same type and kind as __x__. Its value is __x" +" \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:57 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:2 +msgid "set\\_exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:5 +msgid "" +"__set\\_exponent__(3) - \\[MODEL\\_COMPONENTS\\] Set the exponent of the " +"model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:14 +msgid "" +"__set\\_exponent(x, i)__ returns the real number whose fractional part is" +" that of __x__ and whose exponent part is __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:27 +msgid "" +"The return value is of the same type and kind as __x__. The real number " +"whose fractional part is that that of __x__ and whose exponent part if " +"__i__ is returned; it is __fraction(x) \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:53 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__spacing__(3)](SPACING), [__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:2 +msgid "spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:5 +msgid "" +"__spacing__(3) - \\[MODEL\\_COMPONENTS\\] Smallest distance between two " +"numbers of a given type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:14 +msgid "" +"Determines the distance between the argument __x__ and the nearest " +"adjacent number of the same type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:24 +msgid "The result is of the same type as the input argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set\\_exponent__(3)](SET_EXPONENT), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:2 +msgid "digits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:5 +msgid "__digits__(3) - \\[NUMERIC MODEL\\] Significant digits function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:14 +msgid "" +"where TYPE may be _integer_ or _real_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:19 +msgid "" +"__digits(x)__ returns the number of significant digits of the internal " +"model representation of __x__. For example, on a system using a 32-bit " +"floating point representation, a default real number would likely return " +"24." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:27 +msgid "The type may be a scalar or array of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:31 +msgid "The return value is of type _integer_ of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:63 +msgid "" +"[__epsilon__(3)](EPSILON), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:2 +msgid "epsilon" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:5 +msgid "__epsilon__(3) - \\[NUMERIC MODEL\\] Epsilon function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:13 +msgid "" +"__epsilon(x)__ returns the floating point relative accuracy. It is the " +"nearly negligible number relative to __1__ such that __1+ little_number__" +" is not equal to __1__; or more precisely" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:20 +msgid "" +"It may be thought of as the distance from 1.0 to the next largest " +"floating point number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:23 +msgid "" +"One use of __epsilon__(3) is to select a _delta_ value for algorithms " +"that search until the calculation is within _delta_ of an estimate." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:26 +msgid "" +"If _delta_ is too small the algorithm might never halt, as a computation " +"summing values smaller than the decimal resolution of the data type does " +"not change." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:37 +msgid "The return value is of the same type as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:112 +msgid "" +"[__digits__(3)](DIGITS), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:2 +msgid "huge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:5 +msgid "__huge__(3) - \\[NUMERIC MODEL\\] Largest number of a type and kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:15 +msgid "" +"where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported" +" associated _kind_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:20 +msgid "" +"__huge(x)__ returns the largest number that is not an infinity for the " +"kind and type of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:26 +msgid "" +"Shall be an arbitrary value of type _real_ or _integer_. The value is " +"used merely to determine what _kind_ and _type_ of scalar is being " +"queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:32 +msgid "" +"The return value is of the same type and kind as _x_ and is the largest " +"value supported by the specified model." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:91 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:2 +msgid "maxexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:5 +msgid "__maxexponent__(3) - \\[NUMERIC MODEL\\] Maximum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:14 +msgid "" +"__maxexponent(x)__ returns the maximum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:2 +msgid "minexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:5 +msgid "__minexponent__(3) - \\[NUMERIC MODEL\\] Minimum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:14 +msgid "" +"__minexponent(x)__ returns the minimum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:2 +msgid "precision" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:5 +msgid "__precision__(3) - \\[NUMERIC MODEL\\] Decimal precision of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:14 +msgid "" +"__precision(x)__ returns the decimal precision in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:26 +msgid "Shall be of type _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:2 +msgid "radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:5 +msgid "__radix__(3) - \\[NUMERIC MODEL\\] Base of a model number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:14 +msgid "__radix(x)__ returns the base of the model representing the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:19 +msgid "Shall be of type _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:23 +#: ../../source/learn/intrinsics/_pages/RADIX.md:23 +msgid "" +"The return value is a scalar of type _integer_ and of the default integer" +" kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:2 +msgid "range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:5 +msgid "__range__(3) - \\[NUMERIC MODEL\\] Decimal exponent range of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:16 +msgid "" +"where TYPE is _real_ or _complex_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:20 +msgid "" +"__range(x)__ returns the decimal exponent range in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:58 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:2 +msgid "tiny" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:5 +msgid "__tiny__(3) - \\[NUMERIC MODEL\\] Smallest positive number of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:14 +msgid "where KIND may be any kind supported by type _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:18 +msgid "" +"__tiny(x)__ returns the smallest positive (non zero) number of the type " +"and kind of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:28 +msgid "The smallest positive value for the _real_ type of the specified kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:54 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set_exponent__(3)](SET_EXPONENT), " +"[__spacing__(3)](SPACING)" +msgstr "" + +#: ../../source/learn/intrinsics/NUMERIC_index.md:1 +#: ../../source/learn/intrinsics/index.md:20 +msgid "Manipulation and properties of numeric values" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:2 +msgid "abs" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:5 +msgid "__abs__(3) - \\[NUMERIC\\] Absolute value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:15 +msgid "" +"where the TYPE and KIND is determined by the type and type attributes of " +"__a__, which may be any _real_, _integer_, or _complex_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:18 +msgid "" +"If the type of __a__ is _cmplx_ the type returned will be _real_ with the" +" same kind as the _real_ part of the input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:21 +msgid "Otherwise the returned type will be the same type as __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:25 +msgid "__abs(a)__ computes the absolute value of numeric argument __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:27 +msgid "" +"In mathematics, the absolute value or modulus of a real number __x__, " +"denoted __|x|__, is the magnitude of __x__ without regard to its sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:30 +msgid "" +"The absolute value of a number may be thought of as its distance from " +"zero, which is the definition used by __abs__(3) when dealing with " +"_complex_ values (_see below_)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:37 +msgid "" +"the type of the argument shall be an _integer_, _real_, or _complex_ " +"scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:42 +msgid "" +"If __a__ is of type _integer_ or _real_, the value of the result is " +"__|a|__ and of the same type and kind as the input argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:45 +msgid "" +"(Take particular note) if __a__ is _complex_ with value __(x, y)__, the " +"result is a _real_ equal to a processor-dependent approximation to " +"__sqrt(x\\*\\*2 + y\\*\\*2)__ computed without undue overflow or " +"underflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:2 +msgid "aint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:5 +msgid "__aint__(3) - \\[NUMERIC\\] Truncate to a whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:16 +msgid "or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:27 +msgid "__aint(x, kind)__ truncates its argument to a whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:32 +#: ../../source/learn/intrinsics/_pages/ANINT.md:19 +msgid "the type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:40 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If the magnitude of __x__ is less " +"than one, __aint(x)__ returns zero. If the magnitude is equal to or " +"greater than one then it returns the largest whole number that does not " +"exceed its magnitude. The sign is the same as the sign of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:85 +msgid "" +"[__anint__(3)](ANINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:2 +msgid "anint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:5 +msgid "__anint__(3) - \\[NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:14 +msgid "__anint(a \\[, kind\\])__ rounds its argument to the nearest whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:27 +msgid "" +"The return value is of type real with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If __a__ is greater than zero, " +"__anint(a)__ returns __aint(a + 0.5)__. If __a__ is less than or equal to" +" zero then it returns __aint(a - 0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:75 +msgid "" +"[__aint__(3)](AINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:2 +msgid "ceiling" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:5 +msgid "__ceiling__(3) - \\[NUMERIC\\] Integer ceiling function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:18 +msgid "__ceiling(a)__ returns the least integer greater than or equal to __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:31 +msgid "" +"The return value is of type __integer__(kind) if __kind__ is present and " +"a default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:34 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:49 +#: ../../source/learn/intrinsics/_pages/NINT.md:44 +msgid "" +"The result is undefined if it cannot be represented in the specified " +"integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:69 +msgid "[__floor__(3)](FLOOR), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:73 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:85 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:2 +msgid "conjg" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:5 +msgid "__conjg__(3) - \\[NUMERIC\\] Complex conjugate of a complex value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:14 +msgid "where __K__ is the kind of the parameter __z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:18 +msgid "__conjg(z)__ returns the complex conjugate of the _complex_ value __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:20 +msgid "" +"In mathematics, the complex conjugate of a complex_ number is the number " +"with an equal real part and an imaginary part equal in magnitude but " +"opposite in sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:24 +msgid "That is, If __z__ is __(x, y)__ then the result is __(x, -y)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:26 +msgid "" +"For matrices of complex numbers, __conjg(array)__ represents the element-" +"by-element conjugation of __array__; not the conjugate transpose of " +"__array__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:22 +#: ../../source/learn/intrinsics/_pages/CONJG.md:32 +msgid "__z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:33 +msgid "The type shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:37 +msgid "The return value is of type _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:2 +msgid "dim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:5 +msgid "__dim__(3) - \\[NUMERIC\\] Positive difference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:16 +#: ../../source/learn/intrinsics/_pages/SIGN.md:16 +msgid "" +"where TYPE may be _real_ or _integer_ and KIND is any supported kind for " +"the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:19 +msgid "" +"__dim(x,y)__ returns the difference __x - y__ if the result is positive; " +"otherwise it returns zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:25 +msgid "The type shall be _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:28 +msgid "The type shall be the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:32 +msgid "" +"The return value is the same type and kind as the input arguments __x__ " +"and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:2 +msgid "dprod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:5 +msgid "__dprod__(3) - \\[NUMERIC\\] Double product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:14 +msgid "" +"__dprod(x,y)__ produces a higher _doubleprecision_ product of default " +"_real_ numbers __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:17 +msgid "" +"The result has a value equal to a processor-dependent approximation to " +"the product of __x__ and __y__. It is recommended that the processor " +"compute the product in double precision, rather than in single precision " +"and then converted to double precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:23 +#: ../../source/learn/intrinsics/_pages/DPROD.md:26 +msgid "shall be default real." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:28 +msgid "" +"The setting of compiler options specifying _real_ size can affect this " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:34 +msgid "Must be of default _real(kind=kind(0.0))_ type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:37 +msgid "Must have the same type and kind parameters as __x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:41 +msgid "The return value is of type _real(kind=kind(0.0d0))_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:2 +msgid "floor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:5 +msgid "" +"__floor__(3) - \\[NUMERIC\\] function to return largest integral value " +"not greater than argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:19 +msgid "" +"__floor(a)__ returns the greatest integer less than or equal to __a__. " +"That is, it picks the whole number at or to the left of the value on the " +"scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:29 +msgid "" +"(Optional) A scalar _integer_ constant initialization expression " +"indicating the kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:34 +msgid "" +"The return value is of type _integer(kind)_ if __kind__ is present and of" +" default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:81 +msgid "[__ceiling__(3)](CEILING), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:2 +msgid "max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:5 +msgid "__max__(3) - \\[NUMERIC\\] Maximum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:13 +msgid "Returns the argument with the largest (most positive) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:17 +#: ../../source/learn/intrinsics/_pages/MIN.md:18 +msgid "__a1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:18 +#: ../../source/learn/intrinsics/_pages/MIN.md:19 +msgid "The type shall be _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:20 +msgid "__a2,a3,...__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:21 +msgid "An expression of the same type and kind as __a1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:25 +msgid "" +"The return value corresponds to the maximum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:28 +msgid "" +"The function is both elemental and allows for an arbitrary number of " +"arguments. This means if some elements are scalar and some are arrays " +"that all the arrays must be of the same size, and the returned value will" +" be an array that is the result as if multiple calls were made with all " +"scalar values with a single element of each array used in each call. If " +"called with all arrays the returned array is the same as if multiple " +"calls were made with __max(arr1(1),arr2(1), ...)__ to " +"__max(arr1(N),arr2(N))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:115 +msgid "[__maxloc__(3)](MAXLOC), [__maxval__(3)](MAXVAL), [__min__(3)](MIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:2 +msgid "min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:5 +msgid "__min__(3) - \\[NUMERIC\\] Minimum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:14 +msgid "Returns the argument with the smallest (most negative) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:21 +msgid "__a2, a3, \\`\\`\\`__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:22 +msgid "An expression of the same type and kind as __A1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:26 +msgid "" +"The return value corresponds to the minimum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:52 +msgid "[__max__(3)](MAX), [__minloc__(3)](MINLOC), [__minval__(3)](MINVAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:2 +msgid "mod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:5 +msgid "__mod__(3) - \\[NUMERIC\\] Remainder function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:14 +msgid "__mod__(a,p) computes the remainder of the division of __a__ by __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:19 +#: ../../source/learn/intrinsics/_pages/MODULO.md:19 +msgid "Shall be a scalar of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:21 +#: ../../source/learn/intrinsics/_pages/MODULO.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:20 +msgid "__p__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__ and not equal to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:27 +msgid "" +"The return value is the result of __a - (int(a/p) \\* p)__. The type and " +"kind of the return value is the same as that of the arguments. The " +"returned value has the same sign as __a__ and a magnitude less than the " +"magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:76 +msgid "[__modulo__(3)](MODULO)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:2 +msgid "modulo" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:5 +msgid "__modulo__(3) - \\[NUMERIC\\] Modulo function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:14 +msgid "__modulo(a,p)__ computes the __a__ modulo __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__. It shall not be " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:27 +msgid "The type and kind of the result are those of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:29 +msgid "" +"If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value " +"of __a - floor (real(a) / real(p)) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:32 +msgid "" +"If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of " +"__a - floor (a / p) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:35 +msgid "" +"The returned value has the same sign as __p__ and a magnitude less than " +"the magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:70 +msgid "[__mod__(3)](MOD)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:2 +msgid "sign" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:5 +msgid "__sign__(3) - \\[NUMERIC\\] Sign copying function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:76 +msgid "####### fortran-lang intrinsic descriptions (license: MIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:2 +msgid "cshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:5 +msgid "__cshift__(3) - \\[TRANSFORMATIONAL\\] Circular shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:14 +msgid "" +"__cshift(array, shift \\[, dim\\])__ performs a circular shift on " +"elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= dim \\<= n__, where \"n\" is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are shifted back in the other end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:36 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:49 +msgid "Returns an array of same type and rank as the __array__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:2 +msgid "dot\\_product" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:5 +msgid "__dot\\_product__(3) - \\[TRANSFORMATIONAL\\] Dot product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:14 +msgid "" +"__dot\\_product(vector\\_a, vector\\_b)__ computes the dot product " +"multiplication of two vectors vector\\_a and vector\\_b. The two vectors " +"may be either numeric or logical and must be arrays of rank one and of " +"equal size. If the vectors are _integer_ or _real_, the result is " +"__sum(vector\\_a\\*vector\\_b)__. If the vectors are _complex_, the " +"result is __sum(conjg(vector\\_a)\\*vector\\_b)__. If the vectors are " +"_logical_, the result is __any(vector\\_a .and. vector\\_b)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:24 +msgid "__vector\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:25 +msgid "The type shall be numeric or _logical_, rank 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:27 +msgid "__vector\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:28 +msgid "" +"The type shall be numeric if vector\\_a is of numeric type or _logical_ " +"if vector\\_a is of type _logical_. vector\\_b shall be a rank-one array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:34 +msgid "" +"If the arguments are numeric, the return value is a scalar of numeric " +"type, _integer_, _real_, or _complex_. If the arguments are _logical_, " +"the return value is .true. or .false.." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:2 +msgid "eoshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:5 +msgid "__eoshift__(3) - \\[TRANSFORMATIONAL\\] End-off shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:14 +msgid "" +"__eoshift(array, shift\\[, boundary, dim\\])__ performs an end-off shift " +"on elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= DIM \\<= n__ where __\"n\"__ is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are dropped. If __boundary__ is present then the corresponding " +"value of from __boundary__ is copied back in the other end. If " +"__boundary__ is not present then the following are copied in depending on" +" the type of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:25 +msgid "\\*Array Type\\* - \\*Boundary Value\\*" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:27 +msgid "Numeric 0 of the type and kind of __array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:29 +msgid "Logical .false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:31 +msgid "__Character(len)__ LEN blanks" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:36 +msgid "May be any type, not scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:41 +msgid "__boundary__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:42 +msgid "Same type as ARRAY." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:2 +msgid "matmul" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:5 +msgid "__matmul__(3) - \\[TRANSFORMATIONAL\\] matrix multiplication" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:14 +msgid "Performs a matrix multiplication on numeric or logical arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:18 +msgid "__matrix\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:19 +msgid "" +"An array of _integer_, _real_, _complex_, or _logical_ type, with a rank " +"of one or two." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:22 +msgid "__matrix\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:23 +msgid "" +"An array of _integer_, _real_, or _complex_ type if __matrix\\_a__ is of " +"a numeric type; otherwise, an array of _logical_ type. The rank shall be " +"one or two, and the first (or only) dimension of __matrix\\_b__ shall be " +"equal to the last (or only) dimension of __matrix\\_a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:30 +msgid "" +"The matrix product of __matrix\\_a__ and __matrix\\_b__. The type and " +"kind of the result follow the usual type and kind promotion rules, as for" +" the \\* or .and. operators." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:2 +msgid "parity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:5 +msgid "__parity__(3) - \\[TRANSFORMATIONAL\\] Reduction with exclusive __OR__()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:17 +msgid "where KIND and LKIND are any supported kind for the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:2 +msgid "null" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:5 +msgid "" +"__null__(3) - \\[TRANSFORMATIONAL\\] Function that returns a " +"disassociated pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:15 +msgid "Returns a disassociated pointer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:17 +msgid "" +"If __mold__ is present, a disassociated pointer of the same type is " +"returned, otherwise the type is determined by context." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:20 +msgid "" +"In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ " +"includes cases where it is required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:26 +msgid "__mold__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:25 +msgid "(Optional) shall be a pointer of any association status and of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:30 +msgid "A disassociated pointer or an unallocated allocatable entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:116 +msgid "[__associated__(3)](ASSOCIATED)" +msgstr "" + +#: ../../source/learn/intrinsics/PARALLEL_index.md:1 +msgid "Parallel programming using co\\_arrays and co\\_indexed arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:2 +msgid "co\\_broadcast" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:5 +msgid "" +"__co\\_broadcast__(3) - \\[COLLECTIVE\\] Copy a value to all images the " +"current set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:14 +msgid "" +"__co\\_broadcast(3)__ copies the value of argument __a__ on the image " +"with image index source\\_image to all images in the current team. __a__ " +"becomes defined as if by intrinsic assignment. If the execution was " +"successful and __stat__ is present, it is assigned the value zero. If the" +" execution failed, __stat__ gets assigned a nonzero value and, if " +"present, __errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:24 +msgid "" +"__intent(inout)__ argument; shall have the same dynamic type and type " +"parameters on all images of the current team. If it is an array, it shall" +" have the same shape on all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:28 +msgid "__source\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:29 +msgid "" +"a scalar integer expression. It shall have the same the same value on all" +" images and refer to an image of the current team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:32 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:32 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:34 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:34 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:51 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:34 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:30 +msgid "__stat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:33 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:35 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:52 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:35 +msgid "(optional) a scalar integer variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:37 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:54 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:37 +msgid "__errmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:36 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:38 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:38 +msgid "(optional) a scalar character variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:56 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_reduce__(3)](CO_REDUCE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:2 +msgid "co\\_lbound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:5 +msgid "__co\\_lbound__(3) - \\[COLLECTIVE\\] Lower codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:14 +msgid "" +"Returns the lower bounds of a coarray, or a single lower cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:20 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:20 +msgid "Shall be an coarray, of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:23 +msgid "(Optional) Shall be a scalar _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:31 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:31 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind. If __dim__ is " +"absent, the result is an array of the lower cobounds of __coarray__. If " +"__dim__ is present, the result is a scalar corresponding to the lower " +"cobound of the array along that codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:43 +msgid "[__co\\_ubound__(3)](CO_UBOUND), [__lbound__(3)](LBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:2 +msgid "co\\_max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:5 +msgid "" +"__co\\_max__(3) - \\[COLLECTIVE\\] Maximal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:14 +msgid "" +"co\\_max determines element-wise the maximal value of __a__ on all images" +" of the current team. If result\\_image is present, the maximum values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:26 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:26 +msgid "" +"shall be an integer, real or character variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:29 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:29 +msgid "__result\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:30 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:30 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:47 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:30 +msgid "" +"(optional) a scalar integer expression; if present, it shall have the " +"same the same value on all images and refer to an image of the current " +"team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:50 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:62 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:58 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:92 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:63 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:54 +msgid "TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:66 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:2 +msgid "co\\_min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:5 +msgid "" +"__co\\_min__(3) - \\[COLLECTIVE\\] Minimal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:14 +msgid "" +"co\\_min determines element-wise the minimal value of __a__ on all images" +" of the current team. If result\\_image is present, the minimal values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:62 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:2 +msgid "co\\_reduce" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:5 +msgid "" +"__co\\_reduce__(3) - \\[COLLECTIVE\\] Reduction of values on the current " +"set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:14 +msgid "" +"co\\_reduce determines element-wise the reduction of the value of __a__ " +"on all images of the current team. The pure function passed as " +"__operation__ is used to pairwise reduce the values of __a__ by passing " +"either the value of __a__ of different images or the result values of " +"such a reduction as argument. If __a__ is an array, the reduction is done" +" element wise. If result\\_image is present, the result values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:30 +msgid "" +"is an __intent(inout)__ argument and shall be nonpolymorphic. If it is " +"allocatable, it shall be allocated; if it is a pointer, it shall be " +"associated. __a__ shall have the same type and type parameters on all " +"images of the team; if it is an array, it shall have the same shape on " +"all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:36 +msgid "__operation__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:37 +msgid "" +"pure function with two scalar nonallocatable arguments, which shall be " +"nonpolymorphic and have the same type and type parameters as __a__. The " +"function shall return a nonallocatable scalar of the same type and type " +"parameters as __a__. The function shall be the same on all images and " +"with regards to the arguments mathematically commutative and associative." +" Note that OPERATION may not be an elemental" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:44 +msgid "__function, unless it is an intrinsic function.__ result\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:85 +msgid "" +"While the rules permit in principle an intrinsic function, none of the " +"intrinsics in the standard fulfill the criteria of having a specific " +"function, which takes two arguments of the same type and returning that " +"type as a result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:96 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_max__(3)](CO_MAX), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:2 +msgid "co\\_sum" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:5 +msgid "" +"__co\\_sum__(3) - \\[COLLECTIVE\\] Sum of values on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:14 +msgid "" +"co\\_sum sums up the values of each element of __a__ on all images of the" +" current team. If result\\_image is present, the summed-up values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:26 +msgid "" +"shall be an integer, real or complex variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:67 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:2 +msgid "co\\_ubound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:5 +msgid "__co\\_ubound__(3) - \\[COLLECTIVE\\] Upper codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:14 +msgid "" +"Returns the upper cobounds of a coarray, or a single upper cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:43 +msgid "" +"[__co\\_lbound__(3)](CO_LBOUND), [__lbound__(3)](LBOUND), " +"[__ubound__(3)](UBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:2 +msgid "event\\_query" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:5 +msgid "" +"__event\\_query__(3) - \\[COLLECTIVE\\] Query whether a coarray event has" +" occurred" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:14 +msgid "" +"__event\\_query__ assigns the number of events to __count__ which have " +"been posted to the __event__ variable and not yet been removed by calling" +" __event\\_wait__. When __stat__ is present and the invocation was " +"successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value and __count__ is " +"assigned the value __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:22 +msgid "__event__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:23 +msgid "" +"(intent(in)) Scalar of type event\\_type, defined in iso\\_fortran\\_env;" +" shall not be coindexed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:25 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:26 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:42 +msgid "__count__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:27 +msgid "" +"(intent(out))Scalar integer with at least the precision of default " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:31 +msgid "(OPTIONAL) Scalar default-kind _integer_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:2 +msgid "image\\_index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:5 +msgid "" +"__image\\_index__(3) - \\[COLLECTIVE\\] Cosubscript to image index " +"conversion" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:14 +msgid "Returns the image index belonging to a cosubscript." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:23 +msgid "__coarray__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:19 +msgid "Coarray of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:21 +msgid "__sub__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:22 +msgid "default integer rank-1 array of a size equal to the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:27 +msgid "" +"Scalar default integer with the value of the image index which " +"corresponds to the cosubscripts. For invalid cosubscripts the result is " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:50 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__num\\_images__(3)](NUM_IMAGES)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:2 +msgid "num\\_images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:5 +msgid "__num\\_images__(3) - \\[COLLECTIVE\\] Number of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:14 +msgid "Returns the number of images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:19 +msgid "__distance__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:19 +msgid "(optional, __intent(in)__) Nonnegative scalar integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:21 +msgid "__failed__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:22 +msgid "(optional, __intent(in)__) Scalar logical expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:26 +msgid "" +"Scalar default-kind _integer_. If __distance__ is not present or has " +"value 0, the number of images in the current team is returned. For values" +" smaller or equal distance to the initial team, it returns the number of " +"images index on the ancestor team which has a distance of __distance__ " +"from the invoking team. If __distance__ is larger than the distance to " +"the initial team, the number of images of the initial team is returned. " +"If __failed__ is not present the total number of images is returned; if " +"it has the value .true., the number of failed images is returned, " +"otherwise, the number of images which do have not the failed status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:59 +msgid "" +"Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or " +"later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:63 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__image\\_index__(3)](THIS_INDEX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:2 +msgid "this\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:5 +msgid "__this\\_image__(3) - \\[COLLECTIVE\\] Cosubscript index of this image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:15 +msgid "Returns the cosubscript for this image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:20 +msgid "" +"(optional, __intent(in)__) Nonnegative scalar integer (not permitted " +"together with __coarray__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:24 +msgid "Coarray of any type (optional; if __dim__ present, required)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:27 +msgid "" +"default integer scalar (optional). If present, __dim__ shall be between " +"one and the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:32 +msgid "" +"Default integer. If __coarray__ is not present, it is scalar; if " +"__distance__ is not present or has value __0__, its value is the image " +"index on the invoking image for the current team, for values smaller or " +"equal distance to the initial team, it returns the image index on the " +"ancestor team which has a distance of __distance__ from the invoking " +"team. If __distance__ is larger than the distance to the initial team, " +"the image index of the initial team is returned. Otherwise when the " +"__coarray__ is present, if __dim__ is not present, a rank-1 array with " +"corank elements is returned, containing the cosubscripts for __coarray__ " +"specifying the invoking image. If __dim__ is present, a scalar is " +"returned, with the value of the __dim__ element of " +"__this\\_image(coarray)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:66 +msgid "" +"! ! Check whether the current image is the initial image if " +"(this_image(huge(1)) /= this_image()) error stop \"something is rotten " +"here\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:2 +msgid "atomic\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:5 +msgid "" +"__atomic\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise AND " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:14 +msgid "" +"__atomic\\_and(atom, value)__ atomically defines __atom__ with the " +"bitwise __and__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value 0. If it is present and the invocation has failed, it is assigned " +"a positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:24 +msgid "__atom__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:25 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:28 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:32 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:34 +msgid "__value__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:29 +msgid "" +"Scalar of the same type as __atom__. If the kind is different, the value " +"is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:42 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:33 +msgid "(optional) Scalar default-kind integer variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:53 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:2 +msgid "atomic\\_fetch\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:5 +msgid "" +"__atomic\\_fetch\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise AND operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:14 +msgid "" +"__atomic\\_fetch\\_and(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise AND between " +"the values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:33 +msgid "__old__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:34 +msgid "Scalar of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:65 +msgid "[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:2 +msgid "atomic\\_fetch\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:5 +msgid "" +"__atomic\\_fetch\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise" +" OR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:14 +msgid "" +"__atomic\\_fetch\\_or(atom, value, old)__ atomically stores the value of " +"__atom__ in __old__ and defines __atom__ with the bitwise OR between the " +"values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), [__atomic\\_or__(3)](ATOMIC_OR)," +" [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:2 +msgid "atomic\\_fetch\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:5 +msgid "" +"__atomic\\_fetch\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise XOR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:14 +msgid "" +"__atomic\\_fetch\\_xor(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise __xor__ " +"between the values of __atom__ and __value__. When __stat__ is present " +"and the invocation was successful, it is assigned the value __0__. If it " +"is present and the invocation has failed, it is assigned a positive " +"value; in particular, for a coindexed __atom__, if the remote image has " +"stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_xor__(3)](ATOMIC_XOR), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:65 +msgid "[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:2 +msgid "atomic\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:5 +msgid "" +"__atomic\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:14 +msgid "" +"__atomic\\_or(atom, value)__ atomically defines __atom__ with the bitwise" +" __or__ between the values of __atom__ and __value__. When __stat__ is " +"present and the invocation was successful, it is assigned the value " +"__0__. If it is present and the invocation has failed, it is assigned a " +"positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:57 +msgid "" +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:61 +msgid "[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:2 +msgid "atomic\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:5 +msgid "" +"__atomic\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:14 +msgid "" +"__atomic\\_xor(atom, value)__ atomically defines __atom__ with the " +"bitwise __xor__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value __0__. If it is present and the invocation has failed, it is " +"assigned a positive value; in particular, for a coindexed __atom__, if " +"the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH), " +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:2 +msgid "atomic\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:5 +msgid "__atomic\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:13 +msgid "" +"__atomic\\_ad(atom, value)__ atomically adds the value of VAR to the " +"variable __atom__. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed ATOM, if the remote image has stopped, it is assigned the" +" value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote " +"image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:53 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR) __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:2 +msgid "atomic\\_cas" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:5 +msgid "__atomic\\_cas__(3) - \\[ATOMIC\\] Atomic compare and swap" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:14 +msgid "" +"atomic\\_cas compares the variable __atom__ with the value of " +"__compare__; if the value is the same, __atom__ is set to the value of " +"__new__. Additionally, __old__ is set to the value of __atom__ that was " +"used for the comparison. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:29 +msgid "" +"Scalar coarray or coindexed variable of either integer type with " +"atomic\\_int\\_kind kind or logical type with atomic\\_logical\\_kind " +"kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:34 +msgid "__compare__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:35 +msgid "Scalar variable of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:37 +msgid "__new__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:38 +msgid "" +"Scalar variable of the same type as __atom__. If kind is different, the " +"value is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:63 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__iso\\_fortran\\_env__(3)]()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:2 +msgid "atomic\\_define" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:5 +msgid "__atomic\\_define__(3) - \\[ATOMIC\\] Setting a variable atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:19 +msgid "" +"__atomic\\_define(atom, value)__ defines the variable __atom__ with the " +"value __value__ atomically. When __stat__ is present and the invocation " +"was successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:55 +msgid "Fortran 2008 and later; with __stat__, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:59 +msgid "" +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:2 +msgid "atomic\\_fetch\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:5 +msgid "" +"__atomic\\_fetch\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation with " +"prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:14 +msgid "" +"__atomic\\_fetch\\_add(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and adds the value of __var__ to the variable " +"__atom__. When __stat__ is present and the invocation was successful, it " +"is assigned the value __0__. If it is present and the invocation has " +"failed, it is assigned a positive value; in particular, for a coindexed " +"__atom__, if the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:26 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind. atomic\\_logical\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_add__(3)](ATOMIC_ADD), __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:62 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:2 +msgid "atomic\\_ref" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:5 +msgid "" +"__atomic\\_ref__(3) - \\[ATOMIC\\] Obtaining the value of a variable " +"atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:14 +msgid "" +"__atomic\\_ref(value, atom)__ atomically assigns the value of the " +"variable __atom__ to __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's " +"__stat\\_stopped\\_image__ and if the remote image has failed, the value " +"__stat\\_failed\\_image__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:57 +msgid "Fortran 2008 and later; with STAT, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:61 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_cas__(3)](ATOMIC_CAS), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:65 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:68 +msgid "" +"[__atomic\\_fetch\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/STATE_index.md:1 +msgid "General and miscellaneous intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:2 +msgid "associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:5 +msgid "__associated__(3) - \\[STATE\\] Status of a pointer or pointer/target pair" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:14 +msgid "" +"__associated(pointer \\[, target\\])__ determines the status of the " +"pointer __pointer__ or if __pointer__ is associated with the target " +"__target__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:19 +msgid "__pointer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:20 +msgid "__pointer__ shall have the _pointer_ attribute and it can be of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:22 +msgid "__target__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:23 +msgid "" +"(Optional) __target__ shall be a pointer or a target. It must have the " +"same type, kind type parameter, and array rank as __pointer__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:26 +msgid "" +"The association status of neither __pointer__ nor __target__ shall be " +"undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:30 +msgid "" +"__associated(pointer)__ returns a scalar value of type _logical_. There " +"are several cases:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:33 +msgid "" +"When the optional __target__ is not present then __associated(pointer)__ " +"is true if __pointer__ is associated with a target; otherwise, it returns" +" false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:37 +msgid "" +"If __target__ is present and a scalar target, the result is true if " +"__target__ is not a zero-sized storage sequence and the target associated" +" with __pointer__ occupies the same storage units. If __pointer__ is " +"disassociated, the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:42 +msgid "" +"If __target__ is present and an array target, the result is true if " +"__target__ and __pointer__ have the same shape, are not zero-sized " +"arrays, are arrays whose elements are not zero-sized storage sequences, " +"and __target__ and __pointer__ occupy the same storage units in array " +"element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:48 +msgid "As in case 2, the result is false, if __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:50 +msgid "" +"If __target__ is present and an scalar pointer, the result is true if " +"__target__ is associated with __pointer__, the target associated with " +"__target__ are not zero-sized storage sequences and occupy the same " +"storage units." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:55 +msgid "" +"The result is __.false.__, if either __target__ or __pointer__ is " +"disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:57 +msgid "" +"If __target__ is present and an array pointer, the result is true if " +"target associated with __pointer__ and the target associated with " +"__target__ have the same shape, are not zero-sized arrays, are arrays " +"whose elements are not zero-sized storage sequences, and __target__ and " +"__pointer__ occupy the same storage units in array element order. The " +"result is false, if either __target__ or __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:86 +msgid "[__null__(3)](NULL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:2 +msgid "extends\\_type\\_of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:5 +msgid "" +"__extends\\_type\\_of__(3) - \\[STATE\\] determine if the dynamic type of" +" __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:14 +msgid "" +"__extends\\_type\\_of__(3) is __.true.__ if and only if the dynamic type " +"of __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:17 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:27 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:25 +msgid "__Options__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:20 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:24 +msgid "" +"shall be an object of extensible type. If it is a pointer, it shall not " +"have an undefined association status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:30 +msgid "Default logical scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:33 +msgid "" +"If __mold__ is unlimited polymorphic and is either a disassociated " +"pointer or unallocated allocatable variable, the result is true; " +"otherwise if __a__ is unlimited polymorphic and is either a disassociated" +" pointer or unallocated allocatable variable, the result is false; " +"otherwise the result is true if and only if the dynamic type of __a__ is " +"an extension type of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:40 +msgid "" +"The dynamic type of a disassociated pointer or unallocated allocatable " +"variable is its declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:2 +msgid "is\\_iostat\\_end" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:5 +msgid "__is\\_iostat\\_end__(3) - \\[STATE\\] Test for end-of-file value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:17 +msgid "" +"is\\_iostat\\_end(3) tests whether a variable (assumed returned as a " +"status from an I/O statement) has the \"end of file\" I/O status value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:20 +msgid "" +"The function is equivalent to comparing the variable with the " +"__iostat\\_end__ parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:26 +msgid "An _integer_ status value to test if indicating end of file." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:30 +msgid "" +"Returns a _logical_ of the default kind, __.true.__ if __i__ has the " +"value which indicates an end of file condition for __iostat=__ " +"specifiers, and is __.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:2 +msgid "is\\_iostat\\_eor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:5 +msgid "__is\\_iostat\\_eor__(3) - \\[STATE\\] Test for end-of-record value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:14 +msgid "" +"is\\_iostat\\_eor tests whether an variable has the value of the I/O " +"status \"end of record\". The function is equivalent to comparing the " +"variable with the iostat\\_eor parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:22 +msgid "Shall be of the type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:26 +msgid "" +"Returns a _logical_ of the default kind, which .true. if __i__ has the " +"value which indicates an end of file condition for iostat= specifiers, " +"and is .false. otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:2 +msgid "move\\_alloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:5 +msgid "__move\\_alloc__(3) - \\[\\] Move allocation from one object to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:14 +msgid "" +"__move\\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC " +"will become deallocated in the process." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:19 +msgid "__src__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:20 +msgid "allocatable, __intent(inout)__, may be of any type and kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:22 +msgid "__dest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:23 +msgid "" +"allocatable, __intent(out)__, shall be of the same type, kind and rank as" +" SRC." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:28 +msgid "Basic Sample program to allocate a bigger grid" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:70 +msgid "[__allocated__(3)](ALLOCATED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:2 +msgid "present" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:5 +msgid "" +"__present__(3) - [STATE\\] Determine whether an optional dummy argument" +" is specified" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:17 +msgid "Determines whether an optional dummy argument is present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:22 +msgid "" +"May be of any type and may be a pointer, scalar or array value, or a " +"dummy procedure. It shall be the name of an optional dummy argument " +"accessible within the current subroutine or function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:28 +msgid "" +"Returns either __.true.__ if the optional argument __a__ is present, or " +"__.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:2 +msgid "same\\_type\\_as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:5 +msgid "__same\\_type\\_as__(3) - \\[STATE\\] Query dynamic types for equality" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:14 +msgid "Query dynamic types for equality." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:19 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:23 +msgid "Shall be an object of extensible declared type or unlimited polymorphic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:22 +msgid "__b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:28 +msgid "" +"The return value is a scalar of type default logical. It is true if and " +"only if the dynamic type of __a__ is the same as the dynamic type of " +"__b__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:37 +msgid "[__extends\\_type\\_of__(3)](EXTENDS_TYPE_OF)" +msgstr "" + +#: ../../source/learn/intrinsics/SYSTEM_index.md:1 +msgid "Accessing external system information" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:2 +msgid "command\\_argument\\_count" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:5 +msgid "" +"__command\\_argument\\_count__(3) - \\[SYSTEM:COMMAND LINE\\] Get number " +"of command line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:16 +msgid "" +"__command\\_argument\\_count()__ returns the number of arguments passed" +" on the command line when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:21 +msgid "None" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:26 +msgid "" +"The return value is of type default _integer_. It is the number of " +"arguments passed on the command line when the program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:42 +msgid "Sample output:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:60 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:2 +msgid "get\\_command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:5 +msgid "" +"__get\\_command__(3) - \\[SYSTEM:COMMAND LINE\\] Get the entire command " +"line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:18 +msgid "Retrieve the entire command line that was used to invoke the program." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:20 +msgid "" +"Note that what is typed on the command line is often processed by a " +"shell. The shell typically processes special characters and white space " +"before passing it to the program. The processing can typically be turned " +"off by turning off globbing or quoting the command line arguments and/or " +"changing the default field separators, but this should rarely be " +"necessary." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:42 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:29 +msgid "__command__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:30 +msgid "" +"Shall be of type _character_ and of default kind. If __command__ is " +"present, stores the entire command line that was used to invoke the " +"program in __command__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:42 +msgid "__length__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:35 +msgid "" +"Shall be of type _integer_ and of default kind. If __length__ is present," +" it is assigned the length of the command line." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:38 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:48 +msgid "__status__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:39 +msgid "" +"Shall be of type _integer_ and of default kind. If __status__ is present," +" it is assigned 0 upon success of the command, __-1__ if __command__ is " +"too short to store the command line, or a positive value in case of an " +"error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:83 +msgid "" +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:2 +msgid "get\\_command\\_argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:5 +msgid "" +"__get\\_command\\_argument__(3) - \\[SYSTEM:COMMAND LINE\\] Get command " +"line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:19 +msgid "" +"Retrieve the __number__-th argument that was passed on the command line " +"when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:22 +msgid "" +"There is not anything specifically stated about what an argument is but " +"in practice the arguments are split on whitespace unless the arguments " +"are quoted and IFS values (Internal Field Separators) used by common " +"shells are ignored." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:29 +msgid "__number__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:30 +msgid "" +"Shall be a scalar of type __integer__, __number \\>= 0__. If __number = " +"0__, __value__ is set to the name of the program (on systems that support" +" this feature)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:36 +msgid "" +"__value__ :Shall be a scalar of type _character_ and of default kind. " +"After get\\_command\\_argument returns, the __value__ argument holds the " +"__number__-th command line argument. If __value__ can not hold the " +"argument, it is truncated to fit the length of __value__. If there are " +"less than __number__ arguments specified at the command line, __value__ " +"will be filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:44 +msgid "" +"__length__ :(Optional) Shall be a scalar of type _integer_. The " +"__length__ argument contains the length of the __number__-th command line" +" argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:48 +msgid "" +"__status__ :(Optional) Shall be a scalar of type _integer_. If the " +"argument retrieval fails, __status__ is a positive number; if __value__ " +"contains a truncated command line argument, __status__ is __-1__; and " +"otherwise the __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:125 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:2 +msgid "cpu\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:5 +msgid "__cpu\\_time__(3) - \\[SYSTEM:TIME\\] return CPU processor time in seconds" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:14 +msgid "" +"Returns a _real_ value representing the elapsed CPU time in seconds. This" +" is useful for testing segments of code to determine execution time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:17 +msgid "" +"The exact definition of time is left imprecise because of the variability" +" in what different processors are able to provide." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:20 +msgid "If no time source is available, TIME is set to a negative value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:22 +msgid "" +"Note that TIME may contain a system dependent, arbitrary offset and may " +"not start with 0.0. For cpu\\_time the absolute value is meaningless. " +"Only differences between subsequent calls, as shown in the example below," +" should be used." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:27 +msgid "" +"A processor for which a single result is inadequate (for example, a " +"parallel processor) might choose to provide an additional version for " +"which time is an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:33 +msgid "__TIME__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:34 +msgid "" +"The type shall be _real_ with __intent(out)__. It is assigned a " +"processor-dependent approximation to the processor time in seconds. If " +"the processor cannot return a meaningful time, a processor-dependent " +"negative value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:39 +msgid "" +"__is returned.__ The start time is left imprecise because the purpose is " +"to time sections of code, as in the example. This might or might not " +"include system overhead time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:71 +msgid "" +"[__system\\_clock__(3)](SYSTEM_CLOCK), " +"[__date\\_and\\_time__(3)](DATE_AND_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:2 +msgid "date\\_and\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:5 +msgid "__date\\_and\\_time__(3) - \\[SYSTEM:TIME\\] gets current time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:18 +msgid "" +"__date\\_and\\_time(date, time, zone, values)__ gets the corresponding " +"date and time information from the real-time system clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:21 +msgid "Unavailable time and date _character_ parameters return blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:25 +msgid "__date__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:26 +msgid "" +"A character string of default kind of the form CCYYMMDD, of length 8 or " +"larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:28 +msgid "__time__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:29 +msgid "" +"A character string of default kind of the form HHMMSS.SSS, of length 10 " +"or larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:31 +msgid "__zone__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:32 +msgid "" +"A character string of default kind of the form (+-)HHMM, of length 5 or " +"larger, representing the difference with respect to Coordinated Universal" +" Time (UTC)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:35 +msgid "__values__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:36 +msgid "An _integer_ array of eight elements that contains:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:38 +msgid "__values__(1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:39 +msgid ": The year" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:40 +msgid "__values__(2)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:41 +msgid ": The month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:42 +msgid "__values__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:43 +msgid ": The day of the month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:44 +msgid "__values__(4)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:45 +msgid ": Time difference with UTC in minutes" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:46 +msgid "__values__(5)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:47 +msgid ": The hour of the day" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:48 +msgid "__values__(6)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:49 +msgid ": The minutes of the hour" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:50 +msgid "__values__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:51 +msgid ": The seconds of the minute" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:52 +msgid "__values__(8)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:53 +msgid ": The milliseconds of the second" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:103 +msgid "[__cpu\\_time__(3)](CPU_TIME), [__system\\_clock__(3)](SYSTEM_CLOCK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:107 +msgid "date and time conversion, formatting and computation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:109 +msgid "[M_time](https://github.com/urbanjost/M_time)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:110 +msgid "[datetime](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:111 +msgid "[datetime-fortran](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:2 +msgid "system_clock" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:5 +msgid "" +"__system\\_clock__(3) - \\[SYSTEM:TIME\\] Return numeric data from a " +"real-time clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:20 +msgid "" +"__system\\_clock__ lets you measure durations of time with the precision " +"of the smallest time increment generally available on a system by " +"returning processor-dependent values based on the current value of the " +"processor clock. The __clock__ value is incremented by one for each clock" +" count until the value __count\\_max__ is reached and is then reset to " +"zero at the next count. __clock__ therefore is a modulo value that lies " +"in the range __0 to count\\_max__. __count\\_rate__ and __count\\_max__ " +"are assumed constant (even though CPU rates can vary on a single " +"platform)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:29 +msgid "" +"__count\\_rate__ is system dependent and can vary depending on the kind " +"of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:32 +msgid "" +"If there is no clock, or querying the clock fails, __count__ is set to " +"__-huge(count)__, and __count\\_rate__ and __count\\_max__ are set to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:35 +msgid "" +"__system\\_clock__ is typically used to measure short time intervals " +"(system clocks may be 24-hour clocks or measure processor clock ticks " +"since boot, for example). It is most often used for measuring or tracking" +" the time spent in code blocks in lieu of using profiling tools." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:43 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned a processor-" +"dependent value based on the current value of the processor clock, or " +"__-huge(count)__ if there is no clock. The processor-dependent value is " +"incremented by one for each clock count until the value __count\\_max__ " +"is reached and is reset to zero at the next count. It lies in the range " +"__0__ to __count\\_max__ if there is a clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:51 +msgid "__count\\_rate__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:52 +msgid "" +"(optional) shall be an _integer_ or _real_ scalar. It is assigned a " +"processor-dependent approximation to the number of processor clock counts" +" per second, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:56 +msgid "__count\\_max__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:57 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned the maximum value" +" that __COUNT__ can have, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:82 +msgid "" +"If the processor clock is a 24-hour clock that registers time at " +"approximately 18.20648193 ticks per second, at 11:30 A.M. the reference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:87 +msgid "defines" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:100 +msgid "[__date\\_and\\_time__(3)](DATE_AND_TIME), [__cpu\\_time__(3)](CPU_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:2 +msgid "execute\\_command\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:5 +msgid "" +"__execute\\_command\\_line__(3) - \\[SYSTEM:PROCESSES\\] Execute a shell " +"command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:20 +msgid "" +"The __command__ argument is passed to the shell and executed. (The shell " +"is generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If " +"__wait__ is present and has the value __.false.__, the execution of the " +"command is asynchronous if the system supports it; otherwise, the command" +" is executed synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:26 +msgid "" +"The three last arguments allow the user to get status information. After " +"synchronous execution, __exitstat__ contains the integer exit code of the" +" command, as returned by __system__. __cmdstat__ is set to zero if the " +"command line was executed (whatever its exit status was). __cmdmsg__ is " +"assigned an error message if an error has occurred." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:32 +msgid "" +"Note that the system call need not be thread-safe. It is the " +"responsibility of the user to ensure that the system is not called " +"concurrently if required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:36 +msgid "" +"When the command is executed synchronously, __execute\\_command\\_line__ " +"returns after the command line has completed execution. Otherwise, " +"__execute\\_command\\_line__ returns without waiting." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:43 +msgid "" +"a default _character_ scalar containing the command line to be executed. " +"The interpretation is programming-environment dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:46 +msgid "__wait__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:47 +msgid "" +"(Optional) a default _logical_ scalar. If __wait__ is present with the " +"value .false., and the processor supports asynchronous execution of the " +"command, the command is executed asynchronously; otherwise it is executed" +" synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:52 +msgid "__exitstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:53 +msgid "" +"(Optional) an _integer_ of the default kind with __intent(inout)__. If " +"the command is executed synchronously, it is assigned the value of the " +"processor-dependent exit status. Otherwise, the value of __exitstat__ is " +"unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:58 +msgid "__cmdstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:59 +msgid "" +"(Optional) an _integer_ of default kind with __intent(inout)__. If an " +"error condition occurs and __cmdstat__ is not present, error termination " +"of execution of the image is initiated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:63 +msgid "" +"It is assigned the value __-1__ if the processor does not support command" +" line execution, a processor-dependent positive value if an error " +"condition occurs, or the value __-2__ if no error condition occurs but " +"__wait__ is present with the value false and the processor does not " +"support asynchronous execution. Otherwise it is assigned the value 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:70 +msgid "__cmdmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:71 +msgid "" +"(Optional) a _character_ scalar of the default kind. It is an __intent " +"(inout)__ argument.If an error condition occurs, it is assigned a " +"processor-dependent explanatory message.Otherwise, it is unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:94 +msgid "" +"Because this intrinsic is making a system call, it is very system " +"dependent. Its behavior with respect to signaling is processor dependent." +" In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT " +"signals will be ignored, and the SIGCHLD will be blocked. As such, if the" +" parent process is terminated, the child process might not be terminated " +"alongside." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:2 +msgid "get\\_environment" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:5 +msgid "" +"__get\\_environment\\_variable__(3) - \\[SYSTEM:ENVIRONMENT\\] Get an " +"environmental variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:19 +msgid "Get the __value__ of the environmental variable __name__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:21 +msgid "" +"Note that __get\\_environment\\_variable__(3) need not be thread-safe. It" +" is the responsibility of the user to ensure that the environment is not " +"being updated concurrently." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:22 +msgid "__name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:28 +msgid "The name of the environment variable to query." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:30 +msgid "Shall be a scalar of type _character_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:35 +msgid "The value of the environment variable being queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:37 +msgid "" +"Shall be a scalar of type _character_ and of default kind. The value of " +"__name__ is stored in __value__. If __value__ is not large enough to hold" +" the data, it is truncated. If __name__ is not set, __value__ will be " +"filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:43 +msgid "" +"Argument __length__ contains the length needed for storing the " +"environment variable __name__ or zero if it is not present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:46 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:54 +msgid "Shall be a scalar of type _integer_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:49 +msgid "" +"__status__ is __-1__ if __value__ is present but too short for the " +"environment variable; it is __1__ if the environment variable does not " +"exist and __2__ if the processor does not support environment variables; " +"in all other cases __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:56 +msgid "__trim\\_name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:57 +msgid "" +"If __trim\\_name__ is present with the value __.false.__, the trailing " +"blanks in __name__ are significant; otherwise they are not part of the " +"environment variable name." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:61 +msgid "Shall be a scalar of type _logical_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/TRANSFORM_index.md:1 +msgid "Matrix multiplication, dot product, and array shifts" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:1 +msgid "Types and kinds" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:3 +msgid "" +"These intrinsics allow for explicitly casting one type of variable to " +"another or can be used to conditionally execute code blocks based on " +"variable types when working with polymorphic variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:7 +msgid "Fortran Data Types" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:9 +msgid "Fortran provides five basic intrinsic data types:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:11 +msgid "Integer type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:12 +msgid "The integer types can hold only whole number values." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:13 +msgid "Real type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:14 +msgid "Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:15 +msgid "Complex type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:16 +msgid "" +"A complex number has two parts, the real part and the imaginary part. Two" +" consecutive floating point storage units store the two parts." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:19 +msgid "Logical type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:20 +msgid "There are only two logical values: .true. and .false." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:21 +msgid "Character type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:22 +msgid "" +"The character type stores strings. The length of the string can be " +"specified by the __len__ specifier. If no length is specified, it is 1." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:25 +msgid "" +"These \"types\" can be of many \"kinds\". Often different numeric kinds " +"take up different storage sizes and therefore can represent different " +"ranges; but a different kind can have other meanings. A _character_ " +"variable might represent ASCII characters or UTF-8 or Unicode characters," +" for example." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:31 +msgid "You can derive your own data types from these fundamental types as well." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:33 +msgid "Implicit Typing" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:35 +msgid "" +"Fortran allows a feature called implicit typing, i.e., you do not have to" +" declare some variables before use. By default if a variable is not " +"declared, then the first letter of its name will determine its type:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:39 +msgid "" +"Variable names starting with __i-n__ (the first two letters of " +"\"integer\") specify _integer_ variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:42 +msgid "All other variable names default to _real_." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:45 +msgid "" +"However, in most circles it is considered good programming practice to " +"declare all the variables. For that to be enforced, you start your " +"variable declaration section with a statement that turns off implicit " +"typing: the statement" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:52 +msgid "For more information refer to the __implicit__ statement." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:2 +msgid "aimag" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:5 +msgid "__aimag__(3) - \\[TYPE:NUMERIC\\] Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:18 +msgid "__aimag(z)__ yields the imaginary part of complex argument __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:23 +msgid "The type of the argument shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:27 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:2 +msgid "cmplx" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:5 +msgid "__cmplx__(3) - \\[TYPE:NUMERIC\\] Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:19 +msgid "" +"To convert numeric variables to complex, use the __cmplx__(3) function. " +"Constants can be used to define a complex variable using the syntax" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:26 +msgid "" +"but this will not work for variables. You must use the __cmplx__(3) " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:28 +msgid "" +"__cmplx(x \\[, y \\[, kind\\]\\])__ returns a complex number where __x__ " +"is converted to the _real_ component. If __x__ is _complex_ then __y__ " +"must not be present. If __y__ is present it is converted to the imaginary" +" component. If __y__ is not present then the imaginary component is set " +"to __0.0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:33 +msgid "__cmplx(3) and double precision__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:35 +msgid "" +"The Fortran 90 language defines __cmplx__(3) as always returning a result" +" that is type __complex(kind=KIND(0.0))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:38 +msgid "" +"This means \\`__cmplx(d1,d2)__', where __\\`d1'__ and __\\`d2'__ are " +"_doubleprecision_, is treated as: fortran" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:45 +msgid "_doubleprecision complex_ numbers require specifying a precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:47 +msgid "" +"It was necessary for Fortran 90 to specify this behavior for " +"_doubleprecision_ arguments, since that is the behavior mandated by " +"FORTRAN 77." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:51 +msgid "" +"So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra " +"argument used to specify the desired kind of complex result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:75 +msgid "" +"F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity " +"can be accessed independently with a component-like syntax in f2018:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:78 +msgid "A complex-part-designator is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:80 +msgid "``fortran designator % RE or designator % IM." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:103 +msgid "__x__ The type may be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:106 +msgid "" +"__y__ (Optional; only allowed if __x__ is not _complex_.). May be " +"_integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:110 +msgid "" +"__kind__ (Optional) An _integer_ initialization expression indicating the" +" kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:116 +msgid "" +"The return value is of _complex_ type, with a kind equal to __kind__ if " +"it is specified. If __kind__ is not specified, the result is of the " +"default _complex_ kind, regardless of the kinds of __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:153 +msgid "[__aimag__(3)](AIMAG) - Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:155 +msgid "[__cmplx__(3)](CMPLX) - Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:157 +msgid "[__conjg__(3)](CONJG) - Complex conjugate function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:159 +msgid "[__real__(3)](REAL) - Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:2 +msgid "int" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:4 +msgid "" +"__int__(3) - \\[TYPE:NUMERIC\\] Convert to integer type by truncating " +"towards zero" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:16 +msgid "Convert to integer type by truncating towards zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:21 +msgid "" +"Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-" +"constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:27 +msgid "If not present the returned type is that of default integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:31 +msgid "returns an _integer_ variable or array applying the following rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:33 +msgid "__Case__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:35 +msgid "If __a__ is of type _integer_, __int__(a) = a" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:37 +msgid "" +"If __a__ is of type _real_ and __|a| \\< 1, int(a)__ equals __0__. If " +"__|a| \\>= 1__, then __int(a)__ equals the integer whose magnitude does " +"not exceed __a__ and whose sign is the same as the sign of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:41 +msgid "" +"If __a__ is of type _complex_, rule 2 is applied to the _real_ part of " +"__a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:43 +msgid "" +"If _a_ is a boz-literal constant, it is treated as an _integer_ with the " +"_kind_ specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:46 +msgid "" +"The interpretation of a bit sequence whose most significant bit is __1__ " +"is processor dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:118 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:2 +msgid "nint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:5 +msgid "__nint__(3) - \\[TYPE:NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:15 +msgid "" +"__nint(x)__ rounds its argument to the nearest whole number with its sign" +" preserved." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:18 +msgid "" +"The user must ensure the value is a valid value for the range of the " +"__kind__ returned. If the processor cannot represent the result in the " +"kind specified, the result is undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:22 +msgid "If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:24 +msgid "" +"If __x__ is less than or equal to zero, __nint(x)__ has the value " +"__int(a-0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:30 +msgid "The type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:33 +msgid "" +"(Optional) A constant _integer_ expression indicating the kind parameter " +"of the result. Otherwise, the kind type parameter is that of default " +"_integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:39 +msgid "__answer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:40 +msgid "" +"The result is the integer nearest __x__, or if there are two integers " +"equally near __x__, the result is whichever such _integer_ has the " +"greater magnitude." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:112 +msgid "FORTRAN 77 and later, with KIND argument - Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:116 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:2 +msgid "real" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:4 +msgid "__real__(3) - \\[TYPE:NUMERIC\\] Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:13 +msgid "__real(x, kind)__ converts its argument __x__ to a real type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:18 +msgid "Shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:26 +msgid "" +"These functions return a _real_ variable or array under the following " +"rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:29 +msgid "" +"__real__(x) is converted to a default _real_ type if __x__ is an " +"_integer_ or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:32 +msgid "" +"__real__(x) is converted to a real type with the kind type parameter of " +"__x__ if __x__ is a _complex_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:35 +msgid "" +"__real(x, kind)__ is converted to a _real_ type with kind type parameter " +"__kind__ if __x__ is a _complex_, _integer_, or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:71 +msgid "[__dble__(3)](DBLE), [__float__(3)](FLOAT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:2 +msgid "dble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:5 +msgid "__dble__(3) - \\[TYPE:NUMERIC\\] Double conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:16 +msgid "" +"where TYPE may be _integer_, _real_, or _complex_ and KIND any kind " +"supported by the TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:20 +msgid "__dble(a)__ Converts __a__ to double precision _real_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:25 +msgid "The type shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:29 +msgid "" +"The return value is of type _doubleprecision_. For _complex_ input, the " +"returned value has the magnitude and sign of the real component of the " +"input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:56 +msgid "[__float__(3)](FLOAT), [__real__(3)](REAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:2 +msgid "transfer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:5 +msgid "__transfer__(3) - \\[TYPE:MOLD\\] Transfer bit patterns" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:14 +msgid "" +"Interprets the bitwise representation of __source__ in memory as if it is" +" the representation of a variable or array of the same type and type " +"parameters as __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:18 +msgid "" +"This is approximately equivalent to the C concept of \\*casting\\* one " +"type to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:27 +msgid "Shall be a scalar or an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:30 +msgid "(Optional) shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:34 +msgid "" +"The result has the same type as __mold__, with the bit level " +"representation of __source__. If __size__ is present, the result is a " +"one-dimensional array of length __size__. If __size__ is absent but " +"__mold__ is an array (of any size or shape), the result is a one-" +"dimensional array of the minimum length needed to contain the entirety of" +" the bitwise representation of __source__. If __size__ is absent and " +"__mold__ is a scalar, the result is a scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:41 +msgid "" +"If the bitwise representation of the result is longer than that of " +"__source__, then the leading bits of the result correspond to those of " +"__source__ and any trailing bits are filled arbitrarily." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:45 +msgid "" +"When the resulting bit representation does not correspond to a valid " +"representation of a variable of the same type as __mold__, the results " +"are undefined, and subsequent operations on the result cannot be " +"guaranteed to produce sensible behavior. For example, it is possible to " +"create _logical_ variables for which __var__ and .not. var both appear to" +" be true." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:80 +msgid "__Comments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:82 +msgid "_Joe Krahn_: Fortran uses __molding__ rather than __casting__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:84 +msgid "" +"Casting, as in C, is an in-place reinterpretation. A cast is a device " +"that is built around an object to change its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:87 +msgid "" +"Fortran TRANSFER reinterprets data out-of-place. It can be considered " +"__molding__ rather than casting. A __mold__ is a device that confers a " +"shape onto an object placed into it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:91 +msgid "" +"The advantage of molding is that data is always valid in the context of " +"the variable that holds it. For many cases, a decent compiler should " +"optimize TRANSFER into a simple assignment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:95 +msgid "" +"There are disadvantages of this approach. It is problematic to define a " +"union of data types because you must know the largest data object, which " +"can vary by compiler or compile options. In many cases, an EQUIVALENCE " +"would be far more effective, but Fortran Standards committees seem " +"oblivious to the benefits of EQUIVALENCEs when used sparingly." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:103 +msgid "Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:2 +msgid "logical" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:5 +msgid "" +"__logical__(3) - \\[TYPE:LOGICAL\\] Converts one kind of _logical_ " +"variable to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:18 +msgid "Converts one kind of _logical_ variable to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:23 +msgid "__l__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:24 +msgid "The type shall be _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:32 +msgid "" +"The return value is a _logical_ value equal to __l__, with a kind " +"corresponding to __kind__, or of the default logical kind if __kind__ is " +"not given." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:61 +msgid "Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:65 +msgid "[__int__(3)](INT), [__real__(3)](REAL), [__cmplx__(3)](CMPLX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:2 +msgid "kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:5 +msgid "__kind__(3) - \\[KIND INQUIRY\\] Kind of an entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:14 +msgid "__kind(x)__ returns the kind value of the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:19 +msgid "Shall be of type _logical_, _integer_, _real_, _complex_ or _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:2 +msgid "selected\\_char\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:5 +msgid "" +"__selected\\_char\\_kind__(3) - \\[KIND\\] Choose character kind such as " +"\"Unicode\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:14 +msgid "" +"__selected\\_char\\_kind(name)__ returns the kind value for the character" +" set named NAME, if a character set with such a name is supported, or " +"__-1__ otherwise. Currently, supported character sets include \"ASCII\" " +"and \"DEFAULT\" (iwhich are equivalent), and \"ISO\\_10646\" (Universal " +"Character Set, UCS-4) which is commonly known as \"Unicode\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:23 +msgid "Shall be a scalar and of the default character type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:2 +msgid "selected\\_int\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:5 +msgid "__selected\\_int\\_kind__(3) - \\[KIND\\] Choose integer kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:14 +msgid "" +"__selected\\_int\\_kind(r)__ return the kind value of the smallest " +"integer type that can represent all values ranging from __-10\\*\\*r__ " +"(exclusive) to __10\\*\\*r__ (exclusive). If there is no integer kind " +"that accommodates this range, selected\\_int\\_kind returns __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:23 +msgid "__r__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:22 +msgid "Shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:55 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__nint__(3)](NINT), [__ceiling__(3)](CEILING), [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:2 +msgid "selected\\_real\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:5 +msgid "__selected\\_real\\_kind__(3) - \\[KIND\\] Choose real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:14 +msgid "" +"__selected\\_real\\_kind(p, r, radix)__ return the kind value of a real " +"data type with decimal precision of at least __p__ digits, exponent range" +" of at least __r__, and with a radix of __radix__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:27 +msgid "(Optional) shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:26 +msgid "__radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:29 +msgid "" +"Before __Fortran 2008__, at least one of the arguments __r__ or __p__ " +"shall be present; since __Fortran 2008__, they are assumed to be zero if " +"absent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:35 +msgid "" +"selected\\_real\\_kind returns the value of the kind type parameter of a " +"real data type with decimal precision of at least __p__ digits, a decimal" +" exponent range of at least R, and with the requested __radix__. If the " +"__radix__ parameter is absent, real kinds with any radix can be returned." +" If more than one real data type meet the criteria, the kind of the data " +"type with the smallest decimal precision is returned. If no real data " +"type matches the criteria, the result is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:43 +msgid "" +"__-1__ if the processor does not support a real data type with a " +"precision greater than or equal to __p__, but the __r__ and __radix__ " +"requirements can be fulfilled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:47 +msgid "" +"__-2__ if the processor does not support a real type with an exponent " +"range greater than or equal to __r__, but __p__ and __radix__ are " +"fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:51 +msgid "__-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:53 +msgid "__-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:55 +msgid "__-5__ if there is no real type with the given __radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:84 +msgid "Fortran 95 and later; with RADIX - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:88 +msgid "" +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__radix__(3)](RADIX)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:7 +msgid "Fortran Intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:9 +msgid "" +"This is a collection of extended descriptions of the Fortran intrinsics " +"based on the reference document \"[Current F2018 Working Document as of " +"April " +"2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)\"." +" Vendor-specific extensions are not included." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:14 +msgid "☛[Array Operations](ARRAY_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:16 +msgid "☛[Mathematics](MATH_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:18 +msgid "☛[Type and Kind](TYPE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:19 +msgid "☛[Numeric](NUMERIC_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:21 +msgid "☛[Transformational](TRANSFORM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:22 +msgid "Matrix multiplication, Dot product, array shifts," +msgstr "" + +#: ../../source/learn/intrinsics/index.md:23 +msgid "☛[General State](STATE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:24 +msgid "General and miscellaneous intrinsics on state of variables and I/O" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:25 +msgid "☛[Character](CHARACTER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:26 +msgid "basic procedures specifically for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:27 +msgid "☛[System Environment](SYSTEM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:28 +msgid "" +"accessing external system information such as environmental variables, " +"command line arguments, date and timing data ..." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:29 +msgid "☛[C Interface](C_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:30 +msgid "procedures useful for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:31 +msgid "☛[Bit-level](BIT_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:32 +msgid "bit-level manipulation and inquiry of values0" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:33 +msgid "☛[Parallel Programming](PARALLEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:34 +msgid "Parallel programming using co-arrays and co-indexing" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:35 +msgid "☛[Numeric Model](MODEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:36 +msgid "numeric compiler-specific numeric model information" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:37 +msgid "☛[Compiler Information](COMPILER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:38 +msgid "information about compiler version and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:40 +msgid "Overview" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:41 +msgid "" +"The standard documents and most vendor-supplied descriptions of the " +"intrinsics are often very brief and concise to the point of the " +"functionality of the intrinsics being obscure, particularly to someone " +"unfamiliar with the procedure." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:46 +msgid "By describing the procedures here" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:47 +msgid "in greater detail" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:48 +msgid "with a working example" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:49 +msgid "" +"providing links to additional resources (including additional documents " +"at fortran-lang.org and related discussions in Fortran Discourse)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:53 +msgid "these documents strive to be a valuable asset for Fortran programmers." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:55 +msgid "" +"This is a community-driven resource and everyone is encouraged to " +"contribute to the documents. For contribution guidelines see " +"[MINIBOOKS](https://github.com/fortran-lang/fortran-" +"lang.org/blob/master/MINIBOOKS.md) and the following Copyright " +"guidelines." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:60 +msgid "See Also" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:61 +msgid "The [Fortran stdlib](https://stdlib.fortran-lang.org/) project" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:62 +msgid "" +"[fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which " +"are general-purpose libraries/modules" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:64 +msgid "Experimental" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:66 +msgid "" +"[review by procedure " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:68 +msgid "" +"[review by header " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:70 +msgid "" +"[fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A " +"self-contained Fortran program that lets you view the non-graphical plain" +" ASCII portions of the documentation from a terminal interface. Compile " +"the program and enter \"./fman --help\" for directions." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:75 +msgid "" +"[man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) " +"A gzipped tar(1) file containing early versions of man-pages derived from" +" the markdown documents." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:78 +msgid "" +"Typical installation on a Linux platform as an administrator ( but it " +"varies) :" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:110 +msgid "Text Content Copyrights" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:112 +msgid "" +"Many of the documents presented here are modified versions of man-pages " +"from the [Fortran Wiki](https://fortranwiki.org) and as such are " +"available under the terms of the GNU Free Documentation License " +"[__GFDL__](GNU_Free_Documentation_License.md) with no invariant sections," +" front-cover texts, or back-cover texts." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:118 +msgid "" +"If you contribute to this site by modifying the files marked as GFDL, you" +" thereby agree to license the contributed material to the public under " +"the GFDL (version 1.2 or any later version published by the Free Software" +" Foundation, with no invariant sections, front-cover texts, or back-cover" +" texts)." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:124 +msgid "" +"If you contribute new material you thereby agree to release it under the " +"MIT license, and should indicate this by placing MIT on the specially-" +"formatted last line. For example, change" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:130 +msgid "to" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:135 +msgid "" +"Written in [Markdown](https://github.com/adam-p/markdown-here/wiki" +"/Markdown-Cheatsheet) " +"[kramdown](https://kramdown.gettalong.org/syntax.html)" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:8 +msgid "Choosing a compiler" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:10 +msgid "" +"A comprehensive list of available compilers is provided " +"[here]({{site.baseurl}}/compilers). In this guide, we will focus only on " +"those that are free to install and use." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:12 +msgid "" +"Of those listed at the link above, open source and free are GFortran " +"(with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their " +"compilers for free and as of the latest update of this tutorial, " +"NVFortran (NVIDIA) is available only for Linux systems, while Intel " +"oneAPI is available for Linux, Windows and macOS systems. Both are well " +"documented and readers can find detailed information about installing and" +" using them on their websites respectively." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:14 +msgid "" +"In the next chapter, we use GFortran for the tutorial as it is a mature " +"open source compiler. We encourage users to also try other open source " +"and commercial compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:8 +msgid "IDEs" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:10 +msgid "" +"An IDE (Integrated Development Environment) refers to a complete software" +" development environment, where, all those packages that come as external" +" plug-ins in Text-Editors, are already integrated within the software. An" +" IDE is usually optimized towards a specific set of languages. For " +"example it is very common for IDEs to advertise themselves towards either" +" compiled or interpreted languages, or even towards a single language, or" +" depending on the application developed, like scientific or web " +"development. IDEs are recommended for beginner programmers, since it is " +"possible to start coding with minimum effort after installation. However," +" it is quite common, in professional environments, individual developers " +"and teams alike, to choose an IDE for large projects because of some " +"unique features that they may offer over a Text-Editor." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:13 +msgid "" +"A list of popular IDEs that provide good Fortran support is provided in " +"alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:14 +msgid "" +"[AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-" +"ide/): commercial product, cross-platform, comes with Absoft's own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:15 +msgid "" +"[Code::Blocks](http://www.codeblocks.org/): free product, cross-platform " +"and supports multiple compilers. Plenty of tutorials online on how to " +"install it and add a Fortran Compiler. As well as a recent presentation, " +"[here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon)," +" of its capabilities and future prospects at the International Fortran " +"Conference 2020 by its main developer." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:16 +msgid "" +"[Eclipse-Photran](https://marketplace.eclipse.org/content/photran-" +"fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran " +"based on Eclipse and the C/C++ Development Tools*. A free product, cross-" +"platform and supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:17 +msgid "" +"[Geany](https://www.geany.org/): a free product, cross platform and " +"supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:18 +msgid "" +"[NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) " +"is a commercial product, available in Windows and MacOS and supports " +"NAG's own Fortran Compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:19 +msgid "" +"[Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial " +"product, cross-platform, comes with Silverfrost's Fortran FTN95 own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:20 +msgid "" +"[SimplyFortran](https://simplyfortran.com/) is a commercial product, " +"cross-platform with support of the GNU Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:21 +msgid "" +"[Visual Studio](https://visualstudio.microsoft.com/) its *Community " +"Edition 2019* is a free product, available in Windows and macOS and " +"supports only Intel's Fortran compiler, now bundled with many other free-" +"to-use HPC tools under *Intel oneAPI*." +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "choose compiler" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "text editors" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "ides" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "install gfortran" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "tips" +msgstr "" + +#: ../../source/learn/os_setup/index.md:7 +msgid "

" +msgstr "" + +#: ../../source/learn/os_setup/index.md:12 +msgid "" +"*Authors: Stavros Meskos, " +"Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:14 +msgid "" +"*Last update: " +"16-Feb-2021*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:18 +msgid "Setting up your OS" +msgstr "" + +#: ../../source/learn/os_setup/index.md:20 +msgid "" +"In this mini-book we address the very first problem that many new Fortran" +" programmers encounter. Before everything, you will need to choose a " +"compiler and install it. Then you will need a text editor or perhaps an " +"IDE (Integrated Development Environment). There are many options, most of" +" them available in all major OSs (operating systems). However, the " +"process to install and configure them greatly differs between Windows, " +"Linux, and macOS. There are several Fortran compilers. Here, we pick " +"those that meet certain criteria and provide a guide on how to install " +"them in all the aforementioned OSs. A list of popular text editors and " +"IDEs and information on how to choose between them is presented as well." +msgstr "" + +#: ../../source/learn/os_setup/index.md:24 +msgid "" +"If you have already set up your environment, you may skip this tutorial " +"and move forward with the Quickstart Fortran Tutorial to start coding " +"your first `Hello World` program or with the Building programs mini-book " +"to understand how a compiler works." +msgstr "" + +#: ../../source/learn/os_setup/index.md:28 +msgid "" +"*The choice of text editors and IDEs has been controversial among the " +"developers. What you choose is a matter of personal taste. Every solution" +" comes with its own pros and cons. For that reason, in this guide, we " +"will not push the reader towards one or another direction. We will, " +"however, present a list of the most popular tools.*" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:8 +msgid "Installing GFortran" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:10 +msgid "" +"GFortran is the name of the [GNU Fortran " +"project](https://gcc.gnu.org/fortran/). The main " +"[wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links " +"about GFortran, as well as Fortran in general. In this guide, the " +"installation process for GFortran on Windows, Linux, macOS and OpenBSD is" +" presented in a beginner-friendly format based on the information from " +"[GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries)." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:12 +msgid "Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:15 +msgid "" +"Three sources provide quick and easy way to install GFortran compiler on " +"Windows:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:16 +msgid "" +"[http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran)," +" provides 32 and 64-bit x86 executables of the latest (10.2) gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:18 +msgid "" +"[TDM GCC](https://jmeubank.github.io/tdm-" +"gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 " +"executables of the 9.2 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:19 +msgid "" +"[MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides" +" a 64-bit x86 executable of the 8.1.0 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:21 +msgid "" +"In all the above choices, the process is straightforward—just download " +"the installer and follow the installation wizard." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:23 +msgid "Unix-like development on Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:24 +msgid "" +"For those familiar with a unix-like development environment, several " +"emulation options are available on Windows each of which provide packages" +" for gfortran:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:26 +msgid "" +"__Cygwin:__ A runtime environment that provides POSIX compatibility to " +"Windows;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:27 +msgid "" +"__MSYS2:__ A collection of Unix-like development tools, based on modern " +"Cygwin and MinGW-w64;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:28 +msgid "" +"__Windows Subsystem for Linux (WSL):__ An official compatibility layer " +"for running Linux binary executables on Windows. With [Windows Subsystem " +"for Linux GUI](https://github.com/microsoft/wslg) one can run text " +"editors and other graphical programs." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:30 +msgid "" +"All of the above approaches provide access to common shells such as bash " +"and development tools including GNU coreutils, Make, CMake, autotools, " +"git, grep, sed, awk, ssh, etc." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:32 +msgid "" +"We recommend the WSL environment for those looking for a Unix-like " +"development environment on Windows." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:34 +msgid "Linux" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:37 +msgid "Debian-based (Debian, Ubuntu, Mint, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:38 +msgid "Check whether you have gfortran already installed" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:42 +msgid "" +"If nothing is returned then gfortran is not installed. To install " +"gfortran type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:47 +msgid "to check what version was installed type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:51 +msgid "" +"You can install multiple versions up to version 9 by typing the version " +"number immediately after \"gfortran\", e.g.:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:55 +msgid "" +"To install the latest version 10 you need first to add / update the " +"following repository and then install:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:61 +#, python-format +msgid "" +"Finally, you can switch between different versions or set the default one" +" with the **update-alternatives** ([see " +"manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-" +"alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.))." +" There are many online tutorials on how to use this feature. A well " +"structured one using as an example C and C++ can be found " +"[here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g" +"-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the " +"same logic by replacing either `gcc` or `g++` with `gfortran`." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:63 +msgid "RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:68 +msgid "Since Fedora 22, `dnf` is the default package manager for Fedora:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:73 +msgid "Arch-based (Arch Linux, Antergos, Manjaro, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:78 +msgid "macOS" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:79 +msgid "Xcode" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:80 +msgid "If you have Xcode installed, open a terminal window and type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:84 +msgid "Binaries" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:85 +msgid "" +"Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert" +"/gfortran-for-macOS/releases) to directly install binaries." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:86 +msgid "Homebrew" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:90 +msgid "Fink" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:91 +msgid "" +"GNU-gcc Package " +"[link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:92 +msgid "MacPorts" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:93 +msgid "Search for available gcc versions:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:97 +msgid "Install a gcc version:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:102 +msgid "OpenBSD" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:107 +msgid "" +"On OpenBSD, the GFortran executable is named `egfortran`. To test it, " +"type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:113 +msgid "OpenCoarrays" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:115 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software " +"project that produces an application binary interface (ABI) used by the " +"GNU Compiler Collection (GCC) Fortran front-end to build executable " +"programs that leverage the parallel programming features of Fortran 2018." +" Since OpenCoarrays is not a separate compiler, we include it here, under" +" gfortran." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:117 +msgid "" +"While with gfortran you can compile perfectly valid code using coarrays, " +"the generated binaries will only run in a single image (_image_ is a " +"Fortran term for a parallel process), that is, in serial mode. " +"OpenCoarrays allows running code in parallel on shared- and distributed-" +"memory machines, similar to MPI:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:122 +msgid "" +"The process of installation is provided in a clear and comprehensive " +"manner on the official site." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:124 +msgid "" +"We emphasize that native installation on Windows is not possible. It is " +"only possible through WSL." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:8 +msgid "Text Editors" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:10 +msgid "" +"After you have installed your compiler, you will need a text editor to " +"write your code. Any text editor can serve this purpose, even the built-" +"in Notepad on Windows. However, there are specialized editors for " +"programming languages. These editors come with many useful features like " +"auto-complete, syntax-highlighting, auto-indentation, brace-matching, and" +" many more, with few of them pre-installed and the majority in form of " +"external plug-ins. This means that by default these features are not " +"installed in the editor, but it's up to you to search for them through a " +"package manager and install and configure them manually." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:12 +msgid "" +"Here's a list of the most popular text editors that support Fortran " +"syntax, in alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:13 +msgid "[Atom](https://atom.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:14 +msgid "[Emacs](https://www.gnu.org/software/emacs/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:15 +msgid "[NotePad++](https://notepad-plus-plus.org/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:16 +msgid "[SublimeText](https://www.sublimetext.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:17 +msgid "[Vim](https://www.vim.org/) and [Neovim](https://neovim.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:18 +msgid "[Visual Studio Code](https://code.visualstudio.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:20 +msgid "" +"A comprehensive list with more choices is provided in " +"[fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:22 +msgid "Things to consider before choosing a text editor:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:23 +msgid "" +"**Ergonomics:** This is purely subjective and concerns how easy, " +"uninterrupted the UI (User Interface) feels to the developer while using " +"the editor." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:24 +msgid "" +"**Extensibility:** As mentioned above, text editors come with many " +"features as external packages. The variety, the installation process, the" +" documentation, and user-friendliness of the packages all fall under this" +" category." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:25 +msgid "" +"**Speed:** With how powerful modern hardware can be, the speed of editors" +" is becoming of minor importance. However, for the less powerful systems," +" you may want to consider this as well. Heavyweight editors may impact " +"the writing performance. For example, you can expect Atom and VSCode to " +"run slower than the lightweight editors like Vim or Emacs." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:26 +msgid "" +"**Learning curve:** Last but not least, new users should consider how " +"easy it is to get used to a new editor. Vim and Emacs have a steep " +"learning curve and are notoriously difficult for newcomers. They offer a " +"uniquely different experience than any other editor by forcing you to use" +" the keyboard for all editing tasks." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:28 +msgid "Configuring VS Code" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:30 +msgid "" +"With the editor opened, at the main UI, at the buttoned-column on the " +"left, there is a *four-square-shaped* icon to open the Marketplace for " +"extensions. Install [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm" +".linter-gfortran) for syntax highlighting, linting and Language Server " +"support and formatting." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:33 +msgid "Additional Tools" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:35 +msgid "" +"The following extensions are not essential but most users might find them" +" useful:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:37 +msgid "" +"[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)" +" for advanced Git visualization and operations." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:38 +msgid "" +"[CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode" +".cmake-tools) for full-featured CMake integration in VS Code." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:39 +msgid "" +"[Remote Development](https://marketplace.visualstudio.com/items?itemName" +"=ms-vscode-remote.vscode-remote-extensionpack) for working with " +"containers, on a remote machines, or in the Windows Subsystem for Linux " +"(WSL)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:40 +msgid "" +"[Even Better TOML by " +"tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe" +".even-better-toml). For Fortran developers that are using the new " +"[fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a " +"TOML language support might come in handy." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:42 +msgid "Configuring SublimeText" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:44 +msgid "" +"A well structured gist that provides instructions on how to set up " +"SublimeText for Fortran developement is given " +"[here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:46 +msgid "Configuring Atom" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:48 +msgid "" +"Atom's configuration process is similar to VSCode one. At the main " +"interface, if the *Welcome Guide* page is already opened for you, just " +"click the **Install a Package** option, otherwise you can find the same " +"option through the navigation bar at the top by clicking *Packages*. In " +"doing so a new page under *Settings* opens where you can just start " +"typing the package you want to install." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:50 +msgid "" +"One package that includes many Fortran features is [IDE-FORTRAN by " +"hansec](https://atom.io/packages/ide-fortran). It needs the following " +"packages to be installed:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:51 +msgid "[atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:52 +msgid "[language-fortran by dparkins](https://atom.io/packages/language-fortran)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:54 +msgid "" +"Additionally just like in VSCode it needs " +"[Python](https://www.python.org/) and [Fortran Language " +"Server](https://github.com/hansec/fortran-language-server) to be " +"installed." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:56 +msgid "" +"For version control a very popular package is [Git-Plus by " +"akonwi](https://atom.io/packages/git-plus)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:8 +msgid "Smart Tips" +msgstr "" + +#: ../../source/learn/os_setup/tips.md:10 +msgid "" +"To conclude, we give a few tips that may help you to choose a compiler " +"and an editor or an IDE." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:12 +msgid "" +"Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) " +"for a comprehensive comparison of Fortran compilers." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:13 +msgid "" +"Since NVFortran version 17.1, the support for compute capability 2.0 " +"(Fermi) and lower has been removed. This is important because, at any " +"time, only the latest compiler version is free to download. Users with " +"older GPUs will not be able to run CUDA Fortran with the current (20.7) " +"or future versions. Read [this " +"wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your " +"GPU's compute capability and cross-check with the latest CUDA SDK that " +"supports it." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:14 +msgid "" +"There are many online Fortran compilers. These are websites that offer a " +"basic text editor and allow you to compile and run your code on a remote " +"server. They are particularly useful for quick prototyping and testing. " +"Although we promised neutrality, we recommend that you check out the " +"open-source and free [Compiler Explorer](https://godbolt.org/), an " +"amazing tool with unique features." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:15 +msgid "" +"Arguably the most popular text editor, according to recent online " +"surveys, is the Visual Studio Code, developed by Microsoft." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:16 +msgid "" +"The most popular free IDEs are the Code::Blocks and Geany. Many " +"commercial IDEs give up to 30 days of free trial. Keep in mind that the " +"prices of commercial IDEs may vary, and some may be quite affordable. " +"Finally, if you are a student, an open-source developer, or a …hobbyist " +"*Fortraner* do not hesitate to contact those companies and request a " +"discount. There have been cases, e.g., in r/fortran, where " +"representatives, from at least one company, have offered discount codes " +"to individuals looking for affordable complete solutions (IDE + " +"compiler)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:17 +msgid "" +"Finally, please join us on [Fortran Discourse](https://fortran-" +"lang.discourse.group/) and do not hesitate to post your questions and " +"request for further information." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:9 +msgid "" +"More often than not, we need to store and operate on long lists of " +"numbers as opposed to just the single scalar variables that we have been " +"using so far; in computer programming such lists are called _arrays_." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:12 +msgid "" +"Arrays are _multidimensional_ variables that contain more than one value " +"where each value is accessed using one or more indices." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:15 +msgid "" +"Arrays in Fortran are _one-based_ by default; this means that the first " +"element along any dimension is at index 1." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:19 +msgid "Array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:21 +msgid "" +"We can declare arrays of any type. There are two common notations for " +"declaring array variables: using the `dimension` attribute or by " +"appending the array dimensions in parentheses to the variable name." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:24 +msgid "__Example:__ static array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:45 +msgid "Array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:47 +msgid "" +"A powerful feature of the Fortran language is its built-in support for " +"array operations; we can perform operations on all or part of an array " +"using array _slicing_ notation:" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:50 +msgid "__Example:__ array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:72 +msgid "" +"Fortran arrays are stored in _column-major_ order; the first index varies" +" fastest." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:75 +msgid "Allocatable (dynamic) arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:77 +msgid "" +"So far we have specified the size of our array in our program code---this" +" type of array is known as a _static_ array since its size is fixed when " +"we compile our program." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:81 +msgid "" +"Quite often, we do not know how big our array needs to be until we run " +"our program, for example, if we are reading data from a file of unknown " +"size." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:83 +msgid "" +"For this problem, we need `allocatable` arrays. These are _allocated_ " +"while the program is running once we know how big the array needs to be." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:86 +msgid "__Example:__ allocatable arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:105 +msgid "" +"Allocatable local arrays are deallocated automatically when they go out " +"of scope." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:109 +msgid "Character strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:112 +msgid "__Example:__ static character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:132 +msgid "__Example:__ allocatable character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:153 +msgid "Array of strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:155 +msgid "" +"An array of strings can be expressed in Fortran as an array of " +"`character` variables. All elements in a `character` array have equal " +"length. However, strings of varying lengths can be provided as input to " +"the array constructor, as shown in the example below. They will be " +"truncated or right-padded with spaces if they are longer or shorter, " +"respectively, than the declared length of the `character` array. Finally," +" we use the intrinsic function `trim` to remove any excess spaces when " +"printing the values to the standard output." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:162 +msgid "__Example:__ string array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:6 +msgid "Derived Types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:7 +msgid "" +"As discussed previously in [Variables](variables), there are five built-" +"in data types in Fortran. A _derived type_ is a special form of data type" +" that can encapsulate other built-in types as well as other derived " +"types. It could be considered equivalent to _struct_ in the C and C++ " +"programming languages." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:9 +msgid "A quick take on derived types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:11 +msgid "Here's an example of a basic derived type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:20 +msgid "" +"The syntax to create a variable of type `t_pair` and access its members " +"is:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:29 +msgid "The percentage symbol `%` is used to access the members of a derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:31 +msgid "" +"In the above snippet, we declared an instance of a derived type and " +"initialized its members explicitly. You can also initialize derived type " +"members by invoking the derived type constructor." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:35 +msgid "Example using the derived type constructor:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:42 +msgid "Example with default initialization:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:55 +msgid "Derived types in detail" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:57 +msgid "" +"The full syntax of a derived type with all optional properties is " +"presented below:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:69 +msgid "Options to declare a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:71 +msgid "`attribute-list` may refer to the following:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:73 +msgid "_access-type_ that is either `public` or `private`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:74 +msgid "`bind(c)` offers interoperability with C programming language" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:75 +msgid "" +"`extends(`_parent_`)`, where _parent_ is the name of a previously " +"declared derived type from which the current derived type will inherit " +"all its members and functionality" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:76 +msgid "" +"`abstract` -- an object oriented feature that is covered in the advanced " +"programming tutorial" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:78 +msgid "" +"If the attribute `bind(c)` or the statement `sequence` is used, then a " +"derived type cannot have the attribute `extends` and vice versa." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:80 +msgid "" +"The `sequence` attribute may be used only to declare that the following " +"members should be accessed in the same order as they are defined within " +"the derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:82 +msgid "Example with `sequence`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:93 +msgid "" +"The use of the statement `sequence` presupposes that the data types " +"defined below are neither of `allocatable` nor of `pointer` type. " +"Furthermore, it does not imply that these data types will be stored in " +"memory in any particular form, i.e., there is no relation to the " +"`contiguous` attribute." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:95 +msgid "" +"The _access-type_ attributes `public` and `private`, if used, declare " +"that all member-variables declared below will be automatically assigned " +"the attribute accordingly." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:97 +msgid "" +"The attribute `bind(c)` is used to achieve compatibility between " +"Fortran's derived type and C's struct." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:99 +msgid "Example with `bind(c)`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:111 +msgid "matches the following C struct type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:117 +msgid "" +"A fortran derived type with the attribute `bind(c)` cannot have the " +"`sequence` and `extends` attributes. Furthermore it cannot contain any " +"Fortran `pointer` or `allocatable` types." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:119 +msgid "" +"`parameterized-declaration-list` is an optional feature. If used, then " +"the parameters must be listed in place of `[parameterized-definition-" +"statements]` and must be either `len` or `kind` parameters or both." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:121 +msgid "" +"Example of a derived type with `parameterized-declaration-list` and with " +"the attribute `public`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:143 +msgid "" +"In this example the parameter `k` has already been assigned a default " +"value of `kind(0.0)` (single-precision floating-point). Therefore, it can" +" be omitted, as is the case here in the declaration inside the main " +"program." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:145 +msgid "" +"By default, derived types and their members are public. However, in this " +"example, the attribute `private` is used at the beginning of the module. " +"Therefore, everything within the module will be by default `private` " +"unless explicitly declared as `public`. If the type `t_matrix` was not " +"given the attribute `public` in the above example, then the compiler " +"would throw an error inside `program test`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:147 +msgid "" +"The attribute `extends` was added in the F2003 standard and introduces an" +" important feature of the object oriented paradigm (OOP), namely " +"inheritance. It allows code reusability by letting child types derive " +"from extensible parent types: `type, extends(parent) :: child`. Here, " +"`child` inherits all the members and functionality from `type :: parent`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:149 +msgid "Example with the attribute `extends`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:209 +msgid "Options to declare members of a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:211 +msgid "" +"`[member-variables]` refers to the declaration of all the member data " +"types. These data types can be of any built-in data type, and/or of other" +" derived types, as already showcased in the above examples. However, " +"member-variables can have their own extensive syntax, in form of: `type " +"[,member-attributes] :: name[attr-dependent-spec][init]`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:214 +msgid "`type`: any built-in type or other derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:216 +msgid "`member-attributes` (optional):" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:218 +msgid "`public` or `private` access attributes" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:219 +msgid "`protected` access attribute" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:220 +msgid "`allocatable` with or without `dimension` to specify a dynamic array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:221 +msgid "`pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:223 +msgid "Examples of common cases:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:245 +msgid "" +"The following attributes: `pointer`, `codimension`, `contiguous`, " +"`volatile`, `asynchronous` are advanced features that will not be " +"addressed in the *Quickstart* tutorial. However, they are presented here," +" in order for the readers to know that these features do exist and be " +"able to recognize them. These features will be covered in detail in the " +"upcoming *Advanced programing* mini-book." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:247 +msgid "Type-bound procedures" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:249 +msgid "" +"A derived type can contain functions or subroutines that are *bound* to " +"it. We'll refer to them as _type-bound procedures_. Type-bound procedures" +" follow the `contains` statement that, in turn, follows all member " +"variable declarations." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:251 +msgid "" +"It is impossible to describe type-bound procedures in full without " +"delving into OOP features of modern Fortran. For now we'll focus on a " +"simple example to show their basic use." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:253 +msgid "Here's an example of a derived type with a basic type-bound procedure:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:296 +msgid "What is new:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:298 +msgid "" +"`self` is an arbitrary name that we chose to represent the instance of " +"the derived type `t_square` inside the type-bound function. This allows " +"us to access its members and to automatically pass it as an argument when" +" we invoke a type-bound procedure." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:299 +msgid "" +"We now use `class(t_square)` instead of `type(t_square)` in the interface" +" of the `area` function. This allows us to invoke the `area` function " +"with any derived type that extends `t_square`. The keyword `class` " +"introduces the OOP feature polymorphism." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:301 +msgid "" +"In the above example, the type-bound procedure `area` is defined as a " +"function and can be invoked only in an expression, for example `x = " +"sq%area()` or `print *, sq%area()`. If you define it instead as a " +"subroutine, you can invoke it from its own `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:319 +msgid "" +"In contrast to the example with the type-bound function, we now have two " +"arguments:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:321 +msgid "" +"`class(t_square), intent(in) :: self` -- the instance of the derived type" +" itself" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:322 +msgid "" +"`real, intent(out) :: x` -- used to store the calculated area and return " +"to the caller" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:7 +msgid "" +"In this part of the tutorial, we will write our first Fortran program: " +"the ubiquitous [\"Hello, " +"World!\"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) " +"example." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:10 +msgid "" +"However, before we can write our program, we need to ensure that we have " +"a Fortran compiler set up." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:13 +msgid "" +"Fortran is a *compiled language*, which means that, once written, the " +"source code must be passed through a compiler to produce a machine " +"executable that can be run." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:17 +msgid "Compiler setup" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:19 +msgid "" +"In this tutorial, we'll work with the free and open source [GNU Fortran " +"compiler (gfortran)](https://gcc.gnu.org/fortran/), which is part of the" +" [GNU Compiler Collection (GCC)](https://gcc.gnu.org/)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:24 +msgid "" +"To install gfortran on Linux, use your system package manager. On macOS, " +"you can install gfortran using [Homebrew](https://brew.sh/) or " +"[MacPorts](https://www.macports.org/). On Windows, you can get native " +"binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:28 +msgid "" +"To check if you have _gfortran_ setup correctly, open a terminal and run " +"the following command:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:34 +msgid "this should output something like:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:43 +msgid "Hello world" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:45 +msgid "" +"Once you have set up your compiler, open a new file in your favourite " +"code editor and enter the following:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:54 +msgid "" +"Having saved your program to `hello.f90`, compile at the command line " +"with:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:59 +msgid "" +"`.f90` is the standard file extension for modern Fortran source files. " +"The 90 refers to the first modern Fortran standard in 1990." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:62 +msgid "To run your compiled program:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:68 +msgid "" +"Congratulations, you've written, compiled and run your first Fortran " +"program! In the next part of this tutorial, we will introduce variables " +"for storing data." +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "arrays strings" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "hello world" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "operators control_flow" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "variables" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "derived types" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "organising code" +msgstr "" + +#: ../../source/learn/quickstart/index.md:7 +msgid "Quickstart" +msgstr "" + +#: ../../source/learn/quickstart/index.md:9 +msgid "" +"This quickstart tutorial gives an overview of the Fortran programming " +"language and its syntax for common structured programming concepts " +"including: types, variables, arrays, control flow and functions." +msgstr "" + +#: ../../source/learn/quickstart/index.md:13 +msgid "" +"The contents of this tutorial are shown in the navigation bar on the left" +" with the current page highlighted bold." +msgstr "" + +#: ../../source/learn/quickstart/index.md:15 +msgid "" +"Use the _Next_ button at the bottom to start the tutorial with a _Hello " +"World_ example." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:7 +msgid "" +"One of the powerful advantages of computer algorithms, compared to simple" +" mathematical formulae, comes in the form of program _branching_ whereby " +"the program can decide which instructions to execute next based on a " +"logical condition." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:11 +msgid "There are two main forms of controlling program flow:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:13 +msgid "" +"_Conditional_ (if): choose program path based on a boolean (true or " +"false) value" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:15 +msgid "_Loop_: repeat a portion of code multiple times" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:19 +msgid "Logical operators" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:20 +msgid "" +"Before we use a conditional branching operator, we need to be able to " +"form a logical expression." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:23 +msgid "" +"To form a logical expression, the following set of relational operators " +"are available:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Operator  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Alternative  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Description" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`==`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eq.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests for equality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`/=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ne.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Test for inequality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`> `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.gt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly greater than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`< `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.lt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly less than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`>=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ge.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is greater than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`<=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.le.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is less than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:36 +msgid "as well as the following logical operators:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.and.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if both left and right operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.or.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if either left or right or both operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.not.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if right operand is FALSE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has same logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.neqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has the opposite logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:49 +msgid "Conditional construct (`if`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:51 +msgid "" +"In the following examples, a conditional `if` construct is used to print " +"out a message to describe the nature of the `angle` variable:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:54 +msgid "__Example:__ single branch `if`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:62 +msgid "" +"In this first example, the code within the `if` construct is _only " +"executed if_ the test expression (`angle < 90.0`) is true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:66 +msgid "" +"It is good practice to indent code within constructs such as `if` and " +"`do` to make code more readable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:70 +#, python-format +msgid "" +"{% include tip.html content=\"It is good practice to indent code within " +"constructs such as `if` and `do` to make code more readable.\" %}" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:73 +msgid "" +"We can add an alternative branch to the construct using the `else` " +"keyword:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:75 +msgid "__Example:__ two-branch `if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:85 +msgid "" +"Now there are two _branches_ in the `if` construct, but _only one branch " +"is executed_ depending on the logical expression following the `if` " +"keyword." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:88 +msgid "" +"We can actually add any number of branches using `else if` to specify " +"more conditions:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:90 +msgid "__Example:__ multi-branch `if`-`else if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:101 +msgid "" +"When multiple conditional expressions are used, each conditional " +"expression is tested only if none of the previous expressions have " +"evaluated to true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:104 +msgid "Loop constructs (`do`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:106 +msgid "" +"In the following example, a `do` loop construct is used to print out the " +"numbers in a sequence. The `do` loop has an integer _counter_ variable " +"which is used to track which iteration of the loop is currently " +"executing. In this example we use a common name for this counter " +"variable: `i`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:111 +msgid "" +"When we define the start of the `do` loop, we use our counter variable " +"name followed by an equals (`=`) sign to specify the start value and " +"final value of our counting variable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:114 +msgid "__Example:__ `do` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:124 +msgid "__Example:__ `do` loop with skip" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:134 +msgid "Conditional loop (`do while`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:136 +msgid "" +"A condition may be added to a `do` loop with the `while` keyword. The " +"loop will be executed while the condition given in `while()` evaluates to" +" `.true.`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:139 +msgid "__Example:__ `do while()` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:152 +msgid "Loop control statements (`exit` and `cycle`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:154 +msgid "" +"Most often than not, loops need to be stopped if a condition is met. " +"Fortran provides two executable statements to deal with such cases." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:157 +msgid "" +"`exit` is used to quit the loop prematurely. It is usually enclosed " +"inside an `if`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:159 +msgid "__Example:__ loop with `exit`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:173 +msgid "" +"On the other hand, `cycle` skips whatever is left of the loop and goes " +"into the next cycle." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:175 +msgid "__Example:__ loop with `cycle`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:189 +msgid "" +"When used within nested loops, the `cycle` and `exit` statements operate " +"on the innermost loop." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:192 +msgid "Nested loop control: tags" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:194 +msgid "" +"A recurring case in any programming language is the use of nested loops. " +"Nested loops refer to loops that exist within another loop. Fortran " +"allows the programmer to _tag_ or _name_ each loop. If loops are tagged, " +"there are two potential benefits:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:195 +msgid "" +"The readability of the code may be improved (when the naming is " +"meaningful)." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:196 +msgid "" +"`exit` and `cycle` may be used with tags, which allows for very fine-" +"grained control of the loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:198 +msgid "__Example:__ tagged nested loops" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:213 +msgid "Parallelizable loop (`do concurrent`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:215 +msgid "" +"The `do concurrent` loop is used to explicitly specify that the _inside " +"of the loop has no interdependencies_; this informs the compiler that it " +"may use parallelization/_SIMD_ to speed up execution of the loop and " +"conveys programmer intention more clearly. More specifically, this means " +"that any given loop iteration does not depend on the prior execution of " +"other loop iterations. It is also necessary that any state changes that " +"may occur must only happen within each `do concurrent` loop. These " +"requirements place restrictions on what can be placed within the loop " +"body." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:221 +msgid "" +"Simply replacing a `do` loop with a `do concurrent` does not guarantee " +"parallel execution. The explanation given above does not detail all the " +"requirements that need to be met in order to write a correct `do " +"concurrent` loop. Compilers are also free to do as they see fit, meaning " +"they may not optimize the loop (e.g., a small number of iterations doing " +"a simple calculation, like the >below example). In general, compiler " +"flags are required to activate possible parallelization for `do " +"concurrent` loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:227 +msgid "__Example:__ `do concurrent()` loop" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:6 +msgid "Organising Code" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:8 +msgid "" +"Most programming languages allow you to collect commonly-used code into " +"_procedures_ that can be reused by _calling_ them from other sections of " +"code." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:11 +msgid "Fortran has two forms of procedure:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:13 +msgid "__Subroutine__: invoked by a `call` statement" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:14 +msgid "" +"__Function__: invoked within an expression or assignment to which it " +"returns a value" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:16 +msgid "" +"Both subroutines and functions have access to variables in the parent " +"scope by _argument association_; unless the `value` attribute is " +"specified, this is similar to call by reference." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:19 +msgid "Subroutines" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:21 +msgid "" +"The subroutine input arguments, known as _dummy arguments_, are specified" +" in parentheses after the subroutine name; the dummy argument types and " +"attributes are declared within the body of the subroutine just like local" +" variables." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:24 +#: ../../source/learn/quickstart/organising_code.md:118 +#: ../../source/learn/quickstart/variables.md:134 +msgid "__Example:__" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:44 +msgid "" +"Note the additional `intent` attribute when declaring the dummy " +"arguments; this optional attribute signifies to the compiler whether the " +"argument is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) " +"or ''read-write'' (`intent(inout)`) within the procedure. In this " +"example, the subroutine does not modify its arguments, hence all " +"arguments are `intent(in)`." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:48 +msgid "" +"It is good practice to always specify the `intent` attribute for dummy " +"arguments; this allows the compiler to check for unintentional errors and" +" provides self-documentation." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:52 +msgid "We can call this subroutine from a program using a `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:66 +msgid "" +"This example uses a so-called _explicit-shape_ array argument since we " +"have passed additional variables to describe the dimensions of the array " +"`A`; this will not be necessary if we place our subroutine in a module as" +" described later." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:70 +msgid "Functions" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:84 +msgid "In production code, the intrinsic function `norm2` should be used." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:86 +msgid "To execute this function:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:102 +msgid "" +"It is good programming practice for functions not to modify their " +"arguments---that is, all function arguments should be `intent(in)`. Such " +"functions are known as `pure` functions. Use subroutines if your " +"procedure needs to modify its arguments." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:107 +msgid "Modules" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:109 +msgid "" +"Fortran modules contain definitions that are made accessible to programs," +" procedures, and other modules through the `use` statement. They can " +"contain data objects, type definitions, procedures, and interfaces." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:112 +msgid "" +"Modules allow controlled scoping extension whereby entity access is made " +"explicit" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:113 +msgid "" +"Modules automatically generate explicit interfaces required for modern " +"procedures" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:115 +msgid "" +"It is recommended to always place functions and subroutines within " +"modules." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:147 +msgid "" +"Compare this `print_matrix` subroutine with that written outside of a " +"module we no longer have to explicitly pass the matrix dimensions and can" +" instead take advantage of _assumed-shape_ arguments since the module " +"will generate the required explicit interface for us. This results in a " +"much simpler subroutine interface." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:152 +msgid "To `use` the module within a program:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:167 +msgid "__Example:__ explicit import list" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:173 +msgid "__Example:__ aliased import" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:179 +msgid "" +"Each module should be written in a separate `.f90` source file. Modules " +"need to be compiled prior to any program units that `use` them." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:7 +msgid "" +"Variables store information that can be manipulated by the program. " +"Fortran is a _strongly typed_ language, which means that each variable " +"must have a type." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:11 +msgid "There are 5 built-in data types in Fortran:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:13 +msgid "`integer` -- for data that represent whole numbers, positive or negative" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:14 +msgid "`real` -- for floating-point data (not a whole number)" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:15 +msgid "`complex` -- pair consisting of a real part and an imaginary part" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:16 +msgid "`character` -- for text data" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:17 +msgid "`logical` -- for data that represent boolean (true or false) values" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:19 +msgid "" +"Before we can use a variable, we must _declare_ it; this tells the " +"compiler the variable type and any other variable attributes." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:22 +msgid "" +"Fortran is a _statically typed_ language, which means the type of each " +"variable is fixed when the program is compiled---variable types cannot " +"change while the program is running." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:25 +msgid "Declaring variables" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:27 +msgid "The syntax for declaring variables is:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:33 +msgid "" +"where `` is one of the built-in variable types listed " +"above and `` is the name that you would like to call your " +"variable." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:36 +msgid "" +"Variable names must start with a letter and can consist of letters, " +"numbers and underscores. In the following example we declare a variable " +"for each of the built-in types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:39 +msgid "__Example:__ variable declaration" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:54 +msgid "" +"Fortran code is __case-insensitive__; you don't have to worry about the " +"capitalisation of your variable names, but it's good practice to keep it " +"consistent." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:57 +msgid "" +"Note the additional statement at the beginning of the program: `implicit " +"none`. This statement tells the compiler that all variables will be " +"explicitly declared; without this statement variables will be implicitly" +" typed according to the letter they begin with." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:61 +msgid "" +"Always use the `implicit none` statement at the beginning of each program" +" and procedure. Implicit typing is considered bad practice in modern " +"programming since it hides information leading to more program errors." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:66 +msgid "" +"Once we have declared a variable, we can assign and reassign values to it" +" using the assignment operator `=`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:68 +msgid "__Example:__ variable assignment" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:78 +msgid "Characters are surrounded by either single (`'`) or double quotes (`\"`)." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:80 +msgid "Logical or boolean values can be either `.true.` or `.false.`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:82 +msgid "" +"Watch out\" content=\"for assignment at declaration: `integer :: amount =" +" 1`. __This is NOT a normal initialisation;__ it implies the `save` " +"attribute which means that the variable retains its value between " +"procedure calls. Good practice is to initialise your variables separately" +" to their declaration." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:87 +msgid "Standard input / output" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:89 +msgid "" +"In our _Hello World_ example, we printed text to the command window. This" +" is commonly referred to as writing to `standard output` or `stdout`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:92 +msgid "" +"We can use the `print` statement introduced earlier to print variable " +"values to `stdout`:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:102 +msgid "" +"In a similar way, we can read values from the command window using the " +"`read` statement:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:118 +msgid "This input source is commonly referred to as `standard input` or `stdin`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:121 +msgid "Expressions" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:122 +msgid "" +"The usual set of arithmetic operators are available, listed in order or " +"precedence:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`**`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Exponent" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`*`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Multiplication" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`/ `" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Division" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`+`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Addition" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`-`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Subtraction" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:170 +msgid "Floating-point precision" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:172 +msgid "" +"The desired floating-point precision can be explicitly declared using a " +"`kind` parameter. The `iso_fortran_env` intrinsic module provides `kind` " +"parameters for the common 32-bit and 64-bit floating-point types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:175 +msgid "__Example:__ explicit real `kind`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:190 +msgid "Always use a `kind` suffix for floating-point literal constants." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:192 +msgid "__Example:__ C-interoperable `kind`s" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:204 +msgid "" +"In the next part we will learn how to use arrays for storing more than " +"one value in a variable." +msgstr "" + diff --git a/locale/es/LC_MESSAGES/news.po b/locale/es/LC_MESSAGES/news.po new file mode 100644 index 000000000..8440304f9 --- /dev/null +++ b/locale/es/LC_MESSAGES/news.po @@ -0,0 +1,13945 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/news.rst:2 +msgid "News - The Fortran Programming Language" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:8 +msgid "" +"The J3 Fortran Committee meeting took place in Las Vegas, NV, on February" +" 24-28, 2020." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:11 +msgid "Attendance" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:13 +msgid "The following people / companies attended:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:15 +msgid "Voting members:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:17 +msgid "Intel: Jon Steidel" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:18 +msgid "HPE/Cray: Bill Long" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:19 +msgid "NVIDIA: Peter Klausler, Gary Klimowicz" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:20 +msgid "IBM: Daniel Chen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:21 +msgid "ARM: Srinath Vadlamani" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:22 +msgid "NCAR: Dan Nagle, Magne Haveraaen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:23 +msgid "NASA: Tom Clune" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:24 +msgid "JPL: Van Sneider" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:25 +msgid "LANL: Zach Jibben, Ondřej Čertík" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:26 +msgid "ORNL: Reuben Budiardja" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:27 +msgid "LBNL: Brian Friesen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:28 +msgid "Sandia: Damian Rouson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:29 +msgid "Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:30 +msgid "Corbett: Bob Corbett" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:32 +msgid "Others:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:34 +msgid "AMD: Richard Bleikamp" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:35 +msgid "WG23: Stephen Michell (convenor), Erhard Ploedereder (member)" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:36 +msgid "Structural Integrity: Brad Richardson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:38 +msgid "Proposals Discussed at Plenary" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:40 +msgid "Monday 2/24" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:42 +msgid "Tuesday 2/25" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:44 +msgid "" +"[#22] : Default values of optional arguments " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:46 +msgid "Wednesday 2/26" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:48 +msgid "" +"[#157] : Rank-agnostic array element and section denotation " +"(, " +")" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:49 +msgid "" +"[#158] : TYPEOF and CLASSOF " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:50 +msgid "" +"[#1] : Namespace for modules " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:51 +msgid "" +"Interpretation: FORM TEAM and failed images " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:52 +msgid "" +"Interpretation: Collective subroutines and STAT= " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:54 +msgid "Thursday 2/27" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:56 +msgid "" +"Interpretation: events that cause variables to become undefined " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:57 +msgid "" +"Edits for SIMPLE procedures " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:58 +msgid "BFLOAT16 ()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:59 +msgid "" +"[#146] : Interpretation: allocatable component finalization " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:61 +msgid "Friday 2/28" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:63 +msgid "" +"[#157] : Rank-agnostic syntax " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:64 +msgid "" +"[#156] : Protected components " +"(). Withdrawn to address " +"conflicting interests." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:65 +msgid "" +"[#160] : Edits for auto-allocate characters " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:66 +msgid "" +"Edits for procedure pointer association " +"(). Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:67 +msgid "" +"[#157] : Edits for rank-agnostic bounds " +"(). Withdrawn because some" +" edits were missing and need to be added. There were concerns about " +"fitting into the framework of generics later on." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:68 +msgid "" +"[#157] : Edits for rank-agnostic array element and section denotation " +"(). Failed (5 v 7). " +"Missing edits, and disagreement on types vs rank-1 integers, the options " +"need to be explored more." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:69 +msgid "" +"[#157] : Edits for rank-agnostic allocation and pointer assignment " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:70 +msgid "" +"Interpretation: Public namelist and private variable " +"(). Straw vote (0 yes, 8 " +"no, 9 undecided). Passed unanimously with \"no\" alternative." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:71 +msgid "" +"Interpretation F18/015 ()." +" Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:74 +msgid "Skipped" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:76 +msgid "This was on the plan but we did not get to it:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:78 +msgid "" +"[#5] : US 27 POINTER dummy arguments, INTENT, and target modification " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:79 +msgid "[#19] : Short-circuiting proposal" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:81 +msgid "More Details" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:83 +msgid "" +"More details available at [j3-fortran/fortran_proposals " +"#155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at " +"the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt)" +" from the meeting." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:8 +msgid "" +"FortranCon 2020, the first international conference targeting the Fortran" +" programming language, will take place on July 2-4, 2020, in Zürich, " +"Switzerland." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:13 +msgid "" +"FortranCon aims to bring together developers of Fortran libraries, " +"applications, and language itself to share their experience and ideas. " +"The conference is organized in two full days of speaker presentations on" +" July 2 and 3, and a half-day workshop with lectures and hands-on " +"sessions on July 4. Click " +"[here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit an " +"abstract." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:21 +msgid "" +"The keynote presentation will be delivered by Steve Lionel " +"([@doctorfortran](https://twitter.com/doctorfortran)), convener of the " +"US Fortran Standards Committee." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:25 +msgid "" +"The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/)" +" is **free of charge**, with June 1, 2020 as the deadline. Virtual " +"participation will be enabled for speakers and attendees unable to " +"travel." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:30 +msgid "" +"Read more about FortranCon 2020 " +"[here](https://tcevents.chem.uzh.ch/event/12/)." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:8 +msgid "" +"Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and " +"Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) " +"spoke yesterday about the future of Fortran in Episode 40 of the Open " +"Source Directions Webinar. We discussed the current state of the " +"language, how it's currently developed, and what we can do today to " +"build the Fortran community, ecosystem of packages, and developer tools." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:16 +msgid "Watch the episode now:" +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:20 +msgid "" +"Special thanks to our hosts Melissa Mendonça " +"([@melissawm](https://twitter.com/melissawm)) and Madicken Munk " +"([@munkium](https://twitter.com/munkium)), as well as " +"[OpenTeams](https://openteams.com) and " +"[QuanSight](https://www.quansight.com/) for having us." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:26 +msgid "" +"You can find all previous episodes of the Open Source Directions webinar" +" [here](https://www.quansight.com/open-source-directions)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:13 +msgid "" +"Welcome to the first monthly Fortran newsletter. It will come out on the " +"first calendar day of every month, detailing Fortran news from the " +"previous month." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:17 +msgid "[This website](#this-website)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:18 +msgid "[Standard Library](#standard-library)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:19 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:16 +msgid "[Package Manager](#package-manager)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:20 +msgid "[WG5 Convenor candidates](#wg5-convenor-candidates)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:21 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:17 +msgid "[Events](#events)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:22 +msgid "[Who's hiring?](#whos-hiring)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:24 +msgid "This website" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:26 +msgid "" +"If you came to this newsletter from elsewhere, welcome to the new Fortran" +" website. We built this site mid-April and hope for it to be _the_ home " +"of Fortran on the internet, which traditionally there hasn't been any to " +"date. Look around and [let us know](https://github.com/fortran-lang" +"/fortran-lang.github.io/issues) if you have any suggestions for " +"improvement. Specifically, [Learn](/learn) and [Packages](/packages) are " +"the pages that we'll be focusing on in the coming months. Please help " +"us make them better!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:35 +msgid "Standard Library" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:37 +msgid "Here's what's new in Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:39 +msgid "" +"[#172](https://github.com/fortran-lang/stdlib/pull/172) New function " +"`cov` in the `stdlib_experimental_stats` module to compute covariance of " +"array elements. Read the full specification [here](https://github.com" +"/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov" +"---covariance-of-array-elements)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:43 +msgid "" +"[#168](https://github.com/fortran-lang/stdlib/pull/168) Specify " +"recommended order of attributes for dummy arguments in the [Stdlib style" +" guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:47 +msgid "[#173](https://github.com/fortran-lang/stdlib/pull/173) Minor bug fix." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:50 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) WIP: Addition of " +"`diag`, `eye`, and `trace` functions to make working with matrices " +"easier." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:54 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:75 +msgid "Package Manager" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:56 +msgid "" +"In the past month we've seen the first working implementation of the " +"[Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). " +"Specifically:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:59 +msgid "FPM supports three commands:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:60 +msgid "`fpm build`--compiles and links your application and/or library." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:61 +msgid "`fpm test`--runs tests if your package has any test programs." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:62 +msgid "`fpm run`--runs the application if your package has an executable program." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:63 +msgid "FPM can build an executable program, a library, or a combination of both." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:64 +msgid "" +"Currently only gfortran is supported as the compiler backend. FPM will " +"suport other compilers soon." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:66 +msgid "" +"Read the [FPM packaging guide](https://github.com/fortran-" +"lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with " +"FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:69 +msgid "" +"FPM is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:72 +msgid "Try to use it. Does it work? No? Let us know!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:73 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:90 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:82 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:75 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:58 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:95 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:93 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:100 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:178 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:126 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:119 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:160 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:141 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:123 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:157 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:172 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:143 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:208 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:137 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:152 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:165 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:143 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:124 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:136 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:154 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:138 +msgid "" +"Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and " +"see if you can help implement any fixes or features." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:74 +msgid "Adapt your Fortran package for FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:75 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:92 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:84 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:77 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:60 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:97 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:95 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:102 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:180 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:128 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:121 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:162 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:143 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:125 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:159 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:174 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:145 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:210 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:139 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:154 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:145 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:126 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:138 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:156 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:140 +msgid "Improve the documentation." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:77 +msgid "" +"The short term goal of FPM is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are " +"created and published with ease." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:81 +msgid "WG5 Convenor candidates" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:83 +msgid "" +"Last month was also the deadline for the [WG5](https://wg5-fortran.org/) " +"convenor candidates to apply for the next 3-year term (2021-2024). There " +"are two candidates:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:87 +msgid "" +"[Steve Lionel](https://stevelionel.com), who is also the current WG5 " +"convenor, announced running for another term. Read Steve's " +"[post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-" +"forward) about how he has guided the standardization process over the " +"past three years and his direction for the future." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:92 +msgid "" +"[Ondřej Čertík](https://ondrejcertik.com) has also announced announced to" +" run for the WG5 convenor. Read Ondřej's " +"[announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5" +"-convenor-announcement/) and " +"[platform](https://github.com/certik/wg5_platform_2020) that detail " +"current issues with Fortran language development and how to overcome them" +" going forward." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:99 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:105 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:90 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:140 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:141 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:176 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:166 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:161 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:215 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:174 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:163 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:260 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:215 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:165 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:181 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:207 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:279 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:296 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:231 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:232 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:284 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:249 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:261 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:369 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:470 +msgid "Events" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:101 +msgid "" +"[OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com)" +" hosted Ondřej Čertík and Milan Curcic in the Episode 40 of the Open " +"Source Directions Webinar. They talked about the current state and future" +" of Fortran, as well as about building the Fortran community and " +"developer tools. Read more about it and watch the video " +"[here](/newsletter/2020/04/18/Fortran-Webinar/)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:105 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:108 +msgid "" +"J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, " +"Nevada. You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:112 +msgid "Who's hiring?" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:114 +msgid "" +"[Intel Corporation (Santa Clara, CA): Software Engineer, " +"Fortran](https://g.co/kgs/aogdeh)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:115 +msgid "" +"[Intel Corporation (Hillsboro, OR): Software Engineer, " +"Fortran](https://g.co/kgs/5X3d2Y)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:116 +msgid "[Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:117 +msgid "" +"[American Cybersystems, Inc. (Binghamton, NY): Software Engineer " +"(Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:118 +msgid "[BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:119 +msgid "" +"[Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and" +" Topology Optimization](https://g.co/kgs/eYftiA)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:9 +msgid "" +"Welcome to the June 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:13 +msgid "[fortran-lang.org](#fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:14 +msgid "[Fortran Discourse](#fortran-discourse)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:15 +msgid "[Standard Library](#fortran-standard-library)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:18 +msgid "[Contributors](#contributors)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:20 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:15 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:15 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:15 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:15 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:15 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:15 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:16 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:15 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:15 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:15 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:15 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:15 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:15 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:15 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:15 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:15 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:16 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:15 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:16 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:15 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:15 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:15 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:15 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:15 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:22 +msgid "" +"The Fortran website has been up since mid-April, and we've already got " +"great feedback from the community. In the past month we've updated the " +"[Compilers](/compilers) page which is now comprehensive and includes all " +"major open source and commercial compilers. The [Learn](/learn) page has " +"also seen significant updates—it's been reorganized for easier navigation" +" and currently features a quickstart tutorial, Fortran books, and other " +"online resources." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:30 +msgid "" +"If you haven't yet, please explore the website and [let us " +"know](https://github.com/fortran-lang/fortran-lang.org/issues) if you " +"have any suggestions for improvement. Specifically, we'll be focusing on " +"the [Learn](/learn) page and its mini-books in the coming months. Please " +"help us make them better!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:36 +msgid "Here are some specific items that we worked on:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:38 +msgid "" +"[#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) WIP: " +"Mini-book on building programs" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:40 +msgid "" +"[#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) Improving" +" the structure and navigation of the [Learn](/learn) pages" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:42 +msgid "" +"[#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) Build " +"website previews from pull requests" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:45 +msgid "Fortran Discourse" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:47 +msgid "" +"On May 4 we launched the [Fortran Discourse](https://fortran-" +"lang.discourse.group), an online discussion board for anything and " +"everything Fortran related. You can use it discuss the Fortran language, " +"ask for help, announce events and/or personal projects, or just lurk " +"around. There are already quite a few interesting discussions going on. " +"Join us!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:54 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:41 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:40 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:32 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:32 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:47 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:34 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:47 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:34 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:44 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:45 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:36 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:40 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:44 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:56 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:36 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:64 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:42 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:35 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:44 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:35 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:35 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:41 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:59 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:45 +msgid "Fortran Standard Library" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:56 +msgid "" +"Recently we launched a [website](https://stdlib.fortran-lang.org) for the" +" API documentation of the Fortran Standard Library. The " +"[website](https://stdlib.fortran-lang.org) is automaticaly generated by " +"[FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). [Code of" +" Conduct](https://stdlib.fortran-" +"lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib" +".fortran-lang.org/page/License.html), and [workflow](https://stdlib" +".fortran-lang.org/page/contributing/Workflow.html) for contributing to " +"the Fortran Standard Library can also be found on the " +"[website](https://stdlib.fortran-lang.org/)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:60 +msgid "Here's what's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:62 +msgid "" +"[#191](https://github.com/fortran-lang/stdlib/pull/191) WIP: Function for" +" computing Pearson correlations among elements of an array in the " +"`stdlib_experimental_stats` module" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:65 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) WIP: Procedures " +"for sparse matrices operations. Ongoing discussion on the API can be " +"found [here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-" +"matrix-API)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:68 +msgid "" +"[#183](https://github.com/fortran-lang/stdlib/pull/183) Automatic API-doc" +" generation and deployment of this [stdlib website](https://stdlib" +".fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:70 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) Addition of the " +"new functions `diag`, `eye`, and `trace` functions to make working with " +"matrices easier. Read the full specifications [here](https://stdlib" +".fortran-lang.org/page/specs/stdlib_experimental_linalg.html)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:77 +msgid "" +"In this past month support for dependencies between packages has been " +"added to the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/fpm). You can specify either a path to another folder on your " +"machine with an fpm package, or a git repository (and optionally a " +"specific branch, tag or commit) that contains the package. fpm will then " +"take care of fetching the dependency for you (if necessary) and any " +"packages it depends on, and compiling and linking it into your project. " +"Check out an example [hello world " +"package](https://gitlab.com/everythingfunctional/hello_fpm) that uses " +"this functionality." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:86 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:78 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:71 +msgid "" +"fpm is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:89 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:81 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:74 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:57 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:94 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:92 +msgid "" +"Try to use it. Does it work? No? Let us know! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:91 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:83 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:76 +msgid "Adapt your Fortran package for fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:94 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:86 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:79 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:62 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:99 +msgid "" +"The short term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:98 +msgid "Specific items that are new this month:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:100 +msgid "" +"[#82](https://github.com/fortran-lang/fpm/pull/82) You can now add remote" +" git repositories as Fortran dependencies to your project." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:102 +msgid "" +"[#73](https://github.com/fortran-lang/fpm/pull/73) Improved output " +"messages for the user" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:107 +msgid "" +"We hosted the very first Fortran Monthly call on May 14. The turnout was " +"astonishing--over 23 people joined. You can read the notes from the call " +"[here](https://fortran-lang.discourse.group/t/fortran-monthly-call-" +"may-2020). We'll have another one this month. Subscribe to the [mailing " +"list](https://groups.io/g/fortran-lang) and/or join the [Discourse](https" +"://fortran-lang.discourse.group) to stay tuned." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:113 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020. There are quite a few submissions from the fortran-lang community: " +"A talk on [stdlib](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, one " +"about the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, a talk on " +"[LFortran " +"compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by " +"Ondřej Čertík, as well as one about [building the Fortran " +"community](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-community) by Milan Curcic." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:122 +msgid "" +"J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, " +"Nevada, has been " +"[cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html)." +" However, the work on proposals for the Fortran Standard doesn't stop. " +"You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:127 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:104 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:157 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:151 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:186 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:179 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:173 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:230 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:189 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:188 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:290 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:227 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:186 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:202 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:224 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:296 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:310 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:252 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:247 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:303 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:266 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:282 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:257 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:379 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:485 +msgid "Contributors" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:129 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories [fortran-" +"lang/stdlib](https://github.com/fortran-lang/stdlib), [fortran-" +"lang/fpm](https://github.com/fortran-lang/fpm), [fortran-lang/fortran-" +"lang.org](https://github.com/fortran-lang/fortran-lang.org), " +"[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:136 +msgid "" +"Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), Laurence Kedward " +"([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas " +"([@jvdp1](https://github.com/jvdp1)), Brad Richardson " +"([@everythingfunctional](https://github.com/everythingfunctional)), Izaak" +" \"Zaak\" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin " +"Diehl ([@MarDiehl](https://github.com/MarDiehl)), " +"[@arjenmarkus](https://github.com/arjenmarkus), Van Snyder " +"([@vansnyder](https://github.com/vansnyder)), " +"[@FortranFan](https://github.com/FortranFan), " +"[@epagone](https://github.com/epagone), Ivan ([@ivan-" +"pi](https://github.com/ivan-pi)), Neil Carlson " +"([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu " +"([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima " +"([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler " +"([@klausler](https://github.com/klausler)), Chris MacMackin " +"([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa " +"([@p-costa](https://github.com/p-costa)), [@mobius-" +"eng](https://github.com/mobius-eng), Salvatore Filippone " +"([@sfilippone](https://github.com/sfilippone)), " +"[@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar " +"([@aktech](https://github.com/aktech)), Bálint Aradi " +"([@aradi](https://github.com/aradi)), Melissa Weber Mendonça " +"([@melissawm](https://github.com/melissawm)), Jacob Williams " +"([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami " +"([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi " +"([@shahmoradi](https://github.com/shahmoradi)), Bill Long " +"([@longb](https://github.com/longb))." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:9 +msgid "" +"Welcome to the July 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:17 +msgid "" +"Work has continued on the Fortran-lang website, including a new community" +" page and additional tutorial content:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:19 +msgid "" +"[#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated " +"the [Quickstart mini-book](https://fortran-" +"lang.org/learn/quickstart/derived_types) tutorial with a comprehensive " +"overview of derived types;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:21 +msgid "" +"[#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a " +"second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) " +"page on building compiled programs and libraries;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:23 +msgid "" +"[#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added " +"a new top-level web-page for Fortran-lang community projects. The page " +"gives useful information and links for new contributors, as well as " +"acknowledging each of our many existing contributors. Check it out at " +"." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:27 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:27 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:22 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:22 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:37 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:26 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:35 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:22 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:34 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:35 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:26 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:28 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:30 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:46 +msgid "Ongoing work:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:29 +msgid "" +"[#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code" +" style for Fortran examples in the tutorials. See the corresponding " +"community poll and discussion on [Discourse](https://fortran-" +"lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a" +"-consistent-style-for-code-listings/134);" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:32 +msgid "" +"[#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan" +" for core language tutorials." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:34 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:36 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:29 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:29 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:44 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:31 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:44 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:31 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:41 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:42 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:33 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:37 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:41 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:33 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:58 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:35 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:29 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:38 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:29 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:29 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:35 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:53 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:39 +msgid "" +"[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if" +" you have any suggestions for the website and its content. We welcome any" +" new contributors to the website and the tutorials page in particular - " +"see the [contributor guide](https://github.com/fortran-lang/fortran-" +"lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:37 +msgid "" +"__Did you know__ you don't need to know HTML or any fancy languages to " +"contribute to the website; all of the online tutorials and most of the " +"website content are written in [markdown](https://github.com/adam-p" +"/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for " +"formatting text - don't worry if you haven't used it before, it's very " +"easy to pick up!" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:43 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:42 +msgid "What's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:45 +msgid "" +"[#209](https://github.com/fortran-lang/stdlib/pull/209) Implements " +"Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the " +"quadrature module (`stdlib_experimental_quadrature`)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:48 +msgid "" +"[#205](https://github.com/fortran-lang/stdlib/pull/205) Tests for and " +"improved standard conformance." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:51 +msgid "Some miscellaneous fixes and improvements:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:53 +msgid "" +"[#208](https://github.com/fortran-lang/stdlib/pull/208) Fixes to support " +"Intel Fortran compilers" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:55 +msgid "" +"[#210](https://github.com/fortran-lang/stdlib/pull/210) Fixes to support " +"NAG compiler" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:57 +msgid "" +"[#207](https://github.com/fortran-lang/stdlib/pull/207) " +"[#211](https://github.com/fortran-lang/stdlib/pull/211) Other minor fixes" +" and improvements" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:61 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:51 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:47 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:63 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:67 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:99 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:96 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:81 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:102 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:94 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:94 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:116 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:137 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:108 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:158 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:102 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:108 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:135 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:88 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:82 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:96 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:114 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:104 +msgid "Fortran Package Manager" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:63 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:53 +msgid "What's new in fpm:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:65 +msgid "" +"[#99](https://github.com/fortran-lang/fpm/pull/99) fpm now lets you " +"specify a custom build script or a Makefile to use. This will help " +"building packages that use a custom structure and/or external " +"dependencies in other languages." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:69 +msgid "" +"[#89](https://github.com/fortran-lang/fpm/pull/89) Allow specifying " +"specific tests or executables to run via command-line arguments." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:71 +msgid "" +"[#85](https://github.com/fortran-lang/fpm/pull/85) Enables having " +"specific dependencies for tests and executables." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:73 +msgid "" +"[#97](https://github.com/fortran-lang/fpm/pull/97) " +"[#100](https://github.com/fortran-lang/fpm/pull/100) " +"[#101](https://github.com/fortran-lang/fpm/pull/101) Minor improvements " +"to the README." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:92 +msgid "" +"We had our second Fortran Monthly call on June 19. You can read watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:97 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:153 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:148 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:183 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:176 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:170 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:222 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:186 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:185 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:287 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:224 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:183 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:199 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:221 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:293 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:307 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:249 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:244 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:300 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:263 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:279 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:254 +msgid "" +"As usual, subscribe to the [mailing list](https://groups.io/g/fortran-" +"lang) and/or join the [Discourse](https://fortran-lang.discourse.group) " +"to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:100 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today " +"(July 2), with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:106 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:159 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:109 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:162 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:156 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:191 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:110 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:163 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:157 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:192 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:111 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:164 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:159 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:194 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:112 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:165 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:161 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:196 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:9 +msgid "" +"Welcome to the August 2020 edition of the monthly Fortran newsletter. The" +" newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:17 +msgid "We continued the work on the Fortran-lang website, including:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:19 +msgid "" +"[#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): " +"updates to the Quickstart tutorial on loop control and syntax" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:21 +msgid "" +"[#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): " +"updated the [Book section](https://fortran-lang.org/learn/) with a " +"comprehensive list of books about Fortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:25 +msgid "" +"[#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), " +"[#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), " +"[#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), " +"[#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): " +"additional packages added to the Fortran-lang.org [packages](https" +"://fortran-lang.org/packages) page" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:29 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:43 +msgid "" +"[#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of" +" the Fortran Standard Library has been modified for clarity and ease of " +"use. With these changes, both experimental and stable procedures will " +"reside together in the same modules. The status of the procedures " +"(experimental vs stable) are documented in the code, in the specs, and in" +" the [API docs](https://stdlib.fortran-lang.org/)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:45 +msgid "Main ongoing discussions:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:46 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:47 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:48 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:39 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:55 +msgid "" +"[#221](https://github.com/fortran-lang/stdlib/issues/221): API for a " +"bitset data type" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:49 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:40 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:56 +msgid "" +"[#201](https://github.com/fortran-lang/stdlib/issues/201): API for file " +"system operations" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:54 +msgid "" +"We created the [fpm-registry](https://github.com/fortran-lang/fpm-" +"registry) repository, which serves as a registry of fpm-enabled Fortran " +"packages. Please see the README there to learn how to contribute a " +"package. For now, the registry is simply a list of fpm-enabled Fortran " +"packages that you can use as a dependency in your `fpm.toml` file. Soon, " +"this registry will be used to generate detailed metadata that will be " +"used by fpm to allow you to search for packages from the command-line, " +"e.g. `fpm search ` or similar." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:59 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the " +"design of the new Fortran implementation of fpm in a video call. We " +"agreed on the need for an intermediate package model which will allow for" +" clean separation of fpm frontends (user interface, parsing, and " +"semantics) and fpm backends (fpm itself, CMake, Make, etc.)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:60 +msgid "" +"[#131](https://github.com/fortran-lang/fpm/pull/131), " +"[#132](https://github.com/fortran-lang/fpm/pull/132), " +"[#139](https://github.com/fortran-lang/fpm/pull/139), " +"[#140](https://github.com/fortran-lang/fpm/pull/140), " +"[#142](https://github.com/fortran-lang/fpm/pull/142), " +"[#145](https://github.com/fortran-lang/fpm/pull/145), " +"[#147](https://github.com/fortran-lang/fpm/pull/147), " +"[#148](https://github.com/fortran-lang/fpm/pull/148), " +"[#151](https://github.com/fortran-lang/fpm/pull/151): We merged several " +"pull requests toward the Fortran fpm implementation. The Haskell " +"implementation has moved to the `fpm/bootstrap` directory, and the " +"Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of " +"course, an fpm package itself so it can be built by the Haskell fpm. " +"Soon, it will be able to be build by itself." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:83 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:66 +msgid "Fortran benchmarks" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:85 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:68 +msgid "" +"We created the [benchmarks repository](https://github.com/fortran-" +"lang/benchmarks) with the goal to design and implement a comprehensive " +"set of benchmarks. The benchmarks will aim to compare the performance of " +"various Fortran compilers, as well as the performance of canonical " +"algorithms implemented in Fortran and different languages. If you'd like " +"to contribute in any way, be it the design, implementation, or testing of" +" benchmarks, please join the ongoing discussion [here](https://github.com" +"/fortran-lang/benchmarks/issues)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:89 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:84 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:106 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:103 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:110 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:188 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:136 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:170 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:151 +msgid "Classic Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:91 +msgid "" +"We've begun to evaluate pull requests and merge them into the original " +"Flang compiler again. There is now a biweekly call to discuss issues and " +"plans for Classic Flang. The next call will be Wednesday, August 12, 8:30" +" AM Pacific time. The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:97 +msgid "" +"In the last call, AMD reviewed their outstanding pull requests for " +"Fortran debug metadata enhancements." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:100 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:100 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:131 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:125 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:134 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:196 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:156 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:196 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:162 +msgid "LLVM Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other test suites that use F77." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:106 +msgid "" +"We cominue upstreaming the lowering code from the fir-dev fork (MLIR-" +"based Fortran IR) into the llvm-project repository. Arm is working on " +"changes to support a driver program to replace the throwaway driver we " +"currently have." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:110 +msgid "" +"AMD has been contributing parser and semantic processing for OpenMP " +"constructs like task wait, barrier and parallel constructs." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:113 +msgid "" +"Changes have been made to default parse/unparse/compile processing to " +"default to gfortran (not NVIDIA Fortran)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:116 +msgid "Valentin Clement has been committing initial changes for OpenACC support." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:119 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:118 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:152 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:148 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:129 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:235 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:204 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:134 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:168 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:182 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:211 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:267 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:218 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:214 +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:131 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:269 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:196 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:251 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:237 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:236 +msgid "LFortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:121 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:120 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:154 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:150 +msgid "What's new in LFortran:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:123 +msgid "" +"The initial prototype C++ backend can translate Fortran's `do concurrent`" +" to C++'s `Kokkos::parallel_for`: " +"[https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:124 +msgid "" +"LFortran has a Twitter account for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:125 +msgid "" +"Work is progressing on the production version of LFortran that is written" +" in C++" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:126 +msgid "" +"22 Merge Requests were merged and 4 issues fixed in July 2020. Some " +"notable ones:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:127 +msgid "" +"[#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement " +"basic Fortran to C++ translation backend" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:128 +msgid "" +"[!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make " +"simple calculations work via LLVM in interactive mode" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:129 +msgid "" +"[!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build " +"ASR (Abstract Semantic Representation) properly for subroutines and " +"functions" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:131 +msgid "" +"The short term goal is to get the C++ based production version of " +"LFortran matching most of the features from the Python prototype version " +"and make a public release. The long term goal is to build a modern " +"Fortran compiler that works with any production code and allows it to run" +" efficiently on modern hardware (CPUs and GPUs), both interactively and " +"compiling to binaries, and provide the basis for other tools such as the " +"Fortran to C++ translation, editor support, automatic documentation " +"generation (and doctesting like in Python), automatic formatting and " +"others." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:142 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 " +"- 4. with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +" All presentations have been recorded and will be soon made available " +"online by the FortranCon organizers." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:148 +msgid "" +"We had our third Fortran Monthly call on July 16. You can read watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:9 +msgid "" +"Welcome to the September 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:17 +msgid "We continued the work on the Fortran-lang website, specifically:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:19 +msgid "" +"[#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): " +"Listing fpm packages on the Packages page of the website" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:34 +msgid "" +"There hasn't been new stdlib development in August, however ongoing work " +"and discussions continue:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:36 +msgid "" +"[#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal " +"for logging facilities in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:37 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:53 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:38 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:54 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:42 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:58 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:62 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:58 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:94 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:91 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:76 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:97 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:89 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:89 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:111 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:132 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:103 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:153 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:97 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:103 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:130 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:83 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:77 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:91 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:109 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:99 +msgid "" +"The candidate for file system operations to be included in stdlib is " +"being developed by [@MarDiehl](https://github.com/MarDiehl) and " +"[@arjenmarkus](https://github.com/arjenmarkus) in [this " +"repository](https://github.com/MarDiehl/stdlib_os). Please try it out and" +" let us know how it works, if there are any issues, or if the API can be " +"improved." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:49 +msgid "Ongoing work in fpm:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:51 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): " +"Implementing internal dependencies and build backend in the Fortran fpm" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:54 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:91 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:89 +msgid "" +"fpm is still in early development and we need as much help as we can get." +" Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:59 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:96 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:94 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:101 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:179 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:127 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:120 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:161 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:142 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:124 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:158 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:173 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:144 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:209 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:138 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:153 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:166 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:144 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:125 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:137 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:155 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:139 +msgid "" +"Adapt your Fortran package for fpm and submit it to the " +"[Registry](https://github.com/fortran-lang/fpm-registry)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:72 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:104 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:101 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:108 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:186 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:134 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:127 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:168 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:149 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:131 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:165 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:180 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:178 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:217 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:146 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:161 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:173 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:151 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:132 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:144 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:162 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:146 +msgid "Compilers" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:74 +msgid "GFortran" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:76 +msgid "" +"GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed " +"include PR94361, a memory leak with finalizers." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:79 +msgid "" +"The development version of `gfortran` now supports the full OpenMP 4.5 " +"specification. This will be released with GCC 11, but of course people " +"can already download and test it." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:86 +msgid "" +"We're evaluating pull requests and merging them into the original Flang " +"compiler again. We pulled in 4 changes in the past couple of weeks, and " +"expect to merge in a few more each week. One upcoming change is the " +"support for LLVM 10, which requires the use of a new fork, the _classic-" +"flang-llvm-project_ fork of the LLVM monorepo. See " +"[PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:94 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other F77 test suites (and the F77 parts" +" of non-F77 suites)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:107 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs. We continue to work on refactoring necessary to upstream this " +"fork into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:112 +msgid "" +"Arm is working on changes to support a driver program to replace the " +"temporary driver we currently use." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:115 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:142 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:122 +msgid "143 Merge Requests were merged and 22 issues fixed in August 2020" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:123 +msgid "" +"The C++ backend can now translate to C++ and compile many simple Fortran " +"programs" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:124 +msgid "" +"The parser can now parse a large subset of Fortran (if you find something" +" that cannot be parsed, please " +"[report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all " +"the information is yet represented in the AST (so later stages of the " +"compiler also work on a smaller subset), but one should not get parse " +"errors anymore for most valid codes." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:128 +msgid "" +"Initial `lfortran fmt` subcommand for formatting Fortran files, you can " +"provide feedback [here](https://fortran-lang.discourse.group/t/feedback-" +"for-lfortran-fmt-to-format-fortran-source-code/281)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:131 +msgid "A new command `lfortran kernel` can run LFortran as a Jupyter kernel." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:132 +msgid "" +"LFortran itself gives a nice Python like stacktrace (on Linux and macOS) " +"in Debug mode when an unhandled excetion happens or a segfault." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:135 +msgid "" +"Our goal for September is to get LFortran working for a much larger " +"subset of Fortran and allow it to compile and run via the C++ translation" +" backend (the LLVM backend will follow soon after)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:139 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:174 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:164 +msgid "" +"You can follow LFortran on Twitter for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:143 +msgid "" +"We had our fourth Fortran Monthly call on August 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:153 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:188 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:181 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:175 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:232 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:191 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:190 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:292 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:229 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:188 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:204 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:226 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:298 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:312 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:254 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:249 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:305 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:268 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:284 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:259 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:381 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:487 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of these repositories:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:158 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:193 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)," +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:160 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:195 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)," +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:9 +msgid "" +"Welcome to the October 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:17 +msgid "This month we've had only one minor change to the website:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:19 +msgid "" +"[#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): Small " +"fix in the opening sentence on the compilers page" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:34 +msgid "" +"This month we've had an improvement to the `stdlib_ascii` module, as well" +" as addition of logging facilities." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:37 +msgid "" +"[#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to " +"the `stdlib_stats` module by adding explicit conversions." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:38 +msgid "" +"[#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation " +"of the `stdlib_logger` module. It provides a global logger instance for " +"easy use in user applications, as well as a `logger_type` derived type if" +" multiple concurrent loggers are needed. See the [logger " +"specification](https://stdlib.fortran-" +"lang.org/page/specs/stdlib_logger.html) to learn more." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:44 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:85 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:80 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:46 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:84 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:163 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:55 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:109 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:57 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:96 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:144 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:55 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:119 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:55 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:103 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:143 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:83 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:154 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:38 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:123 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:24 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:56 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:113 +msgid "Work in progress:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:46 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:51 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of the `stdlib_bitsets` module. It provides a bitset data type." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:47 +msgid "" +"[#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to " +"the `stdlib_ascii` module" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:51 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:53 +msgid "Otherwise, ongoing discussions continue:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:65 +msgid "" +"This month has seen over a dozen additions and improvements to the " +"Fortran implementation of fpm:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:67 +msgid "" +"[#186](https://github.com/fortran-lang/fpm/issues/186): Implement version" +" string validation and comparison" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:68 +msgid "[#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:69 +msgid "" +"[#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to " +"further development of subcommands" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:70 +msgid "" +"[#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source " +"discovery" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:71 +msgid "" +"[#178](https://github.com/fortran-lang/fpm/issues/178): Add more example " +"packages" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:72 +msgid "" +"[#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective " +"testing of single suites and tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:73 +msgid "" +"[#175](https://github.com/fortran-lang/fpm/issues/175): Updated " +"formatting of Markdown documents" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:74 +msgid "" +"[#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell " +"Stack build in CI" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:75 +msgid "" +"[#171](https://github.com/fortran-lang/fpm/issues/171): Increase test " +"coverage of fpm manifest" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:76 +msgid "" +"[#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing " +"tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:77 +msgid "" +"[#163](https://github.com/fortran-lang/fpm/issues/163): Use different " +"strategy to fetch git dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:78 +msgid "" +"[#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type " +"identification" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:79 +msgid "" +"[#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing " +"guidelines (you can read them [here](https://github.com/fortran-" +"lang/fpm/CONTRIBUTING.md))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:81 +msgid "" +"[#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading" +" of fpm.toml" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:82 +msgid "" +"[#155](https://github.com/fortran-lang/fpm/issues/155): Internal " +"dependencies and build backend" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:87 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path " +"dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:88 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto " +"discovery of executables" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:89 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement " +"`fpm new`" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:108 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in the past month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:111 +msgid "" +"One important merge was support for LLVM 10, which required the use of a " +"new fork, the _classic-flang-llvm-project_ fork of the LLVM monorepo. See" +" [PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:117 +msgid "Other recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:118 +msgid "" +"[PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-" +"compiler/flang/pull/658)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:119 +msgid "" +"[PR#737: TRAILZ function added to the fortran " +"compiler](https://github.com/flang-compiler/flang/pull/737)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:120 +msgid "" +"[PR#756: Fix ICE interf:new_symbol_and_link symbol not " +"found](https://github.com/flang-compiler/flang/pull/756)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:121 +msgid "" +"[PR#888: flang gen-exec does not show routine variables with parameter " +"attribute; there are multiple pull requests that this includes (details " +"below)](https://github.com/flang-compiler/flang/pull/888)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:122 +msgid "" +"[PR#916: Fix off-by-one error in minimum integers](https://github.com" +"/flang-compiler/flang/pull/916)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:123 +msgid "" +"[PR#921: Correction of representation of string (character type) " +"constants](https://github.com/flang-compiler/flang/pull/921)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:125 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, October 7 and 21, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:133 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:136 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS). We " +"continue to work on refactoring necessary to upstream the _fir-dev_ fork " +"into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:142 +msgid "Arm has contributed changes toward a full-fledged driver for flang." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:144 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:140 +msgid "AMD continues to add support for OpenMP semantics and lowering." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:146 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support. This will be the topic of the next Flang Technical " +"Community call on Monday, October 5, 8:30 AM Pacific Time." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:150 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:156 +msgid "59 Merge Requests were merged and 3 issues fixed in September 2020" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:157 +msgid "" +"The FortranCon 2020 LFortran video now " +"[available](https://www.youtube.com/watch?v=tW9tUxVMnzc)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:158 +msgid "" +"LFortran, now imlemented in C++, has surpassed the Python prototype from " +"a year ago" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:160 +msgid "The Jupyter notebook now works as it used to with the Python prototype" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:161 +msgid "" +"A new notebook added showcasing how to visualize AST, ASR and C++ " +"translation in Jupyter " +"([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:163 +msgid "" +"X86 backend to generate direct x86-32 machine code (very fast compilation" +" in Debug mode)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:165 +msgid "Further parser improvements" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:166 +msgid "Initial Fortran modules support" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:167 +msgid "" +"Initial support for using GFortran modules " +"([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:169 +msgid "" +"Better compiler error messages " +"([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:171 +msgid "" +"The interactive prompt (REPL) now understands arrow keys " +"([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:178 +msgid "" +"We had our fourth Fortran Monthly call on September 25. You can watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:9 +msgid "" +"Welcome to the November 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:17 +msgid "This month we've had a few additions and improvements to the website:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:19 +msgid "" +"[#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): New " +"mini-book on setting up the Fortran development environment. You can read" +" it [here](https://fortran-lang.org/learn/os_setup)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:22 +msgid "" +"[#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): " +"Automated posting to @fortranlang Twitter using twitter-together." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:24 +msgid "" +"[#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): Fix " +"for a security vulnerability reported by the GitHub Security Team." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:26 +msgid "" +"The following packages were added to the [Package Index](https://fortran-" +"lang.org/packages): atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, " +"fypp, HANDE, libmbd, libnegf, mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT," +" QMD-PROGRESS, scalapackfx, tapenade, wannier90, and xtb." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:31 +msgid "" +"[#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), " +"[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), " +"[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), " +"[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): Minor " +"fixes and improvements." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:39 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:28 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): " +"In-depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:41 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): " +"Updating the mini-book on building programs." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:49 +msgid "This month progress was made on a few pull requests:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:52 +msgid "" +"[#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation " +"of the `stdlib_stats_distribution` module. It provides probability " +"distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:53 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to" +" support newline characters in the message provided to the logger." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:55 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:51 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:74 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:71 +msgid "Don't hesitate to test and review these pull requests!" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:57 +msgid "Otherwise, ongoing discussions continue;" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:58 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/pull/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:59 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/pull/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:69 +msgid "What's new:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:71 +msgid "" +"[#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm " +"submodule support" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:72 +msgid "" +"[#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to " +"`list_files` and `mkdir` in `fpm_filesystem`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:73 +msgid "" +"[#206](https://github.com/fortran-lang/fpm/issues/206): Add installation " +"script in `install.sh`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:74 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote " +"package dependencies (Fortran fpm can now build itself)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:75 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of" +" executables" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:76 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189), " +"[#204](https://github.com/fortran-lang/fpm/issues/204), " +"[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm " +"new` in Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:82 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:86 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:165 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:111 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:98 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:146 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:121 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:105 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:145 +msgid "" +"[First beta release](https://github.com/fortran-lang/fpm/milestone/1) " +"(WIP): First feature-complete release of the Fortran implementation." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:83 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and " +"executable runner options" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:84 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler " +"and flags" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:85 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove " +"bashism from install.sh" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:86 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add " +"automatic documentation for Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:87 +msgid "" +"[#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create " +"package manifest with toml-f build interface" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:97 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:104 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:182 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:130 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:123 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:164 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:145 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:127 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:161 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:176 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:147 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:212 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:141 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:156 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:169 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:147 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:128 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:140 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:158 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:142 +msgid "" +"The short-term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:105 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in October." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:108 +msgid "Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:109 +msgid "" +"[PR#660: Enable support for simd directives](https://github.com/flang-" +"compiler/flang/pull/660)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:110 +msgid "" +"[PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug " +"metadata](https://github.com/flang-compiler/flang/pull/878)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:111 +msgid "" +"[PR#910: Fix f90_correct tests](https://github.com/flang-" +"compiler/flang/pull/910)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:112 +msgid "" +"[PR#922: Fix private flag overwrite in " +"find_def_in_most_recent_scope()](https://github.com/flang-" +"compiler/flang/pull/922)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:113 +msgid "" +"[PR#927: f90_correct: exclude tests failing with LLVM 10 on " +"OpenPOWER](https://github.com/flang-compiler/flang/pull/927)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:114 +msgid "" +"[PR#930: Fix HTML docs generation](https://github.com/flang-" +"compiler/flang/pull/930)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:115 +msgid "" +"[PR#931: [flang2] Fix segmentation faults (#421)](https://github.com" +"/flang-compiler/flang/pull/931)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:116 +msgid "" +"[PR#932: [flang1] Do not assume unempty derived types](https://github.com" +"/flang-compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:117 +msgid "" +"[PR#938: [flang2] Fixing possible crash due to ivl being NULL in " +"dinit.cpp](https://github.com/flang-compiler/flang/pull/938)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:119 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, November 4 and 18, 8:00 AM Pacific time (note " +"the time change). The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:127 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:129 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:138 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:133 +msgid "" +"Pat McCormick is working on an RFC for the merge of the lowering code in " +"the fir-dev fork into LLVM master. The goal is to expedite this in a way " +"that is acceptable to the Flang community, so we can do further work in " +"the single master branch." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:138 +msgid "" +"Arm continues to contribute changes toward a full-fledged driver for " +"flang." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:145 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC to the point that he can build and test Flang on Windows." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:152 +msgid "9 Merge Requests were merged and 5 issues fixed in October 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:153 +msgid "" +"We gave LFortran " +"[talk](https://cfp.jupytercon.com/2020/schedule/presentation/169" +"/lfortran-interactive-llvm-based-fortran-compiler-for-modern-" +"architectures/) at JupyterCon 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:156 +msgid "" +"A prototype compiler implementation of conditional expressions for the " +"October 2020 Fortran Standards Committee meeting " +"([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:159 +msgid "Better code formatting support (`lfortran fmt`)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:160 +msgid "Improvements to AST" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:161 +msgid "" +"Capture stdout on Windows in a Jupyter notebook " +"([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:168 +msgid "" +"The US Fortran Standards Committee held a virtual meeting from October " +"12-14. You can read the summary and the discussion " +"[here](https://github.com/j3-fortran/fortran_proposals/issues/185) and " +"all the documents [here](https://j3-fortran.org/doc/meeting/222)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:171 +msgid "" +"We had our 5th Fortran Monthly call on October 27. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:184 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:178 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:235 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:194 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:193 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:295 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:232 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:191 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:207 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:229 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:301 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:315 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:257 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:252 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:308 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:271 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:287 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:262 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:490 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:185 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:179 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:236 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:196 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:195 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:297 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:234 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:193 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:209 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:231 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:303 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:317 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:259 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:254 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:310 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:273 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:289 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:264 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:386 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:492 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:186 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:180 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:237 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:197 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:196 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:298 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:235 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:194 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:210 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:232 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:304 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:318 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:260 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:255 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:311 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:274 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:290 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:265 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:387 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:493 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:187 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:181 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:239 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:199 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:198 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:301 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:238 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:197 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:213 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:235 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:307 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:321 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:263 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:258 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:315 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:278 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:294 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:269 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:391 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:497 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:188 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:182 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:240 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:200 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:199 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:302 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:239 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:198 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:214 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:236 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:308 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:322 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:264 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:259 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:316 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:279 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:295 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:270 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:498 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:189 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:183 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:241 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:9 +msgid "" +"Welcome to the December 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:17 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:18 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:17 +msgid "This month we've had a few updates to the website:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:19 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): " +"Updates to the mini-book on building Fortran programs, including the " +"addition of short guides on Meson and CMake. You can read the mini-book " +"[here](https://fortran-lang.org/learn/building_programs)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:23 +msgid "" +"[#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): Add " +"PSBLAS to the package index." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:36 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:49 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:36 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:46 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:47 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:38 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:42 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:46 +msgid "Here's what's new in `stdlib`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:38 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of bitsets in `stdlib_bitsets`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:39 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243), " +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#252](https://github.com/fortran-lang/stdlib/pull/253), " +"[#255](https://github.com/fortran-lang/stdlib/pull/255): Various " +"improvements to `stdlib_logger`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:43 +msgid "" +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to " +"the CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:48 +msgid "" +"(WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): " +"Implementation of the `stdlib_stats_distribution` module. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:49 +msgid "" +"(WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:54 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/issues/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:55 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/issues/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:56 +msgid "" +"[#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to" +" add a logger for debug phases and levels among the different logs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:65 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:101 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:98 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:83 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:104 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:96 +msgid "Here's what's new in `fpm`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:67 +msgid "" +"[#259](https://github.com/fortran-lang/fpm/pull/259): Update the " +"instructions for building from source in README.md." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:68 +msgid "" +"[#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary " +"releases in CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:69 +msgid "" +"[#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with " +"external libraries." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:70 +msgid "" +"[#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference " +"document for the package manifest (fpm.toml)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:71 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/pull/221), " +"[#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for " +"test and app executables." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:73 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler " +"and flags settings in Haskell fpm." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:74 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/pull/209): " +"[#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:76 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/pull/216), " +"[#225](https://github.com/fortran-lang/fpm/pull/225), " +"[#226](https://github.com/fortran-lang/fpm/pull/226), " +"[#229](https://github.com/fortran-lang/fpm/pull/229), " +"[#236](https://github.com/fortran-lang/fpm/pull/236), " +"[#240](https://github.com/fortran-lang/fpm/pull/240), " +"[#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and " +"improvements." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:87 +msgid "" +"(WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261): Specification of " +"the fpm CLI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:89 +msgid "" +"(WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the " +"`extra` section in fpm.toml." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:90 +msgid "" +"(WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor " +"backend for incremental rebuilds." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:91 +msgid "" +"(WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:92 +msgid "" +"(WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the " +"compiler and specifying test or app target." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:93 +msgid "" +"(WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement " +"`fpm install`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:94 +msgid "" +"(WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to " +"test release build." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:96 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:173 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:121 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:114 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:155 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:136 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:118 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:152 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:167 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:138 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:200 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:129 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:144 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:157 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:135 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:116 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:128 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:146 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:130 +msgid "" +"`fpm` is still in early development and we need as much help as we can " +"get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:99 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:176 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:124 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:117 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:158 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:139 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:121 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:155 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:170 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:141 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:203 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:112 +msgid "" +"We continue to evaluate and merge pull requests into Classic Flang. " +"Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:113 +msgid "" +"[PR#883: Flang generated executable does not show result variable of " +"function](https://github.com/flang-compiler/flang/pull/883)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:114 +msgid "" +"[PR#933: Updating X-flag entries for internal command line option \"-x " +"49\"](https://github.com/flang-compiler/flang/pull/933)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:115 +msgid "" +"[PR#939: Publish Arm's internal documentation](https://github.com/flang-" +"compiler/flang/pull/939)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:116 +msgid "" +"[PR#941: [DebugInfo] Internal subprogram variable is not accessible for " +"printing in gdb](https://github.com/flang-compiler/flang/pull/941)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:117 +msgid "" +"[PR#942: Implement UNROLL(n) directive](https://github.com/flang-" +"compiler/flang/pull/942)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:118 +msgid "" +"[PR#943: Enable github Actions for push to master and pull requests to " +"master](https://github.com/flang-compiler/flang/pull/943)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:119 +msgid "" +"[PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-" +"compiler/flang/pull/945)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:120 +msgid "" +"[PR#946: Call check_member() for PD_is_contiguous](https://github.com" +"/flang-compiler/flang/pull/946)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:121 +msgid "" +"[PR#951: Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:123 +msgid "Pull requests merged into the supporting projects:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:124 +msgid "" +"[classic flang LLVM monorepo PR#5: [Driver] Reduce downstream " +"delta](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/5)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:125 +msgid "" +"[classic flang LLVM monorepo PR#6: Removing a few CI " +"pipelines](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/6)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:126 +msgid "" +"[classic flang LLVM monorepo PR#7: Github Actions added to pre-compile " +"artifacts for flang](https://github.com/flang-compiler/classic-flang-" +"llvm-project/pull/7)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:127 +msgid "" +"[llvm mirror PR#87: Enable github actions for llvm](https://github.com" +"/flang-compiler/llvm/pull/87)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:128 +msgid "" +"[flang-driver PR#94: Enable github actions](https://github.com/flang-" +"compiler/flang-driver/pull/94)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:130 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes " +"from previous calls, upcoming agenda and a link to join the call can be " +"found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:136 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime. Significant contributions are being made for OpenMP and OpenACC " +"support." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:140 +msgid "" +"Pat McCormick is (still) working on an RFC for the merge of the lowering " +"code in the fir-dev fork into LLVM master. (This was interrupted by " +"Supercomputing 2020 and other ECP duties.) The goal is to expedite this " +"in a way that is acceptable to the Flang community, so we can do further " +"work in the single master branch." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:143 +msgid "Recent updates include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:144 +msgid "" +"Johannes Doerfert has created a web page at https://flang.llvm.org; you " +"can find call and Slack logistics there" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:145 +msgid "" +"Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-" +"tests project: http://lists.llvm.org/pipermail/llvm-" +"dev/2020-November/146873.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:146 +msgid "" +"Andzrej Warzynski has a flang-dev RFC regarding flang option names: " +"http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:147 +msgid "" +"Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help " +"flang driver become independent of clang: http://lists.llvm.org/pipermail" +"/cfe-dev/2020-November/067263.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:148 +msgid "" +"Changed representation of CHARACTER data in type system to make more " +"consistent with other types (for arrays)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:149 +msgid "" +"Changed COMPLEX expression representation to provide better handling in " +"lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:150 +msgid "More improvements for supporting Fortran 77 programs" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:151 +msgid "Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:152 +msgid "" +"Continued implementation of table-driven runtime for derived types; " +"posted documentation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:153 +msgid "Continued implementation of array expression lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:154 +msgid "Improved error checks on forward references" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:155 +msgid "" +"More updates to flang driver (option handling; -E can now be used to " +"invoke just the Flang preprocessor)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:156 +msgid "OpenACC semantic checks for modifiers on enter/exit data, set directives" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:157 +msgid "" +"OpenACC lowering (enter/exit data, update, init, shutdown, wait " +"directives)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:158 +msgid "" +"OpenMP structure checker updates; semantic checks for copyin clause; " +"schedule class" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:163 +msgid "" +"Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be " +"the new Chair of PL22.3 (J3, US Standards Committee). Brian will serve in" +" his first term until November 2023. Congratulations, Brian!" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:165 +msgid "" +"We had our 6th Fortran Monthly call on November 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:9 +msgid "" +"Happy New Year! Welcome to the January 2021 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:20 +msgid "" +"[#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), " +"[#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): Fix " +"build preview" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:23 +msgid "" +"[#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): Fix " +"word spelling error in quickstart page" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:25 +msgid "" +"[#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), " +"[#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), " +"[#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): Add " +"missing packages from the list of popular Fortran projects to the package" +" index" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:29 +msgid "" +"[#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): Update" +" compilers page following Intel oneAPI release" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:31 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), " +"[#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): In-" +"depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:37 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:26 +msgid "" +"[#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): " +"Correct compiler page and tutorial regarding Intel oneAPI and PGI to " +"NVIDIA" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:39 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:28 +msgid "" +"[#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) " +"(WIP): We are searching for a representative Fortran code snippet for the" +" website and are looking forward to suggestions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:41 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): " +"Add links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:51 +msgid "" +"[#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method " +"`log_debug` to `stdlib_logger`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:52 +msgid "" +"[#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake " +"check for F18 error stop" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:53 +msgid "" +"[#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI" +" Fortran compiler to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:54 +msgid "" +"[#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level " +"option to ignore logging messages" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:55 +msgid "" +"[#263](https://github.com/fortran-lang/stdlib/pull/263), " +"[#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to " +"CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:57 +msgid "" +"[#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 " +"to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:58 +msgid "" +"[#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 " +"systems to Windows CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:59 +msgid "" +"[#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about" +" memory issues when compiling stdlib with the support of arrays to up 15 " +"ranks" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:60 +msgid "" +"[#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the " +"compilation load by splitting submodules" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:65 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:59 +msgid "" +"[#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:66 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:61 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), " +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:71 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required " +"changes to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:72 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:68 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:61 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:57 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:83 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:76 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:73 +msgid "" +"Otherwise, ongoing discussions continue about usability of `stdlib` " +"([#7](https://github.com/fortran-lang/stdlib/issues/7), " +"[#215](https://github.com/fortran-lang/stdlib/issues/215), " +"[#279](https://github.com/fortran-lang/stdlib/issues/279), " +"[#280](https://github.com/fortran-lang/stdlib/issues/280), " +"[#285](https://github.com/fortran-lang/stdlib/issues/285)), and new " +"implementations for `stdlib` ([#135](https://github.com/fortran-" +"lang/stdlib/issues/135), [#212](https://github.com/fortran-" +"lang/stdlib/issues/212), [#234](https://github.com/fortran-" +"lang/stdlib/issues/234), [#241](https://github.com/fortran-" +"lang/stdlib/issues/241), [#258](https://github.com/fortran-" +"lang/stdlib/issues/258), [#259](https://github.com/fortran-" +"lang/stdlib/issues/259), [#262](https://github.com/fortran-" +"lang/stdlib/issues/262), [#268](https://github.com/fortran-" +"lang/stdlib/issues/268), [#277](https://github.com/fortran-" +"lang/stdlib/issues/277))." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:103 +msgid "" +"[Alpha release version 0.1.3](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.1.3)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:104 +msgid "" +"[setup-fpm action](https://github.com/marketplace/actions/setup-fpm): " +"GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and " +"Windows runners" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:106 +msgid "" +"[Discussion board](https://github.com/fortran-lang/fpm/discussions): For " +"questions & answers, sharing of ideas, showing off projects and, of " +"course, discussions around fpm" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:108 +msgid "" +"[#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend " +"for incremental rebuilds" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:110 +msgid "" +"[#266](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management and `fpm update` subcommand" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:112 +msgid "" +"[#255](https://github.com/fortran-lang/fpm/pull/255) Setting the compiler" +" and specifying test or app target" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:114 +msgid "" +"[#262](https://github.com/fortran-lang/fpm/pull/262): Add " +"-fcoarray=single to default gfortran flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:116 +msgid "" +"[#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm " +"install`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:118 +msgid "" +"[#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test " +"release build" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:120 +msgid "" +"[#267](https://github.com/fortran-lang/fpm/pull/267): Fix enumeration of " +"non-library link objects" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:122 +msgid "" +"[#268](https://github.com/fortran-lang/fpm/pull/268): Fix dependency " +"tracking issue in bootstrap version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:124 +msgid "" +"[#271](https://github.com/fortran-lang/fpm/pull/271): Fix Windows run and" +" test commands" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:126 +msgid "" +"[#273](https://github.com/fortran-lang/fpm/pull/273): Update developer " +"documentation (manifest + command line)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:128 +msgid "" +"[#274](https://github.com/fortran-lang/fpm/pull/274): Update README with " +"link to setup-fpm github action." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:130 +msgid "" +"[#280](https://github.com/fortran-lang/fpm/pull/280): Create " +"specification for example section" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:132 +msgid "" +"[#281](https://github.com/fortran-lang/fpm/pull/281): Cleanup: Remove " +"archived Rust prototype" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:134 +msgid "" +"[#284](https://github.com/fortran-lang/fpm/pull/284): Document model and " +"backend for developers" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:136 +msgid "" +"[#285](https://github.com/fortran-lang/fpm/pull/285): CI: update naming " +"of release binaries" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:138 +msgid "" +"[#286](https://github.com/fortran-lang/fpm/pull/286): Implement check for" +" duplicated program names" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:140 +msgid "" +"[#289](https://github.com/fortran-lang/fpm/pull/289): Add support for " +"same compilers as Fortran version to Haskell version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:142 +msgid "" +"[#291](https://github.com/fortran-lang/fpm/pull/291): Initial " +"implementation of `fpm build --show-model`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:144 +msgid "" +"[#292](https://github.com/fortran-lang/fpm/pull/292): Specify the correct" +" help for `fpm run -h`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:146 +msgid "" +"[#293](https://github.com/fortran-lang/fpm/pull/293): Fix: missing error " +"check after `new_package` call" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:148 +msgid "" +"[#294](https://github.com/fortran-lang/fpm/pull/294): Add: support for " +"detecting .f and .F files" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:150 +msgid "" +"[#300](https://github.com/fortran-lang/fpm/pull/300): Remove " +"-coarray=single option from ifort compiler default options" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:152 +msgid "" +"[#303](https://github.com/fortran-lang/fpm/pull/303): Fixes to source " +"parsing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:154 +msgid "" +"[#304](https://github.com/fortran-lang/fpm/pull/304): Remove note on not " +"supported dependencies in program targets" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:156 +msgid "" +"[#307](https://github.com/fortran-lang/fpm/pull/307): Fix: program object" +" file collision" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:158 +msgid "" +"[#315](https://github.com/fortran-lang/fpm/pull/315): Remove: -ffast-math" +" in gfortran default release flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:160 +msgid "" +"[#322](https://github.com/fortran-lang/fpm/pull/322): Group sources by " +"package in the model" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:167 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:113 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Specification" +" of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:170 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:116 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): Update " +"subcommand \"new\" to reflect the addition of support for examples" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:177 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:125 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:118 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:159 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:140 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:122 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:156 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:171 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:142 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:207 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:136 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:151 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:164 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:142 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:123 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:135 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:153 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:137 +msgid "" +"Browse existing *fpm* packages on the [fortran-lang website](https" +"://fortran-lang.org/packages/fpm)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:190 +msgid "There are several pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:192 +msgid "Only one pull request was merged in December:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:194 +msgid "" +"[PR#951 Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:198 +msgid "" +"Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly " +"calls. An invitation was sent to the _flang-dev_ LLVM email list on " +"December 22nd. Call notes will be sent to the _flang-dev_ email list and " +"also recorded [here]( https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:202 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:158 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:198 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:164 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:182 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:221 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:150 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:165 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:177 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:155 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:136 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:148 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:166 +msgid "Recent development updates:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:204 +msgid "Semantic analysis fix for index-names of `FORALL` statements" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:205 +msgid "Continued work on parser support for `ALLOCATE`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:206 +msgid "Build tidying" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:207 +msgid "OpenMP semantic checks: atomic, flush" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:208 +msgid "Continued work on new driver" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:209 +msgid "Fix for list-directed REAL output editing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:210 +msgid "" +"Bug fixes: USE of USE of generic, crash in folding (#48437), crash in " +"OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:211 +msgid "Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:212 +msgid "" +"OpenACC: update serial construct clauses for 3.1, enforce restriction on " +"routine directive and clauses" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:213 +msgid "OpenMP: adding important clauses to OmpClause, task reduction clause" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:217 +msgid "" +"We had our 7th Fortran Monthly call on December 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:225 +msgid "" +"[Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the " +"Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and " +"the recent fortran-lang developments." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:228 +msgid "" +"[First year of Fortran-lang](https://medium.com/modern-fortran/first-" +"year-of-fortran-lang-d8796bfa0067) by Milan Curcic." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:238 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:198 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:197 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:299 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:236 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:195 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:211 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:233 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:305 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:319 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:261 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:256 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:313 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:276 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:292 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:267 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:389 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:495 +msgid "[fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:9 +msgid "" +"Welcome to the February 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:19 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): Add " +"links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:24 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): " +"Fix author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:38 +msgid "" +"[#303](https://github.com/fortran-lang/stdlib/pull/303), " +"[#301](https://github.com/fortran-lang/stdlib/pull/301), " +"[#294](https://github.com/fortran-lang/stdlib/pull/294): Fixes and " +"improvements for the manual Makefile build" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:42 +msgid "" +"[#293](https://github.com/fortran-lang/stdlib/pull/293): Write a more " +"verbose introduction to building stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:44 +msgid "" +"[#291](https://github.com/fortran-lang/stdlib/pull/291): Export package " +"files (CMake and pkg-config)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:46 +msgid "" +"[#290](https://github.com/fortran-lang/stdlib/pull/290): Rename CMake " +"project from stdlib to fortran\\_stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:48 +msgid "" +"[#288](https://github.com/fortran-lang/stdlib/pull/288): Follow GNU " +"install conventions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:50 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284): Required changes" +" to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:52 +msgid "" +"[CMake example](https://github.com/fortran-lang/stdlib-cmake-example): " +"Integration of the Fortran standard library in CMake projects" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:57 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): Add " +"supported compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:100 +msgid "" +"[#342](https://github.com/fortran-lang/fpm/pull/342): Fix broken link in " +"contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:102 +msgid "" +"[#337](https://github.com/fortran-lang/fpm/pull/337): Allow hyphens in " +"fpm project names in \"fpm new\"" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:104 +msgid "" +"[#335](https://github.com/fortran-lang/fpm/pull/335): Fix: performance " +"regression" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:106 +msgid "" +"[#334](https://github.com/fortran-lang/fpm/pull/334): Remove a name clash" +" in the fpm testsuite" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:118 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): Update: " +"fpm\\_backend with dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:138 +msgid "There are a number of pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:140 +msgid "A total of 12 pull requests were merged in January." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:142 +msgid "" +"[PR#932 Do not assume unempty derived types](https://github.com/flang-" +"compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:143 +msgid "" +"[PR#957 Support Prefetch Directive](https://github.com/flang-" +"compiler/flang/pull/957)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:144 +msgid "" +"[PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-" +"compiler/flang/pull/947)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:145 +msgid "" +"[PR#948 Expand CI to run with GCC-9/10 and " +"LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:146 +msgid "" +"[PR#949 USE rename should check if renamed sptr is available in the " +"scope](https://github.com/flang-compiler/flang/pull/949)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:147 +msgid "" +"[PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on " +"codegen](https://github.com/flang-compiler/flang/pull/971)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:148 +msgid "" +"[PR#940 Flang should generate debug location for limited instructions in " +"prolog](https://github.com/flang-compiler/flang/pull/940)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:149 +msgid "" +"[PR#977 Update apt data before installing sphinx](https://github.com" +"/flang-compiler/flang/pull/977)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:150 +msgid "" +"[PR#751 Fix for len intrinsic returning int*8 in some " +"cases](https://github.com/flang-compiler/flang/pull/751)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:151 +msgid "" +"[PR#956 Minor FileCheck pattern fixes](https://github.com/flang-" +"compiler/flang/pull/956)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:152 +msgid "" +"[PR#978 Fix the readme to point to the correct flang-dev " +"list](https://github.com/flang-compiler/flang/pull/978)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:153 +msgid "" +"[PR#979 Rename direct header to avoid windows " +"conflict](https://github.com/flang-compiler/flang/pull/979)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:160 +msgid "" +"OpenMP semantic checks: private, firstprivate, lastprivate, Workshare " +"Construct, `DO` loop restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:161 +msgid "Detect call to abstract interface" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:162 +msgid "" +"OpenMP - add task_reduction clause, make reduction clause part of " +"OmpClause" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:163 +msgid "" +"New Driver - adding support for various options, testing improvements, " +"standard macro pre-definitions, fixed-form detection, CMake improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:164 +msgid "OpenACC - semantic checks to enforce declare directive restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:165 +msgid "Internal subprogram improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:166 +msgid "" +"OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by " +"LabelEnforce" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:167 +msgid "Disallow `INTENT` attribute on procedure dummy arguments" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:168 +msgid "Module file improvements and bug fixes" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:169 +msgid "Add tests for procedure arguments with implicit interfaces" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:171 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:233 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:202 +msgid "" +"Call notes will be sent to the _flang-dev_ email list and also recorded " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:176 +msgid "" +"We had our 8th Fortran Monthly call on January 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:181 +msgid "" +"This year fortran-lang will be applying as a mentor organisation for " +"[Google Summer of Code](https://summerofcode.withgoogle.com/). We have " +"started working on the application and the project ideas; you can join " +"the ongoing discussion [here](https://fortran-lang.discourse.group/t" +"/google-summer-of-code-2021/658). If you'd like to help us flesh out the " +"ideas, or have a project idea of your own, please join our upcoming video" +" calls on February 9 and 16 (call info will be posted in the Discourse " +"thread), or write directly in the Discourse thread. If you're a student, " +"or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:195 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:194 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:296 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:233 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:192 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:208 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:230 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:302 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:316 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:258 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:253 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:309 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:272 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:288 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:263 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:385 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:491 +msgid "" +"[fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang" +"/stdlib-cmake-example)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:201 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:200 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:304 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:241 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:200 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:216 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:238 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:311 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:325 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:267 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:262 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:320 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:283 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:300 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:275 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:397 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:504 +msgid "[j3-fortran/fortran\\_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:9 +msgid "" +"Welcome to the March 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:17 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:17 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:17 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:17 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:17 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:17 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:17 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:17 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:18 +msgid "This month we've had several updates to the website:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:19 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): Fix " +"author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:21 +msgid "" +"[#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): Rename" +" all instances of fortran-lang.github.io to fortran-lang.org" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:23 +msgid "" +"[#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): Update" +" package index" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:25 +msgid "" +"[#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): Fix " +"broken link for LLVM flang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:27 +msgid "" +"[#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): Add " +"more electronic structure and atomistic simulation packages" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:29 +msgid "" +"[#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): Add " +"books to learning section" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:31 +msgid "" +"[#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): Fix " +"package information" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:36 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:37 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:28 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:34 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:30 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:31 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:26 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:38 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) " +"(WIP): Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:48 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271): Probability " +"Distribution and Statistical Functions--PRNG Module" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:50 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304): Add supported " +"compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:52 +msgid "" +"[#310](https://github.com/fortran-lang/stdlib/pull/310): Extend " +"`stdlib_ascii` module for handling character variables" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:54 +msgid "" +"[#324](https://github.com/fortran-lang/stdlib/pull/324): Install " +"setuptools for MinGW builds" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:61 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:63 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:59 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:77 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:67 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:69 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:65 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:75 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:69 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): Implement " +"non-fancy functional string type" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:71 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:71 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:67 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:73 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): Legendre " +"polynomials and Gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:74 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:95 +msgid "Please help improve stdlib by testing and reviewing these pull requests!" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:85 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316): Update subcommand " +"\"new\" to reflect the addition of support for the example/ directory" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:87 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345): Fpm backend with " +"dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:89 +msgid "" +"[#346](https://github.com/fortran-lang/fpm/pull/346): Include root dir in" +" path to default example setup" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:91 +msgid "" +"[#349](https://github.com/fortran-lang/fpm/pull/349): Suggest to move the" +" fpm version in the boostrapping process" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:93 +msgid "" +"[#372](https://github.com/fortran-lang/fpm/pull/372): Unify release mode " +"calling convention" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:100 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Document the " +"specification of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:103 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): Hacky fix for" +" the help test" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:105 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): Install " +"script for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:107 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:148 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:123 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:115 +msgid "" +"[#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): Plugin alpha " +"version" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:109 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): Separate " +"build targets from model structure" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:111 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:131 +msgid "" +"The LFortran team is excited to announce that LFortran is now a [NumFOCUS" +" sponsored project](https://numfocus.org/project/lfortran). Please " +"consider donating to LFortran to accelerate its development." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:133 +msgid "" +"4 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Rohit Goswami](https://rgoswami.me/), " +"[Ondřej Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:138 +msgid "Recent Merge Requests highlights:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:139 +msgid "" +"Complex type support (thanks to [Gagandeep " +"Singh](https://github.com/czgdp1807)): " +"[!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), " +"[!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), " +"[!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), " +"[!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), " +"[!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), " +"[!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). " +"[!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:147 +msgid "" +"Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): " +"[!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), " +"[!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), " +"[!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), " +"[!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:152 +msgid "" +"Initial support for runtime math functions: " +"[!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), " +"[!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673)," +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:155 +msgid "" +"[!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): " +"Implement --show-stacktrace" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:156 +msgid "" +"[!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): " +"Refactor ImplicitCast nodes handling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:158 +msgid "" +"[!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed " +"floating point printing" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:165 +msgid "" +"We had our 9th Fortran Monthly call on February 25. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:170 +msgid "" +"This year Fortran-lang applied as a mentor organization for [Google " +"Summer of Code](https://summerofcode.withgoogle.com/). Accepted mentor " +"organizations will be announced on March 9. If you're a student, or know " +"students who are [eligible to participate](https://developers.google.com" +"/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:174 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee is held virtually" +" from February 22 to March 2 (Monday and Tuesday only). Main topics of " +"dicussion are the planned changes for the Fortran 202X revision of the " +"Standard:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:179 +msgid "[List](https://j3-fortran.org/doc/meeting/223) of all submitted papers" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:180 +msgid "" +"[Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"which papers were discussed each day and voting results" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:182 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:279 +msgid "" +"If you have ideas for new improvements to the language, please propose " +"them [here](https://github.com/j3-fortran/fortran_proposals)." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:9 +msgid "" +"We are excited to announce that Fortran-lang has been accepted as a " +"[Google Summer of Code (GSoC) 2021 mentoring " +"organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)!" +" 🎉" +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:11 +msgid "" +"You can review our project ideas [here](https://github.com/fortran-lang" +"/fortran-lang.org/wiki/GSoC-2021-Project-ideas), and if you have any " +"ideas that are not mentioned, please let us know." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:15 +msgid "" +"We are looking for students to get in touch with us and to apply. Click " +"[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021" +"-Student-instructions) for instructions on how to do so." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:19 +msgid "" +"Our main communication channel will be the [Fortran Discourse](https" +"://fortran-lang.discourse.group/). There, we will announce a date for " +"GSoC video calls where all prospective students are welcome to join to " +"ask questions, discuss, and brainstorm ideas." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:23 +msgid "We look forward to a productive and fun Google Summer of Code!" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:9 +msgid "" +"Welcome to the April 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:19 +msgid "" +"[#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): " +"Correct value of pi in quickstart mini-book" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:21 +msgid "" +"[#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): Added " +"DelaunaySparse to package list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:23 +msgid "" +"[#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) " +"[#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): GSoC " +"announcement" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:26 +msgid "" +"[#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): Avoid " +"unclear formulation in contributing guide" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:28 +msgid "" +"[#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): Add " +"information about free compiler versions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:30 +msgid "" +"[#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): " +"Improve tags" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:32 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): " +"Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:39 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:49 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320): Implement non-" +"fancy functional string type" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:51 +msgid "" +"[#362](https://github.com/fortran-lang/stdlib/pull/362): Fix wording in " +"style guide for dimension attribute" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:53 +msgid "" +"[#352](https://github.com/fortran-lang/stdlib/pull/352): Added TOC to " +"README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:55 +msgid "" +"[#346](https://github.com/fortran-lang/stdlib/pull/346) " +"[#356](https://github.com/fortran-lang/stdlib/pull/356): Added " +"to\\_lower, to\\_upper, reverse and to\\_title function to " +"stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:73 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:69 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:71 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:89 +msgid "" +"[#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): Provide " +"abstract base class for a string object" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:75 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): Add " +"functions to convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:77 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): Implement " +"strip and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:79 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:71 +msgid "" +"[#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): Simplify " +"test makefile" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:81 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:73 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:87 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:113 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:85 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:134 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:81 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:88 +msgid "" +"[#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): Initial " +"checkin for a module for tolerant comparison of reals" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:83 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:75 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): Implement " +"clip function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:85 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:77 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): Add " +"general contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:87 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): Summarize " +"build toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:89 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:79 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:67 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Add sort " +"to stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:91 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:106 +msgid "" +"[Alpha release version 0.2.0](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.2.0)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:107 +msgid "" +"[Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-" +"feedstock)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:108 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352): Hacky fix for the " +"help test" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:110 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357): Install script for " +"Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:112 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369): Separate build " +"targets from model structure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:114 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:116 +msgid "" +"[#377](https://github.com/fortran-lang/fpm/pull/377): Add explicit " +"include-dir key to manifest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:118 +msgid "" +"[#378](https://github.com/fortran-lang/fpm/pull/378): Add ford-compatible" +" documentation to fpm\\_strings.f90" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:120 +msgid "" +"[#386](https://github.com/fortran-lang/fpm/pull/386): Replace deprecated " +"flags in debug\\_fortran option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:122 +msgid "" +"[#390](https://github.com/fortran-lang/fpm/pull/390) " +"[#407](https://github.com/fortran-lang/fpm/pull/407): Implement --flag " +"option for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:125 +msgid "" +"[#397](https://github.com/fortran-lang/fpm/pull/397): Add Conda install " +"instructions to the README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:127 +msgid "" +"[#398](https://github.com/fortran-lang/fpm/pull/398): Minor fix: for " +"setting executable link libraries" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:129 +msgid "" +"[#402](https://github.com/fortran-lang/fpm/pull/402): Add fpm description" +" and reorganize the README intro" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:131 +msgid "" +"[#404](https://github.com/fortran-lang/fpm/pull/404): Correct join for " +"null input" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:133 +msgid "" +"[#409](https://github.com/fortran-lang/fpm/pull/409): Give Programs " +"Access to Code in Subdirectories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:135 +msgid "" +"[#414](https://github.com/fortran-lang/fpm/pull/414): Add few important " +"links to README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:137 +msgid "" +"[#412](https://github.com/fortran-lang/fpm/pull/412): Duplicate module " +"definitions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:139 +msgid "" +"[#413](https://github.com/fortran-lang/fpm/pull/413): Add: omp\\_lib to " +"intrinsic modules list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:141 +msgid "" +"[#419](https://github.com/fortran-lang/fpm/pull/419): Split workflow for " +"Haskell and Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:150 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): Phase out " +"Haskell fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:152 +msgid "" +"[fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): " +"Separate repository for the Haskell fpm version" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:172 +msgid "A total of 10 pull requests were merged in February." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:174 +msgid "" +"[PR#996 tests: one test case supporting PR #966](https://github.com" +"/flang-compiler/flang/pull/996)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:175 +msgid "" +"[PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue" +" #673)](https://github.com/flang-compiler/flang/pull/968)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:176 +msgid "" +"[PR#955 Do not issue an error when character kind 2 is " +"used](https://github.com/flang-compiler/flang/pull/955)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:177 +msgid "" +"[PR#975 Add the option to build release_11x branch of llvm with Github " +"Actions](https://github.com/flang-compiler/flang/pull/975)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:178 +msgid "" +"[PR#974 Fix hash collision handling routine that didn't work due to a " +"fatal mistake (issue #960).](https://github.com/flang-" +"compiler/flang/pull/974)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:179 +msgid "" +"[PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-" +"compiler/flang/pull/1000)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:180 +msgid "" +"[PR#952 Array debugging support with upgraded " +"DISubrange](https://github.com/flang-compiler/flang/pull/952)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:181 +msgid "" +"[PR#1002 Fix for regression introduced by PR #922 (issue " +"#995)](https://github.com/flang-compiler/flang/pull/1002)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:182 +msgid "[PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:183 +msgid "" +"[PR#966 Fixes to address cp2k compilation and runtime " +"issues](https://github.com/flang-compiler/flang/pull/966)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:185 +msgid "A total of 8 pull requests were merged in March." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:187 +msgid "" +"[PR#963 Fix errors on array initialisation with an implied do " +"loop](https://github.com/flang-compiler/flang/pull/963)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:188 +msgid "" +"[PR#1007 fix for issue #1006: stop passing unused uninitialized " +"value](https://github.com/flang-compiler/flang/pull/1007)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:189 +msgid "" +"[PR#1004 Nested implied do loop fix for real numbers](https://github.com" +"/flang-compiler/flang/pull/1004)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:190 +msgid "" +"[PR#710 Test case for capturing procedure pointers to OpenMP parallel " +"regions](https://github.com/flang-compiler/flang/pull/710)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:191 +msgid "" +"[PR#561 flang2: corrected fix for #424](https://github.com/flang-" +"compiler/flang/pull/561)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:192 +msgid "" +"[PR#778 Fixing NCAR test problems with error tolerance lower than " +"E-12.](https://github.com/flang-compiler/flang/pull/778)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:193 +msgid "" +"[PR#1010 LLVM 12 upgrade](https://github.com/flang-" +"compiler/flang/pull/1010)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:194 +msgid "" +"[PR#1012 Remove release_90 from Github Actions](https://github.com/flang-" +"compiler/flang/pull/1012)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:200 +msgid "New Driver:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:201 +msgid "Add options for -fdefault\\* and -flarge-sizes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:202 +msgid "Refine tests for module search directories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:203 +msgid "Add -fdebug-dump-parsing-log" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:204 +msgid "Add -fdebug-module-writer option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:205 +msgid "Add debug dump, measure-parse-tree and pre-fir-tree options" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:206 +msgid "Add -Xflang and make -test-io a frontend-only flang" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:207 +msgid "Add -J and -module-dir to f18 driver" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:208 +msgid "Fix -fdefault\\* family bug" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:209 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:189 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:227 +msgid "FIR (Fortran IR - a dialect of MLIR):" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:210 +msgid "Add diagnostic tests for FIR ops verifier" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:211 +msgid "Add FIR Types parser diagnostic tests" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:212 +msgid "" +"Upstream the pre-FIR tree changes (The PFT has been updated to support " +"Fortran 77)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:213 +msgid "Update flang test tool support classes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:214 +msgid "Add zero_bits, array value, and other operations" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:215 +msgid "" +"Upstream utility function valueHasFirAttribute() to be used in subsequent" +" merges" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:216 +msgid "OpenMP - add semantic checks for:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:217 +msgid "OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:218 +msgid "Occurrence of multiple list items in aligned clause for simd directive" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:219 +msgid "Flang OpenMP 4.5 - 2.15.3.6 Reduction clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:220 +msgid "2.15.4.2 - Copyprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:221 +msgid "2.15.3.4 - Firstprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:222 +msgid "2.15.3.5 - Lastprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:223 +msgid "Update character tests to use gtest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:224 +msgid "Adaptations to MLIR API changes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:225 +msgid "Fix call to CHECK() on overriding an erroneous type-bound procedure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:226 +msgid "Handle type-bound procedures with alternate returns" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:227 +msgid "Runtime: implement INDEX intrinsic function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:228 +msgid "Fix compilation on MinGW-w64" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:229 +msgid "Extension: forward refs to dummy args under IMPLICIT NONE" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:230 +msgid "Detect circularly defined interfaces of procedures" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:231 +msgid "Implement the related character intrinsic functions SCAN and VERIFY" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:237 +msgid "" +"LFortran is participating in GSoC under the NumFOCUS and Fortran-lang " +"umbrella, if you are interested, please apply: " +"[https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:238 +msgid "" +"7 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Himanshu " +"Pandey](https://github.com/hp77-creator), [Thirumalai " +"Shaktivel](https://github.com/Thirumalai-Shaktivel), [Scot " +"Halverson](https://github.com/scothalverson), [Rohit " +"Goswami](https://rgoswami.me/), [Ondřej " +"Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:246 +#, python-format +msgid "" +"114 Merge Requests were " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged)" +" in the past month, highlights" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:247 +msgid "" +"macOS support (both Intel and ARM), compilation and development of " +"LFortran itself (stacktraces work also)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:249 +msgid "" +"Initial implentation of: modules (modfiles, dependencies, ...), " +"interfaces, integer/real kinds, public/private attribute, derived types, " +"strings, variable initializations, pointers, modules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:252 +msgid "Many other fixes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:254 +msgid "" +"LFortran is still in pre-alpha stage, but we are making rapid progress " +"towards getting it to compile more Fortran features. We are looking for " +"contributors, if you are interested, please get in touch and we will help" +" you get started. We can be contacted at Zulip Chat, mailinglist or " +"GitLab issues (see https://lfortran.org for links to all three)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:262 +msgid "" +"We had our 10th Fortran Monthly call on March 24. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:267 +msgid "" +"This year Fortran-lang is a mentor organization for [Google Summer of " +"Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/)." +" If you're a student, or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know. The student application window opened on March 29 and will " +"close on April 13 at 14:00 Eastern Time." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:271 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee concluded on " +"March 2. Main topics of dicussion were the planned changes for the " +"Fortran 202X revision of the Standard. Here's the [list of all submitted " +"papers](https://j3-fortran.org/doc/meeting/223), and the " +"[summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"the papers discussed and voting results. The committee also welcomed a " +"new member, Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), who is the voting " +"alternate to Gary Klimowicz " +"([@gklimowicz](https://github.com/gklimowicz))." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:282 +msgid "" +"Registration is open for the upcoming free webinar on [Fortran for High " +"Performance " +"Computing](https://register.gotowebinar.com/register/7343048137688004108)." +" The webinar is organized by [Excellerat](https://www.excellerat.eu/) and" +" will be presented by Wadud Miah " +"([@wadudmiah](https://github.com/wadudmiah)) from the University of " +"Southampton." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:300 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:237 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:196 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:212 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:234 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:306 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:320 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:262 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:257 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:314 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:277 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:293 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:268 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:390 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:496 +msgid "[fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:303 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:240 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:199 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:215 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:237 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:309 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:323 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:265 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:260 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:317 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:280 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:296 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:271 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:393 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:499 +msgid "" +"[fortran-lang/fortran-forum-article-template](https://github.com/fortran-" +"lang/fortran-forum-article-template)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:9 +msgid "" +"In April 2020 we created a website for the Fortran language at [fortran-" +"lang.org](https://fortran-lang.org/). In exactly one year, it grew to be " +"the first result when you search \"Fortran\" in Bing, Yahoo, DuckDuckGo, " +"Ecosia, Qwant, SearchEncrypt and the second result in Google (after the " +"Wikipedia page for Fortran)." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:15 +msgid "" +"The goal of the website is to maintain a neutral place where any Fortran " +"user (expert or novice), compiler vendor (open source or commercial), " +"Fortran Standards Committee member, enthusiast, supporter or anybody else" +" interested is welcome to participate. Fortran was invented in 1956, and " +"we aim to be the stewards of the language and we welcome you to join us." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:21 +msgid "Here are some of the ways that you can participate:" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:23 +msgid "" +"[Fortran Discourse](https://fortran-lang.discourse.group/) discussion " +"forum" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:24 +msgid "" +"Contribute to [fpm](https://github.com/fortran-lang/fpm/), " +"[stdlib](https://github.com/fortran-lang/stdlib/), the [Fortran " +"website](https://github.com/fortran-lang/fortran-lang.org) or any other " +"project" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:28 +msgid "Join our monthly Fortran call (see announcements at Discourse)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:29 +msgid "Contribute to the Fortran monthly newsletter" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:30 +msgid "" +"Follow our Fortran Twitter account " +"[@fortranlang](https://twitter.com/fortranlang)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:33 +msgid "" +"Thank you everybody for your support so far. We are looking forward for " +"the second year!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:9 +msgid "" +"Welcome to the May 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:19 +msgid "" +"[#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): Add a " +"first year announcement" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:21 +msgid "" +"[#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): Add " +"dl\\_poly\\_4 to package index" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:23 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:30 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:32 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org “Fortran Best Practise” into a mini-book" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:40 +msgid "" +"[#391](https://github.com/fortran-lang/stdlib/pull/391): Add issue " +"templates" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:42 +msgid "" +"[#388](https://github.com/fortran-lang/stdlib/pull/388): Changed " +"filenames for bitset tests" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:44 +msgid "" +"[#384](https://github.com/fortran-lang/stdlib/pull/384): Implement " +"starts\\_with and ends\\_with functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:46 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:48 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360): Summarize build " +"toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:50 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343): Implement strip " +"and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:52 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336): Add functions to" +" convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:81 +msgid "" +"[#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): Correct " +"implementation of to\\_title" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:83 +msgid "" +"[#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): Start the " +"addition of the module stdlib\\_sorting" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:87 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:87 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:109 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:130 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:101 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:151 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:95 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:101 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:128 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:81 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:75 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:89 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:107 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:97 +#, python-format +msgid "" +"Please help improve stdlib by testing and [reviewing pull " +"requests](https://github.com/fortran-" +"lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:98 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420): Phase out Haskell " +"fpm" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:100 +msgid "[#468](https://github.com/fortran-lang/fpm/pull/468): Identify OpenBSD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:102 +msgid "[#465](https://github.com/fortran-lang/fpm/pull/465): Fix typo in README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:104 +msgid "" +"[#442](https://github.com/fortran-lang/fpm/pull/442): Use lib instead of " +"ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:106 +msgid "" +"[#440](https://github.com/fortran-lang/fpm/pull/440): Minor edits to " +"README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:108 +msgid "" +"[#438](https://github.com/fortran-lang/fpm/pull/438): Add external-" +"modules key to build table for non-fpm modules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:110 +msgid "" +"[#437](https://github.com/fortran-lang/fpm/pull/437): Remove coarray " +"single from default Intel flags" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:112 +msgid "" +"[#433](https://github.com/fortran-lang/fpm/pull/433): Fix to allow " +"compiling C with Intel CC" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:114 +msgid "" +"[#431](https://github.com/fortran-lang/fpm/pull/431): Use different " +"compiler flags on differnt platforms for Intel" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:116 +msgid "" +"[#429](https://github.com/fortran-lang/fpm/pull/429): Use wget if curl is" +" missing in install.sh" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:125 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): Use default " +"instead of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:127 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:113 +msgid "" +"[#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): Allow to find" +" include files / modules in CPATH environment variable" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:129 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:111 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): Response " +"files with ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:131 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): Remove " +"coarray flag from intel debug settings" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:133 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:109 +msgid "" +"[#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): Refactor: use" +" objects to represent compilers and archiver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:153 +msgid "A total of 5 pull requests were merged in April." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:155 +msgid "" +"[PR#1021 Switch to new LLVM License](https://github.com/flang-" +"compiler/flang/pull/1021)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:156 +msgid "" +"[PR#1025 runtime: register atfork handler to re-initialize internal " +"flangrti locks at fork](https://github.com/flang-" +"compiler/flang/pull/1025)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:157 +msgid "" +"[PR#1026 Test case update for #895](https://github.com/flang-" +"compiler/flang/pull/1026)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:158 +msgid "" +"[PR#1030 Update README.md](https://github.com/flang-" +"compiler/flang/pull/1030)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:159 +msgid "" +"[PR#1034 Github Action use the prebuilt clang to build " +"flang](https://github.com/flang-compiler/flang/pull/1034)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:166 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:192 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:230 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:158 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:163 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:190 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:197 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:201 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:162 +msgid "OpenMP" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:167 +msgid "[OPENMP5.1]Initial support for novariants clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:168 +msgid "[OPENMP5.1]Initial support for nocontext clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:169 +msgid "" +"Add functionality to check \"close nesting\" of regions, which can be " +"used for Semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:170 +msgid "[OpenMP5.1] Initial support for masked directive and filter clause" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:171 +msgid "" +"Modify semantic check for nesting of `ordered` regions to include `close`" +" nesting check." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:172 +msgid "Remove `OmpEndLoopDirective` handles from code." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:173 +msgid "Add General Semantic Checks for Allocate Directive" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:174 +msgid "New Driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:175 +msgid "Add options for -Werror" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:176 +#, python-format +msgid "" +"Modify the existing test cases that use -Mstandard in f18, to use " +"-pedantic and %flang_fc1 to share with the new driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:177 +msgid "Add support for `-cpp/-nocpp`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:178 +msgid "Fix `-fdebug-dump-provenance`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:179 +msgid "Add debug options not requiring semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:180 +#, python-format +msgid "Remove `%flang-new` from the LIT configuration" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:181 +msgid "Update the regression tests to use the new driver when enabled" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:182 +msgid "Add support for `-fget-definition`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:183 +msgid "Move .f77 to the list of fixed-form file extensions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:234 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:152 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:190 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:227 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:195 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:219 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:174 +msgid "Runtime" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:185 +msgid "Implement reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:186 +msgid "Implement numeric intrinsic functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:187 +msgid "TRANSFER() intrinsic function" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:188 +msgid "RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:189 +msgid "Implement IPARITY, PARITY, and FINDLOC reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:190 +msgid "Fix unit test failure on POWER" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:191 +msgid "Improve constant folding for type parameter inquiries" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:192 +msgid "Check for conflicting BIND(C) names" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:193 +msgid "Enforce a limit on recursive PDT instantiations" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:194 +msgid "Accept & fold IEEE_SELECTED_REAL_KIND" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:195 +msgid "Define missing & needed IEEE_ARITHMETIC symbols" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:196 +msgid "Handle instantiation of procedure pointer components" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:197 +msgid "Fix checking of argument passing for parameterized derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:198 +msgid "Fix spurious errors from runtime derived type table construction" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:199 +msgid "Check for attributes specific to dummy arguments" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:200 +msgid "Handle structure constructors with forward references to PDTs" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:206 +msgid "98 Merge Requests merged in April" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:207 +msgid "" +"Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy " +"app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)):" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:208 +msgid "" +"Code can be parsed to AST and transformed back to source code which " +"compiles with other compilers and works" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:209 +msgid "" +"About 3rd of the files can be transformed from AST to ASR and the modules" +" saved" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:210 +msgid "Other improvements:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:211 +msgid "Runtime library (more functions work)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:212 +msgid "Nested functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:213 +msgid "Derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:217 +msgid "" +"We had our 11th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:222 +msgid "" +"Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the " +"University of Southampton presented a webinar on Fortran for High " +"Performance Computing, organized by " +"[Excellerat](https://www.excellerat.eu/). You can find the slides and the" +" recording [here](https://services.excellerat.eu/viewevent/39)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:9 +msgid "" +"We're happy to announce six students that will work on Fortran projects " +"under the Google Summer of Code 2021 program:" +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:12 +msgid "" +"[Aman Godara](https://github.com/aman-godara) will work on strings in the" +" [Fortran Standard Library](https://github.com/fortran-lang/stdlib). " +"Aman's mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and " +"[Milan Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:16 +msgid "" +"[Rohit Goswami](https://github.com/haozeke) will work on the " +"[LFortran](https://lfortran.org) compiler, specifically toward the " +"capability to compile a complex physics package. Rohit's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:20 +msgid "" +"[Jakub Jelínek](https://github.com/kubajj) will work on handling compiler" +" arguments in the [Fortran Package Manager](https://github.com/fortran-" +"lang/fpm). Jakub's mentors will be [Laurence " +"Kedward](https://github.com/lkedward) and [Brad " +"Richardson](https://github.com/everythingfunctional)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:25 +msgid "" +"[Chetan Karwa](https://github.com/chetankarwa) will work on the linked " +"list support in the [Fortran Standard Library](https://github.com" +"/fortran-lang/stdlib). Chetan's mentors will be [Arjen " +"Markus](https://github.com/arjenmarkus) and [Milan " +"Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:30 +msgid "" +"[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work" +" on the Abstract Syntax Tree generation in the " +"[LFortran](https://lfortran.org) compiler. Thirumalai's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:34 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) will work on the support " +"of arrays and allocatables in the [LFortran](https://lfortran.org) " +"compiler. Gagandeep's mentor will be [Ondřej " +"Čertík](https://github.com/certik). Gagandeep was accepted under the " +"NumFOCUS application to GSoC." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:39 +msgid "" +"This is the first year that Fortran-lang applied for Google Summer of " +"Code, and we're beyond excited that our project was allocated this many " +"student slots. You can follow students' progress in their weekly reports " +"in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:43 +msgid "Thank you, Google, for your support of Fortran and open source software!" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:9 +msgid "" +"Welcome to the June 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:19 +msgid "" +"[#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): " +"Grammar and typo fixes in main page and quickstart minibook" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:21 +msgid "" +"[#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): Script" +" for summarizing PRs" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:23 +msgid "" +"[#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): " +"MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package " +"index" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:25 +msgid "" +"[#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): Fixed " +"grammar in Easy to learn section" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:30 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:44 +msgid "" +"[#417](https://github.com/fortran-lang/stdlib/pull/417): Add GCC-11 to " +"workflow" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:46 +msgid "" +"[#415](https://github.com/fortran-lang/stdlib/pull/415): Corrected Ubuntu" +" version" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:48 +msgid "" +"[#407](https://github.com/fortran-lang/stdlib/pull/407): Changed " +"to\\_title to to\\_sentence and implemented correct to\\_title" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:50 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359): Add general " +"contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:52 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355): Implement clip " +"function" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:57 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:83 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:59 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:61 +msgid "" +"[#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): Improved " +"support for NAG" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:63 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): " +"Implemented intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:65 +msgid "" +"[#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): Addition " +"of the stdlib\\_sorting module" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:96 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:120 +msgid "Here is what is new in *fpm*:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:98 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450): Remove coarray flag" +" from intel debug settings" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:100 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423): Use default instead" +" of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:107 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): Allow fpm to " +"change the working directory" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:136 +msgid "" +"39 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:137 +msgid "Features that can now be compiled (in the LLVM backend):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:138 +msgid "More nested functions and callbacks (the context is properly propagated)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:139 +msgid "Runtime: size, lbound, ubound" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:140 +msgid "Return statement" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:141 +msgid "More array operations and declarations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:142 +msgid "Array initializer expressions" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:143 +msgid "Features in ASR only (semantics):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:144 +msgid "Runtime intrinsics: min, max, allocated" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:145 +msgid "Features in AST only (syntax):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:146 +msgid "Co-arrays" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:147 +msgid "Methods" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:148 +msgid "Enumerations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:149 +msgid "Attributes in `use`" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:150 +msgid "BOZ constants" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:151 +msgid "Forall" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:152 +msgid "More interfaces" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:153 +msgid "Import" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:154 +msgid "Implicit statements" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:155 +msgid "Select type" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:157 +msgid "The following people contributed code in May 2021:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:159 +msgid "Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:160 +msgid "" +"Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com" +"/Thirumalai-Shaktivel))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:161 +msgid "Ondřej Čertík ([@certik](https://github.com/certik))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:162 +msgid "Dominic Poerio ([@dpoe](https://gitlab.com/dpoe))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:167 +msgid "" +"We had our 12th Fortran Monthly call on May 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:172 +msgid "" +"Google Summer of Code program has announced the allocation of students to" +" each project. Fortran-lang received six studens (one through " +"[NumFOCUS](https://numfocus.org/)) who will work across three " +"subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to " +"students [Aman Godara](https://github.com/aman-godara), [Rohit " +"Goswami](https://github.com/haozeke), [Jakub " +"Jelínek](https://github.com/kubajj), [Chetan " +"Karwa](https://github.com/chetankarwa), [Thirumalai " +"Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and [Gagandeep " +"Singh](https://github.com/czgdp1807). Read the full post [here](https" +"://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:9 +msgid "" +"Welcome to the July 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:19 +msgid "" +"[#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): Add " +"LATTE tight-binding molecular dynamics code to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:21 +msgid "" +"[#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): Add " +"crest program to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:23 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:25 +msgid "" +"[#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): Add " +"the SNaC package to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:27 +msgid "" +"[#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): Add " +"QUICK to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:32 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): " +"Add projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:34 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): " +"Add convert_FORTRAN_case formatter to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:36 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:48 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:28 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:38 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:54 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Draft: Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:48 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313): Legendre " +"polynomials and gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:50 +msgid "[#432](https://github.com/fortran-lang/stdlib/pull/432): Outer product" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:52 +msgid "" +"[#439](https://github.com/fortran-lang/stdlib/pull/439): Reduce time " +"spent on sorting tests" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:54 +msgid "" +"[#440](https://github.com/fortran-lang/stdlib/pull/440): Make maximum " +"rank an option" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:56 +msgid "" +"[#433](https://github.com/fortran-lang/stdlib/pull/433): Implemented low " +"level find function for string matching" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:58 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414): Implemented " +"intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:60 +msgid "" +"[#428](https://github.com/fortran-lang/stdlib/pull/428): Fix issue with " +"stdlib_sorting" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:62 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:64 +msgid "" +"[#430](https://github.com/fortran-lang/stdlib/pull/430): Remove support " +"for GCC 7 and 8" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:66 +msgid "" +"[#424](https://github.com/fortran-lang/stdlib/pull/424): Add separate " +"logical kind parameters" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:71 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): Add `disp`" +" function to display your data" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:73 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` to format other type to string" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:75 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): Implement " +"pad function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:77 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:109 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:81 +msgid "" +"[#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): [FPM] add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:79 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): Implement " +"low-level replace_all function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:81 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): Addition " +"of a subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:85 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:111 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:83 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:132 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:79 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:86 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:117 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:72 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:66 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:80 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:98 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:86 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Sorting " +"string's characters according to their ASCII values" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:91 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): String " +"list new" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:93 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:115 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:87 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:136 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:83 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:90 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:119 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:74 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:68 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:82 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:100 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:88 +msgid "" +"[#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): " +"Probability Distribution and Statistical Functions -- Beta Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:95 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:117 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:89 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:138 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:85 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:92 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:121 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:76 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:70 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:84 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:102 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:90 +msgid "" +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Probability Distribution and Statistical Functions -- Gamma Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:97 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:119 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:91 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:140 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:87 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:94 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:123 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): " +"Probability Distribution and Statistical Functions -- Exponential " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:99 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:121 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:93 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:142 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:89 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:96 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): " +"Probability Distribution and Statistical Functions -- Normal Distribution" +" Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:101 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:123 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:95 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:144 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): " +"Probability Distribution and Statistical Functions -- Uniform " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:103 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:125 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:97 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:146 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:91 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:98 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:125 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:78 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:72 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:86 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:104 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:92 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of COO / CSR sparse format" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:105 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:127 +msgid "" +"[#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): Update " +"CMAKE files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:118 +msgid "" +"__Alpha release update:__ Last month saw the release of __v0.3.0__ for " +"*fpm* which includes a number of [new features and bug " +"fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:122 +msgid "" +"[#504](https://github.com/fortran-lang/fpm/pull/504): install.sh, " +"README.md: Update version number, single source file extension" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:124 +msgid "" +"[#501](https://github.com/fortran-lang/fpm/pull/501): Bump version for " +"new release" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:126 +msgid "" +"[#491](https://github.com/fortran-lang/fpm/pull/491): Catch " +"execute_command_line errors and print useful messages" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:128 +msgid "" +"[#500](https://github.com/fortran-lang/fpm/pull/500): Allow reading " +"version number from file" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:130 +msgid "" +"[#497](https://github.com/fortran-lang/fpm/pull/497): correct for equal " +"sign in flag options to fix #495" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:132 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449): Response files with" +" ar on Windows" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:134 +msgid "" +"[#490](https://github.com/fortran-lang/fpm/pull/490): Minor fix to module" +" parsing" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:136 +msgid "" +"[#489](https://github.com/fortran-lang/fpm/pull/489): Redirect output " +"when searching for archiver" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:138 +msgid "" +"[#484](https://github.com/fortran-lang/fpm/pull/484): Add support for " +"invoking simple plugins" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:140 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483): Allow fpm to change" +" the working directory" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:147 +msgid "" +"[#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): quiet mode " +"for #502" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:149 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:164 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Draft - " +"Compiler flags profiles" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:170 +msgid "" +"49 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:171 +msgid "Highlights" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:172 +msgid "" +"Improvements to array support in the LLVM backend and at the ASR level: " +"array sections, allocatable arrays, and other improvements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:174 +msgid "" +"Many parser fixes (`lfortran fmt` works on more projects): block data, " +"common block, equivalence, custom operator declaration, flush, critical " +"and event statements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:177 +msgid "More runtime functions: minval, maxval, real, sum, abs" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:178 +msgid "Optional human readable mod files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:183 +msgid "" +"We had our 13th Fortran Monthly call on June 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:188 +msgid "" +"Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually " +"from June 21-30 (Mondays and Wednesdays only). You can find all the " +"papers that were discussed " +"[here](https://j3-fortran.org/doc/meeting/224). Highlights from the " +"meeting:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:189 +msgid "" +"Conditional expressions syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:190 +msgid "" +"Protected components specifications and syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-168.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:191 +msgid "" +"The generics feature planned for Fortran 202Y was discussed at depth " +"([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:192 +msgid "" +"Jeff Hammond (NVidia Corporation) is the new J3 member as a voting " +"alternate to Bryce Adelstein-Lelbach." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:193 +msgid "Target year for Fortran 202X is 2023, subject to change." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:195 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:197 +msgid "" +"Work has started for our Google Summer of Code program. You read about " +"our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:9 +msgid "" +"Welcome to the August 2021 edition of the monthly Fortran newsletter. The" +" newsletter comes out at the beginning of every month and details Fortran" +" news from the previous month." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:19 +msgid "" +"[#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): July " +"newsletter" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:21 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): Add " +"`convert_FORTRAN_case` formatter to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:23 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): Add " +"projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:25 +msgid "" +"[#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): PRs " +"script updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:27 +msgid "" +"[#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): " +"Installation process for GFortran on OpenBSD" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:29 +msgid "" +"[#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): Add " +"Flatiron institute multipole libraries to the package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:31 +msgid "" +"[#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): Small " +"fix in packages index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:33 +msgid "" +"[#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): Bump " +"addressable from 2.7.0 to 2.8.0" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:35 +msgid "" +"[#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): add " +"Apogee and Edinburgh compilers" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:37 +msgid "" +"[#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): Add " +"arrayfire-fortran to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:39 +msgid "" +"[#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): " +"compilers: use more objective tone" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:41 +msgid "" +"[#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): my " +"software with at least 5 stars" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:43 +msgid "" +"[#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): Fix " +"insecure workflow." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:58 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:38 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:66 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:44 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:37 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:46 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:37 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:37 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:43 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:61 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:47 +msgid "Here's what's new in stdlib:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:60 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436): implemented low-" +"level `replace_all` function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:62 +msgid "" +"[#454](https://github.com/fortran-lang/stdlib/pull/454): added " +"`stdlib_math` to specs/index.md" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:64 +msgid "" +"[#453](https://github.com/fortran-lang/stdlib/pull/453): implemented " +"count function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:66 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441): implemented pad " +"function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:68 +msgid "" +"[#456](https://github.com/fortran-lang/stdlib/pull/456): slice function's" +" documentation made user friendly" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:70 +msgid "" +"[#459](https://github.com/fortran-lang/stdlib/pull/459): Fix CMake " +"variable usage" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:72 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:74 +msgid "[#468](https://github.com/fortran-lang/stdlib/pull/468): Update CI" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:76 +msgid "" +"[#469](https://github.com/fortran-lang/stdlib/pull/469): CMake: " +"corrections and updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:78 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426): Addition of a " +"subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:80 +msgid "" +"[#474](https://github.com/fortran-lang/stdlib/pull/474): Bug fix: " +"Allocatable argument 'x' is not allocated #472" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:85 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): " +"[`stdlib_linalg`] Update eye function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:87 +msgid "" +"[#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): " +"[`stdlib_math`] Add seq function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:89 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[`stdlib_linalg`] Add zeros, ones, ex function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:91 +msgid "" +"[#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): " +"[`stdlib_linalg`] Add empty function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:93 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to character type with fypp" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:95 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:73 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:126 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:77 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:84 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:115 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:70 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:64 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:78 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:96 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:84 +msgid "" +"[#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): Error stop" +" improvements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:97 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): Revival " +"string list" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:99 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): " +"implemented `move_alloc` for `string_type`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:101 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"`stdlib_hash`: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:103 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:77 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:130 +msgid "" +"[#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): " +"Implementation of a map data type" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:105 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): [feature] " +"`disp`(display your data) & `format_string`(format other type to string, " +"see #444)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:107 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:139 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:110 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:160 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:104 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:110 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:137 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:90 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:84 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:98 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:116 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:106 +msgid "Here's what's new in fpm:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:141 +msgid "" +"[#507](https://github.com/fortran-lang/fpm/pull/507): optimize file " +"listing" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:143 +msgid "" +"[#511](https://github.com/fortran-lang/fpm/pull/511): check name used for" +" package, executable, test, or example" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:145 +msgid "" +"[#516](https://github.com/fortran-lang/fpm/pull/516): initialize " +"allocatable strings before using in a comparison" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:147 +msgid "[#517](https://github.com/fortran-lang/fpm/pull/517): Fix run" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:149 +msgid "" +"[#522](https://github.com/fortran-lang/fpm/pull/522): remove warnings and" +" fix truncated help text" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:151 +msgid "" +"[#523](https://github.com/fortran-lang/fpm/pull/523): Fix compilation " +"error in ifort" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:156 +msgid "" +"[#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): proposal to " +"close #525 by generating build/.gitignore" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:158 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): Add objects " +"for handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:160 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): expand tabs" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:162 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Draft: " +"initial implementation of `implicit_none`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:184 +msgid "Updates for July 2021:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:186 +msgid "" +"90 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" MRs, this month we have crossed 1000 total merged MRs, 12 total " +"contributors" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:187 +msgid "" +"Parser: we asked the community to test it, several people have reported " +"about 15 bugs, we have fixed all of them (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:189 +msgid "Initial fixed form parser (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:190 +msgid "Classes and class procedures (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:191 +msgid "Many common array usage now works, including allocatable (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:192 +msgid "Associate construct (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:193 +msgid "Compile time evaluation of constant expressions (ASR)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:194 +msgid "7 people contributed code:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:195 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:217 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:275 +msgid "Ondřej Čertík" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:196 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:218 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:278 +msgid "Thirumalai Shaktivel" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:197 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:220 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:276 +msgid "Gagandeep Singh" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:198 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:219 +msgid "Rohit Goswami" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:199 +msgid "Dominic Poerio" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:200 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:221 +msgid "Andrew Best" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:201 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:280 +msgid "Sebastian Ehlert" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:203 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)!" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:209 +msgid "" +"We had our 14th Fortran Monthly call on July 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:214 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The first call" +" for abstracts is due August 1, and the second is due September 1. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:219 +msgid "" +"Work is well under way started for our Google Summer of Code program. " +"Read about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:9 +msgid "" +"Welcome to the September 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:19 +msgid "" +"[#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): Add " +"NJOY to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:22 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:127 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:171 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:94 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:188 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:29 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:51 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:117 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:22 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:56 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:133 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:33 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:93 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:142 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:24 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:50 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:112 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:24 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:42 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:101 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:28 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:109 +msgid "Work in progress" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:24 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): " +"Update Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:26 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): " +"Add QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:40 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467): Implemented " +"move_alloc for string_type" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:42 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470): Revival string " +"list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:44 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481): [stdlib_linalg] " +"Update eye function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:46 +msgid "" +"[#493](https://github.com/fortran-lang/stdlib/pull/493): Update copyright" +" and remove old artifact" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:48 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444): Add " +"format_string routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:50 +msgid "" +"[#483](https://github.com/fortran-lang/stdlib/pull/483): Remove GCC " +"Fortran MinGW 8.4.0 from known to work list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:55 +msgid "" +"[#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): Minor " +"updates to README.md" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:57 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:114 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:65 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:74 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:59 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:116 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:76 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:61 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:118 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:63 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:120 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:71 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): Add " +"testing module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:65 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:122 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:73 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:80 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:113 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:68 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:62 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:76 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:94 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:82 +msgid "" +"[#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): Stdlib " +"linked list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:67 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:124 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:82 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:69 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[stdlib_linalg] Add zeros, ones function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:71 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:75 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:128 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"stdlib_hash: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:79 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): " +"[stdlib_io] `disp`(display your data)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:112 +msgid "" +"[Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0):" +" Alpha release update" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:114 +msgid "" +"[#546](https://github.com/fortran-lang/fpm/pull/546): Update version for " +"release 0.4.0" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:116 +msgid "" +"[#548](https://github.com/fortran-lang/fpm/pull/548): Fix build on " +"MacOS/ARM64" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:118 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527): Add objects for " +"handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:120 +msgid "" +"[#536](https://github.com/fortran-lang/fpm/pull/536): Always call `git " +"init` in fpm new when backfilling" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:122 +msgid "" +"[#533](https://github.com/fortran-lang/fpm/pull/533): Allow extra section" +" in package manifest" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:124 +msgid "" +"[#528](https://github.com/fortran-lang/fpm/pull/528): Generate " +"`build/.gitignore`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:129 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:194 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:123 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:139 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:152 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:126 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:109 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:123 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:141 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:125 +msgid "" +"[#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): Add parent " +"packages into dependency tree" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:131 +msgid "" +"[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): Expand tabs " +"in source parsing" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:133 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Initial " +"implementation of implicit_none" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:135 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:196 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:125 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:141 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:154 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:128 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:111 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:125 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:143 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:127 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Compiler " +"flags profiles" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:151 +msgid "FFTPACK" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:153 +msgid "" +"Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík " +"([@certik](https://github.com/certik)) started maintaining the public " +"domain project FFTPACK under the Fortran-lang namespace. The project is " +"readily available for usage in with fpm." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:156 +msgid "Here is what is new in FFTPACK:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:158 +msgid "" +"[#10](https://github.com/fortran-lang/fftpack/pull/10): Add " +"`(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:160 +msgid "" +"[#7](https://github.com/fortran-lang/fftpack/pull/7): Add " +"`dzffti/dzfftf/dzfftb` interfaces" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:162 +msgid "" +"[#4](https://github.com/fortran-lang/fftpack/pull/4): Improve fft " +"interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:164 +msgid "" +"[#6](https://github.com/fortran-lang/fftpack/pull/6): Add " +"`(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:166 +msgid "" +"[#5](https://github.com/fortran-lang/fftpack/pull/5): Add " +"`fftshift/ifftshift`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:168 +msgid "[#3](https://github.com/fortran-lang/fftpack/pull/3): Add CI: fpm.yml" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:173 +msgid "" +"[#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): Add " +"`(i)dct/dcosti/dcost` interfaces." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:176 +msgid "Feedback and ideas for this project are welcome." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:180 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:219 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:148 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:163 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:175 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:153 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:134 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:146 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:164 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:148 +msgid "Flang" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:223 +msgid "New Driver and CMake integration:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:185 +msgid "The new driver has replaced the old, hence f18 has been deleted." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:186 +msgid "" +"flang-new (aka. the new driver) now drives the flang bash script before " +"an external compiler is called." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:187 +msgid "Code-generation work is ongoing." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:188 +msgid "" +"Work is now proceeding to enable CMake to recognize the compiler and set " +"the appropriate options for build configurations." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:190 +msgid "" +"Fortran 95 lowering and runtime support is nearing completion, " +"particularly of intrinsics" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:191 +msgid "Code upstreaming will begin again in earnest once F95 is deemed complete" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:193 +msgid "Nesting of region semantic checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:194 +msgid "enter_data MLIR to LLVM IR lowering" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:195 +msgid "Semantic checks for allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:196 +msgid "Lowering for various modifiers for the schedule clause" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:197 +msgid "Pretty printer and parser for omp.target operation" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:198 +msgid "Semantic checks for linear, nested barrier, allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:199 +msgid "Progress with firstprivate, critical, collapse, ordered, reduction" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:200 +msgid "Lift -Werror checks into local functions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:201 +msgid "Document the flang wrapper script" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:202 +msgid "Fix the extent calculation when upper bounds are less than lower bounds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:203 +msgid "Fix list-directed plural repeated null values at end of record" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:204 +msgid "Fix build failure on MacOS involving std::clock_t" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:205 +msgid "Fix error messages on Windows." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:206 +msgid "Disable Plugins in out-of-tree builds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:207 +msgid "Correct off-by-one error in SET_EXPONENT" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:209 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:265 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:216 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:212 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:267 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:194 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:249 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:235 +msgid "" +"Call notes are recorded and available upon request " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-" +"Holby at aperry@lanl.gov for document access." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:213 +msgid "" +"168 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in August 2021" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:216 +msgid "The following people have contributed code to LFortran in August:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:222 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:277 +msgid "Carlos Une" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:223 +msgid "Sebastian Ehlert got LFortran working with fpm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:224 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:282 +msgid "Many people have reported bugs (thank you all!)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:225 +msgid "" +"Our 3 Google Summer of Code (GSoC) students have successfully finished " +"their projects. Here are their final reports:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:227 +msgid "" +"Gagandeep Singh: " +"[https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:228 +msgid "" +"Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-" +"Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com" +"/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:229 +msgid "" +"Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-" +"reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:231 +msgid "LFortran 0.12.0 was released on August 15" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:233 +msgid "Changes since the last release." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:235 +msgid "Fixed all issues in the parser that were reported (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:236 +msgid "multiple loop single end do" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:237 +msgid "arithmetic if" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:238 +msgid "" +"Comments and empty lines are now represented in AST and formatted " +"correctly (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:239 +msgid "" +"The formatter (`lfortran fmt`) now uses the minimal amount of parentheses" +" in expressions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:240 +msgid "Initial fixed-form parser (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:241 +msgid "Initial class support (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:242 +msgid "Allocate / deallocate, allocatable arrays (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:243 +msgid "Associate block (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:244 +msgid "Runtime library refactoring (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:245 +msgid "Split into builtin, pure and impure" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:246 +msgid "`iso_fortran_env`, `iso_c_binding` intrinsic modules added" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:247 +msgid "Compile time evaluation (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:249 +msgid "Commits (`git shortlog -ns v0.11.0..v0.12.0`):" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:260 +msgid "Updates in master since the last release:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:262 +msgid "LFortran can now compile binaries on Windows" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:263 +msgid "C interoperation works on all platforms (including Windows and MSVC)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:264 +msgid "Runtime library improvements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:265 +msgid "Complex intrinsics fixed on all platforms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:266 +msgid "" +"All trigonometric functions now use the Fortran `impure` interface in the" +" runtime library" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:267 +msgid "More intrinsics implemented" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:268 +msgid "Initial implementation of classes and methods" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:269 +msgid "" +"LFortran now works with `fpm` and compiles the hello world project and a " +"few other example projects" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:270 +msgid "Parser improvements: team and sync statements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:271 +msgid "" +"Improved handling of character types as function arguments and return " +"values" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:274 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)! We would be happy to do a " +"video call with you to get you started." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:281 +msgid "" +"We had our 15th Fortran Monthly call on August 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:285 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The second " +"call for abstracts is due September 1. For more information, visit the " +"[FortranCon website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:290 +msgid "" +"Our Google Summer of Code program for 2021 is coming to a close. Read " +"about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:310 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:324 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:266 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:261 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:318 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:281 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:297 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:272 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:394 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:500 +msgid "[fortran-lang/fftpack](https://github.com/fortran-lang/fftpack)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:9 +msgid "" +"Welcome to the October 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:19 +msgid "" +"[#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): " +"September newsletter draft" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:21 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): Add " +"QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:23 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): Update" +" Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:25 +msgid "" +"[#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): Fixed " +"typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:27 +msgid "" +"[#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): remove" +" excess 'mpi' tag from fortran2018-examples" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:29 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:31 +msgid "" +"[#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): " +"grammar and spelling from issue #313" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:33 +msgid "" +"[#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): more " +"grammar, spelling, and rewording for Fortran Best Practices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:35 +msgid "" +"[#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): " +"replaced \"be found be found\" with \"be found\"" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:37 +msgid "" +"[#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): " +"Alternative approach to avoiding integer division" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:39 +msgid "" +"[#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): Add " +"incompact3d to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:41 +msgid "" +"[#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): Add " +"fparser to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:43 +msgid "" +"[#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): Adding" +" two more packages to the index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:45 +msgid "" +"[#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): Add " +"pFlogger to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:47 +msgid "" +"[#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): One " +"more package" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:52 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:68 +msgid "[#509](https://github.com/fortran-lang/stdlib/pull/509): fixed typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:70 +msgid "" +"[#503](https://github.com/fortran-lang/stdlib/pull/503): refactor " +"documentation regarding consistency" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:72 +msgid "" +"[#511](https://github.com/fortran-lang/stdlib/pull/511): Correctly set " +"CMAKE_INSTALL_MODULEDIR cache variable" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:74 +msgid "" +"[#513](https://github.com/fortran-lang/stdlib/pull/513): Update issue " +"templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:76 +msgid "" +"[#523](https://github.com/fortran-lang/stdlib/pull/523): Rename " +"config.yaml -> config.yml" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:78 +msgid "" +"[#508](https://github.com/fortran-lang/stdlib/pull/508): github-ci: add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:80 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475): Generating " +"sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:82 +msgid "" +"[#525](https://github.com/fortran-lang/stdlib/pull/525): Add files " +"generated by tests to gitignore" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:84 +msgid "" +"[#529](https://github.com/fortran-lang/stdlib/pull/529): Add maintainer " +"entry to fpm manifest" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:86 +msgid "" +"[#530](https://github.com/fortran-lang/stdlib/pull/530): Make it clearer " +"how the user can control compiler optimization" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:88 +msgid "" +"[#528](https://github.com/fortran-lang/stdlib/pull/528): Reduce " +"redundancy caused by optional arguments" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:90 +msgid "" +"[#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) " +"(`stdlib-cmake-example`): Add example integration with test-drive" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:96 +msgid "" +"[#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): Fix string" +" concat" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:98 +msgid "" +"[#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): Add " +"function gcd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:100 +msgid "" +"[#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): Bump " +"stdlib version to 0.1.0" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:102 +msgid "" +"[#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): Add a " +"changelog for the current features of stdlib" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:104 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:57 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:66 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:105 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:60 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:54 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:86 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:74 +msgid "" +"[#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): Fix " +"conversion warnings" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:106 +msgid "" +"[#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): Ensure " +"module output directory is generated in configure stage" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:108 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display your data)." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:110 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:70 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:109 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:64 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:58 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:72 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:90 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:78 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC_TEMPLATE.md #504" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:112 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:63 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:72 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:111 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:66 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:60 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:74 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:92 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:80 +msgid "" +"[#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): pop, drop " +"& get with basic range feature for stringlist" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:162 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521): expand tabs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:164 +msgid "" +"[#557](https://github.com/fortran-lang/fpm/pull/557): Update installer " +"script to update subprojects first" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:166 +msgid "[#558](https://github.com/fortran-lang/fpm/pull/558): Add issue templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:168 +msgid "" +"[#565](https://github.com/fortran-lang/fpm/pull/565): Default branch " +"renaming aftermath" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:170 +msgid "" +"[#562](https://github.com/fortran-lang/fpm/pull/562): Add new " +"distributions where fpm is available to README" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:172 +msgid "" +"[#563](https://github.com/fortran-lang/fpm/pull/563): Add workflow to " +"create single source fpm version" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:174 +msgid "" +"[#564](https://github.com/fortran-lang/fpm/pull/564): Separate upload " +"stage in CI testing" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:176 +msgid "" +"[#572](https://github.com/fortran-lang/fpm/pull/572): Build no tests by " +"default" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:178 +msgid "" +"[#549](https://github.com/fortran-lang/fpm/pull/549): Allow setting, " +"archiver, C compiler flags and linker flags from commandline" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:180 +msgid "" +"[#578](https://github.com/fortran-lang/fpm/pull/578): help text was " +"truncated" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:182 +msgid "" +"[#579](https://github.com/fortran-lang/fpm/pull/579): Fix dir not getting" +" removed after testing fpm" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:184 +msgid "" +"[#584](https://github.com/fortran-lang/fpm/pull/584): Actually read " +"environment variables" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:190 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): Enable " +"multiple build output directories" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:192 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:121 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): Add workflow " +"for continuous delivery" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:224 +msgid "" +"flang-omp-report plugin - first full fledged frontend plugin has been " +"contributed" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:225 +msgid "CMake integration - waiting on a new PR" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:226 +msgid "" +"Code-generation work is ongoing - task list has been presented to the " +"community for discussion and approval" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:228 +msgid "Fortran 95 lowering and runtime support is nearing completion" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:229 +msgid "Code upstreaming has begun again" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:231 +msgid "Merged: Critical, collapse clause, Fixes for SNAP." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:232 +msgid "" +"In review: Firstprivate, Ordered, MLIR definitions for a few target side " +"constructs, semantic checks for atomic, critical, sections, simd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:233 +msgid "OpenMP 5.0 metadirective" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:235 +msgid "Change complex type define in runtime for clang-cl" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:236 +msgid "Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:237 +msgid "" +"GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, " +"STATUS and ERRMSG parameters." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:238 +msgid "COMMAND_ARGUMENT_COUNT runtime implementation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:239 +msgid "Add POSIX implementation for SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:240 +msgid "Fix WRITE after BACKSPACE on variable-length file" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:241 +msgid "Implement Posix version of DATE_AND_TIME runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:242 +msgid "Ported test scripts to Python, enables testing on Windows" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:243 +msgid "More precise checks for NULL() operands" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:244 +msgid "Enforce array conformance in actual arguments to ELEMENTALs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:245 +msgid "" +"Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, " +"UNPACK, and TRANSPOSE" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:246 +msgid "Make this_image() an intrinsic function" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:247 +msgid "Revamp C1502 checking of END INTERFACE [generic-spec]" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:248 +msgid "Accept SIZE(assumed-rank, DIM=n)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:249 +msgid "Validate SIZE(x,DIM=n) dimension for assumed-size array x" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:250 +msgid "Catch errors with intrinsic array inquiry functions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:251 +msgid "Correct overflow detection in folding of real->integer conversions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:252 +msgid "Upgrade warning to error in case of PURE procedure" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:253 +msgid "Enforce fixed form rules about END continuation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:254 +msgid "Enforce specification function rules on callee, not call" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:255 +msgid "Catch error: base of DATA statement object can't be a pointer" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:256 +msgid "Represent parentheses around derived types" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:257 +msgid "Enforce constraint: defined ass't in WHERE must be elemental" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:258 +msgid "Catch branching into FORALL/WHERE constructs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:259 +msgid "Implement semantic checks for ELEMENTAL subprograms" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:260 +msgid "Signal EOR in non advancing IO and move to next record" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:261 +msgid "Extension: reduced scope for some implied DO loop indices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:262 +msgid "Take result length into account in ApplyElementwise folding" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:263 +msgid "Apply double precision KindCode in specific proc interface" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:269 +msgid "" +"81 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in September 2021" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:272 +msgid "" +"LFortran Minimum Viable Product (MVP) " +"[released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-" +"product-mvp/)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:273 +msgid "LFortran 0.13.0, 0.13.1 and 0.14.0 released in September" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:274 +msgid "The following people have contributed code to LFortran in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:279 +msgid "Harris M. Snyder" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:281 +msgid "Mengjia Lyu" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:283 +msgid "Main features implemented in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:284 +msgid "Operator overloading (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:285 +msgid "Goto (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:286 +msgid "Runtime library improvements: `iand`, `len`, `trim`, `len_trim`" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:287 +msgid "" +"Interactive mode: get complex numbers, intrinsic functions working " +"(Windows, macOS, Linux)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:289 +msgid "New driver options: --fast, --symtab-only, --target" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:292 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:227 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:228 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:281 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:247 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:259 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:367 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:468 +msgid "" +"We are looking for new contributors. Please do not hesitate to contact us" +" if you are interested. We will help you get up to speed." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:298 +msgid "" +"We had our 16th Fortran Monthly call on September 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:302 +msgid "" +"The second international Fortran Conference (FortranCon) 2021 was held " +"virtually on September 23-24 Video recordings of the talks will be made " +"available soon. For more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:9 +msgid "" +"Welcome to the November 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:20 +msgid "" +"[#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): Fix " +"title in learning resources" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:22 +msgid "" +"[#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): Add " +"Cantera to package index" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:24 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:26 +msgid "" +"[#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): Minor " +"fixes in Best Practices" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:46 +msgid "" +"[0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): " +"Initial version of the Fortran standard library" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:48 +msgid "[#543](https://github.com/fortran-lang/stdlib/pull/543): Fix string concat" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:53 +msgid "" +"[#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): Hash " +"functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:55 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): Fix bug in" +" stringlist" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:59 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib\\_io] add `disp` (display your data)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:61 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC\\_TEMPLATE.md" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:67 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib\\_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:69 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib\\_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:75 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib\\_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:106 +msgid "" +"[#597](https://github.com/fortran-lang/fpm/pull/597): Add LFortran " +"optimization flag to release profile" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:108 +msgid "" +"[#595](https://github.com/fortran-lang/fpm/pull/595): List names without " +"suffix (mainly for Windows)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:110 +msgid "" +"[#590](https://github.com/fortran-lang/fpm/pull/590): Change link command" +" on Windows with `ifort` or `ifx`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:112 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575): Enable multiple " +"build output directories" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:114 +msgid "" +"[#587](https://github.com/fortran-lang/fpm/pull/587): Bootstrapping " +"instructions version update" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:119 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): Update " +"README.md compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:132 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:147 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/main/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:153 +msgid "Front-end and runtime support for CALL EXIT and ABORT" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:154 +msgid "Fix formatted real input regression w/ spaces" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:155 +msgid "Add runtime interface for GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:156 +msgid "More work on SYSTEM_CLOCK runtime API and implementation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:157 +msgid "Implement GET_ENVIRONMENT_VARIABLE(LENGTH)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:159 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for sections " +"construct and test case for simd construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:160 +msgid "" +"Added test case for OpenMP 5.0 specification based semantic checks for " +"parallel sections construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:161 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for CRITICAL " +"construct name resolution" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:162 +msgid "Checks for THREADPRIVATE and DECLARE TARGET Directives" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:163 +msgid "Initial parsing/sema for append_args clause for 'declare variant'" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:164 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:170 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:179 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:157 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:138 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:150 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:168 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:150 +msgid "FIR" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:165 +msgid "" +"Add typeparams to fir.array_update, fir.array_fetch and " +"fir.array_merge_store operations. Add optional slice operands to " +"fir.array_merge_store op." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:166 +msgid "" +"Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, " +"fir.alloca, fir.field_index, fir.freemem, fir.store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:167 +msgid "" +"Move the parsers, printers and builders from the TableGen file to the " +".cpp file" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:168 +msgid "Update fir.alloca op - Add pinned attributes and specific builders" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:169 +msgid "Add ops: fir.char_convert and fir.array_modify" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:170 +msgid "" +"Add passes: external name interop, affine promotion, affine demotion, " +"character conversion, abstract result conversion, cfg conversion" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:171 +msgid "Add fir.convert canonicalization patterns" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:172 +msgid "Add the DoLoopHelper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:173 +msgid "Add IfBuilder and utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:174 +msgid "Add FIRBuilder utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:175 +msgid "Add character utility functions in FIRBuilder" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:176 +msgid "Add Character helper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:177 +msgid "Add utility function to FIRBuilder and MutableBox" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:178 +msgid "Add substring to fir.slice operation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:179 +msgid "" +"Avoid slice with substr in fir.array_load, fir.array_coor and " +"fir.array_merge_store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:180 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:185 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:193 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:196 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:153 +msgid "Driver" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:181 +msgid "Error if uuidgen is not installed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:182 +msgid "Fix erroneous `&`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:183 +msgid "Add actions that execute despite semantic errors" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:184 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:192 +msgid "flang-omp-report" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:185 +msgid "replace std::vector's with llvm::SmallVector" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:186 +msgid "Switch from std::string to StringRef (where possible)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:187 +msgid "replace std::map with llvm::DenseMap" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:188 +msgid "Make builtin types more easily accessible; use them" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:189 +msgid "Fix test regression from SQRT folding" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:190 +msgid "Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:191 +msgid "Take into account SubprogramDetails in GetInterfaceSymbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:192 +msgid "Add debug dump method to evaluate::Expr and semantics::Symbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:193 +msgid "Add a wrapper for Fortran main program" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:194 +msgid "Improve runtime interface with C99 complex" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:195 +msgid "Better error recovery for missing THEN in ELSE IF" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:196 +msgid "Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:197 +msgid "Catch mismatched parentheses in prescanner" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:198 +msgid "Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:199 +msgid "Document behavior for nonspecified/ambiguous cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:200 +msgid "Add two negative tests for needExternalNameMangling" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:201 +msgid "Expunge bogus semantic check for ELEMENTAL without dummies" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:202 +msgid "Admit NULL() in generic procedure resolution cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:203 +msgid "Fix bogus folding error for ISHFT(x, negative)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:204 +msgid "Emit unformatted headers & footers even with RECL=" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:205 +msgid "Enforce rest of semantic constraint C919" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:206 +msgid "Extension to distinguish specific procedures" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:207 +msgid "Support NAMELIST input of short arrays" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:208 +msgid "Fix generic resolution case" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:209 +msgid "Speed common runtime cases of DOT_PRODUCT & MATMUL" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:210 +msgid "Fix crash on empty formatted external READs" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:211 +msgid "Extension: allow tabs in output format strings" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:212 +msgid "Fix DOT_PRODUCT for logical" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:213 +msgid "Fix NAMELIST input bug with multiple subscript triplets" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:214 +msgid "Support legacy usage of 'A' edit descriptors for integer & real" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:220 +msgid "155 Merge Requests merged in October 2021" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:221 +msgid "AST to ASR transformation simplified and unified" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:222 +msgid "Many new intrinsics added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:223 +msgid "Rust style error messages, add first warnings and style suggestions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:224 +msgid "Fixed bugs in location information" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:225 +msgid "C preprocessor added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:233 +msgid "We have adopted two new Fortran-lang guidelines:" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:234 +msgid "" +"[Governance document](https://github.com/fortran-" +"lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang " +"projects are managed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:235 +msgid "" +"[Administration, moderation, and editing guide](https://fortran-" +"lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-" +"and-editing-3) for Fortran Discourse Both documents are part of an effort" +" to increase transparency between Fortran-lang administrators and the " +"rest of the community." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:237 +msgid "" +"The US Fortran Standards Committee (J3) held the meeting 225 October " +"18-27, 2021. The meeting was virtual and on Mondays and Wednesdays only. " +"Discussions focused on resolving any outstanding issues to the Fortran " +"202X features. Here are the links to the meeting " +"[agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), " +"[minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), and " +"[papers](https://j3-fortran.org/doc/meeting/225). See also the [Fortran-" +"lang and LFortran liaison report to " +"J3](https://j3-fortran.org/doc/year/21/21-206.txt) submitted by Ondřej " +"Čertík and Milan Curcic." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:245 +msgid "" +"We had our 19th Fortran Monthly call on October 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:9 +msgid "" +"Welcome to the December 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:17 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:18 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:17 +msgid "Here's what's new and ongoing in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:19 +msgid "" +"[#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): Fix " +"typo in author field" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:24 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:35 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:26 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:26 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:32 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:50 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:36 +msgid "" +"[#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): " +"Fortran Intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:39 +msgid "" +"[#558](https://github.com/fortran-lang/stdlib/pull/558): Pin specific fpm" +" version" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:41 +msgid "" +"[#556](https://github.com/fortran-lang/stdlib/pull/556): fix some FORD " +"links" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:43 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494): Add testing " +"module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:45 +msgid "" +"[#562](https://github.com/fortran-lang/stdlib/pull/562): Minor update " +"`pure/elemental` in `string_type` module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:47 +msgid "" +"[#565](https://github.com/fortran-lang/stdlib/pull/565): Make support for" +" quadruple precision optional" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:49 +msgid "" +"[#566](https://github.com/fortran-lang/stdlib/pull/566): Create a call " +"for reviewers pull request template" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:51 +msgid "" +"[#578](https://github.com/fortran-lang/stdlib/pull/578): Update error in " +"case fypp preprocessor is not found" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:53 +msgid "" +"[#579](https://github.com/fortran-lang/stdlib/pull/579): Add module for " +"handling version information of stdlib" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:58 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): Add " +"routines for saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:60 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:101 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:56 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:50 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:64 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:82 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:70 +msgid "" +"[#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): Add " +"terminal and color escape sequences" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:62 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): Revised " +"Hash functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:64 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:103 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:58 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:52 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:66 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:84 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:72 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): fixed bug " +"in stringlist" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:68 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:107 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:62 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:70 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:88 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:76 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display variable values formatted)." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:112 +msgid "" +"[v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): Alpha " +"release update" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:114 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598): Update README.md " +"compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:116 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569): Add workflow for " +"continuous delivery" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:118 +msgid "" +"[#602](https://github.com/fortran-lang/fpm/pull/602): fix(fpm_compiler): " +"intel windows release flag was incorrect" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:120 +msgid "" +"[#607](https://github.com/fortran-lang/fpm/pull/607): Repair --list " +"option and correct obsolete descriptions of the --list option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:122 +msgid "" +"[#612](https://github.com/fortran-lang/fpm/pull/612): Fix modules listing" +" (for install)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:124 +msgid "" +"[#613](https://github.com/fortran-lang/fpm/pull/613): Add: critical " +"section to mkdir in backend" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:126 +msgid "" +"[#616](https://github.com/fortran-lang/fpm/pull/616): Add: workflow to " +"make installer on push and release" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:128 +msgid "" +"[#614](https://github.com/fortran-lang/fpm/pull/614): Bump version to " +"0.5.0" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:130 +msgid "" +"[setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): Fix " +"Latest Option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:135 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:148 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:122 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): Cleanup the " +"backend output" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:137 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:150 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:124 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:107 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:121 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:139 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:123 +msgid "" +"[#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): --env switch " +"lets you specify the prefix of the compiler-related environment variables" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:168 +msgid "Use the ultimate symbol in a call to the IsPointer function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:169 +msgid "Add parsing/sema/serialization for 'bind' clause." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:171 +msgid "Add base of the FIR to LLVM IR pass" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:172 +msgid "Add various FIR to LLVM IR conversion patterns:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:173 +msgid "fir.unreachable" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:174 +msgid "fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:175 +msgid "fir.zero_bits" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:176 +msgid "fir.select and fir.select_rank" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:177 +msgid "fir.extract_value and fir.insert_value" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:178 +msgid "types - fir.box, fir.logical, fir.char, fir.ptr" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:179 +msgid "fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:180 +msgid "fir.convert" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:181 +msgid "fir.call" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:182 +msgid "fir.store and fir.load" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:183 +msgid "Add substr information to fircg.ext_embox and fircg.ext_rebox operations" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:184 +msgid "Use notifyMatchFailure in fir.zero_bits conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:185 +msgid "Restrict array type on fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:186 +msgid "Add test for FIR types conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:187 +msgid "Use contralized values for indexing box" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:188 +msgid "Add complex operations conversion from FIR LLVM IR" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:189 +msgid "Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:191 +msgid "Read environment variables directly" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:193 +msgid "Removed unnecessary comments in flang-omp-report plugin tests" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:194 +msgid "Remove the loop workarounds for nowait clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:195 +msgid "Add flang-omp-report summarising script" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:196 +msgid "Checks for pointers to intrinsic functions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:197 +msgid "Fold SPREAD" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:198 +msgid "Improve error message for misuse of NULL(mold) as data statement constant" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:199 +msgid "Fix crash on \"call system_clock(count_max=j)\"" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:200 +msgid "Fix combined folding of FINDLOC/MAXLOC/MINLOC" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:201 +msgid "Implement GET_ENVIRONMENT_VARIABLE(VALUE)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:202 +msgid "" +"Remove builder that takes SSA value instead of Attribute on " +"ExtractValueOp, InsetValueOp, and InsertOnRangeOp" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:203 +msgid "Remove getModel in DescriptorModel.h" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:204 +msgid "Set the addendum when establishing pointer section in descriptor" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:205 +msgid "Fix error in characteristics check at procedure pointer assignment" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:206 +msgid "Initial parsing/sema for 'align' clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:207 +msgid "Don't reference non-invariant symbols in shape expressions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:208 +msgid "Make subscript list argument a nullable pointer" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:209 +msgid "Distinguish error/warning cases for bad jumps into constructs" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:210 +msgid "Fix folding of EPSILON()" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:216 +msgid "32 Merge Requests merged in November 2021" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:217 +msgid "Support for same name interface and subroutine/function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:218 +msgid "Compile-time evaluation for bit intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:219 +msgid "Implement the `repeat` and `shape` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:220 +msgid "Variadic support for `min` and `max` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:221 +msgid "Implement the scalar `random_number` function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:222 +msgid "Fixes and improved error message for `read` and `write` statements" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:223 +msgid "Support the `final`, `intrinsic`, and `private` attributes" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:224 +msgid "Implement the `ieee_arithmetic` intrinsic module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:225 +msgid "Support for the `abstract` class" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:226 +msgid "Support for `assignment(=)` on `use` statement" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:234 +msgid "" +"Sebastian Ehlert presented the Fortran Package Manager at the " +"PackagingCon 2021 conference. You can watch the recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:237 +msgid "" +"Recordings of all FortranCon 2021 presentations are now available to view" +" in the [FortranCon YouTube " +"Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +" Enjoy!" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:240 +msgid "" +"We had our 20th Fortran Monthly call on November 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:9 +msgid "" +"With another year behind us, let's review the progress that the Fortran-" +"lang community has made. If you're new to Fortran-lang, here's a quick " +"intro: We're an open source community that aims to develop modern Fortran" +" tooling and nurture a rich ecosystem of libraries, as well as to provide" +" a friendly, helpful, and inclusive space for newcomers and experienced " +"Fortran programmers to work together. We started in late 2019 and have " +"been going ever since. If you're first discovering (or re-discovering) " +"Fortran through this article, welcome, and we hope it inspires you to try" +" Fortran for one of your projects. In this article we summarize new " +"developments from 2021, from flagship and new projects to community " +"development and outreach." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:24 +msgid "Standard Library (stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:26 +msgid "" +"To date, [33 people](https://github.com/fortran-" +"lang/stdlib/graphs/contributors) have contributed code to stdlib, and " +"more than 100 people have participated in discussions. More than a dozen " +"new modules have been added in 2021:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:31 +msgid "" +"`stdlib_array`: Provides `trueloc` and `falseloc` which allow you to " +"index an array based on a logical condition in a functional style" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:33 +msgid "`stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:34 +msgid "`stdlib_math`: Provides a number of common mathematical functions" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:35 +msgid "`stdlib_random`: Pseudo-random integer number generation" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:36 +msgid "" +"`stdlib_selection`: Selection procedures for selecting elements from an " +"array given a desired range" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:38 +msgid "" +"`stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm " +"and introsort by David Musser" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:40 +msgid "" +"`stdlib_specialfunctions`: Provides the Legendre function and its " +"derivative in support of the Gaussian quadrature procedures" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:42 +msgid "" +"`stdlib_stats_distribution_normal`: Functions to sample values from a " +"normal distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:44 +msgid "" +"`stdlib_stats_distribution_uniform`: Functions to sample values from a " +"uniform distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:46 +msgid "" +"`stdlib_string_type`: Provides a `string_type` derived type that " +"alleviates some limitations of the variable-length `character` variables." +" `string_type` is compatible with all intrinsic procedures that operate " +"on `character`." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:49 +msgid "" +"`stdlib_stringlist_type`: A derived type that is a 1-dimensional list of " +"strings" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:51 +msgid "" +"`stdlib_strings`: Provides a number of inquiry and manipulation " +"procedures that complement the intrinsic set" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:53 +msgid "`stdlib_version`: Allows querying the version of the stdlib library build" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:55 +msgid "" +"which brings us to a total of 23 modules in stdlib. You can read about " +"these modules in more detail on the [stdlib API docs " +"website](https://stdlib.fortran-lang.org)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:59 +msgid "" +"Besides the new modules, procedures, and derived types, there have been a" +" few key improvements in terms of stdlib delivery:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:62 +msgid "" +"You can now use stdlib as a dependency in your fpm projects, see " +"[here](https://github.com/fortran-lang/stdlib#build-with-fortran-" +"langfpm). This significantly lowers the bar for getting started with " +"stdlib." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:65 +msgid "" +"We had our first stdlib release (0.1.0) on October 4. As of now we don't " +"have a set release schedule, and plan to publish a new release when there" +" is significant new functionality. As stdlib matures and becomes more " +"widely used, we expect releases to become more frequent." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:70 +msgid "" +"We now maintain a [change log](https://github.com/fortran-" +"lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is " +"documented. This is a useful document to reference when you want to know " +"what's been added to the stdlib since the latest release." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:75 +msgid "" +"If you haven't tried stdlib yet, please do and let us know what you think" +" and how we can improve it. Our vision for stdlib is to provide basic " +"utilities that most Fortran projects use, as well as wider numerical " +"capabilities with the scope of NumPy and SciPy." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:80 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:82 +msgid "" +"Fortran Package Manager (fpm) is the package manager and build system for" +" Fortran. Its key goal is to make developing, distributing, and reusing " +"Fortran libraries and applications as easy and as fun as possible. In " +"2020, the big change for fpm was the transition from the prototype " +"implemented in Haskell to a pure Fortran implementation. Fpm has since " +"been used in increasingly more and ever larger Fortran projects." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:90 +msgid "" +"To date, [22 people](https://github.com/fortran-" +"lang/fpm/graphs/contributors) have contributed code to fpm. In 2021 fpm " +"has advanced from v0.1.3 to v0.5.0. Key additions this year include " +"(release version in parentheses):" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:95 +msgid "CLI arguments for linker, archiver, and C compiler (0.5.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:96 +msgid "Support for MPI and LFortran (0.4.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:97 +msgid "" +"Support for installed library modules via `external-modules` in the " +"manifest (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:99 +msgid "Automatic discovery of manifest files in parent directories (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:100 +msgid "Support for reading package version from file (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:101 +msgid "Support for include directories (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:102 +msgid "Support for `--flag` CLI option to specify compiler flags (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:103 +msgid "" +"`fpm build --show-model` displays the internal representation of a " +"package (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:105 +msgid "Allow hyphen in new package names (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:106 +msgid "" +"`fpm new` now supports `--full` and `--bare` to specify level of " +"scaffolding (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:109 +msgid "Check out also these fpm plugins:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:111 +msgid "" +"[fpm-search](https://github.com/brocolis/fpm-search): Adds the `fpm " +"search` command for searching for registered fpm packages from the " +"command line." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:114 +msgid "" +"[fpm-man](https://github.com/urbanjost/fpm-man): Adds the `fpm man` " +"command for displaying man-style help pages about Fortran intrinsics and " +"other language features." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:118 +msgid "" +"At the time of writing, there are almost 200 projects now using fpm. If " +"you haven't tried fpm yet, please do! It has truly been a game-changing " +"tool for many of us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:122 +msgid "We have many ideas that we want to pursue, such as:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:124 +msgid "" +"First-class integration with other package managers such as Spack and " +"Conda" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:125 +msgid "First-class integration with build systems like CMake and Meson" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:126 +msgid "" +"Improving [fpm's package registry](https://github.com/fortran-lang/fpm-" +"registry), etc." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:128 +msgid "" +"We are always looking for new contributors. If any of these projects " +"interest you, please join us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:139 +msgid "" +"Though not technically a Fortran-lang project, " +"[LFortran](https://lfortran.org) has been growing close to the Fortran-" +"lang community and projects largely thanks to its creator and lead " +"developer [Ondřej Čertík](https://github.com/certik) also being one of " +"the founding members of Fortran-lang. LFortran has been developing " +"rapidly this year and was released as a [Minimum Viable Product " +"(MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-" +"mvp/) in September. LFortran currently parses all of Fortran 2018 and " +"compiles a significant subset of the language. 16 people have contributed" +" code so far, and many more have reported bugs or participated in " +"discussions. If you haven't tried LFortran yet, please do and let us know" +" how it can best improve for your use case. You can help speed up " +"LFortran's development by contributing code and/or documentation " +"directly, or by donating funds to the project via " +"[NumFOCUS](https://numfocus.org/project/lfortran)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:155 +msgid "" +"Follow LFortran on Twitter at " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:157 +msgid "fortran-lang.org, Discourse, and social media" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:159 +msgid "" +"A major addition to the Fortran website this year is the [Fortran Best " +"Practices mini-book](https://fortran-lang.org/learn/best_practices). This" +" is a port and an update to the well-known " +"[fortran90.org](https://www.fortran90.org) by [Ondřej " +"Čertík](https://github.com/certik). It provides a plethora of tips on how" +" to write simple and idiomatic Fortran for numerical tasks, and how to " +"avoid some common gotchas. Give it a read and let us know how it can be " +"improved." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:168 +msgid "" +"The [Fortran Discourse](https://fortran-lang.discourse.group) is as " +"active as ever, with new users joining daily. There are currently 338 " +"active users out of a total of 537 registered users. The Fortran " +"Discourse is a great place to ask for help with Fortran code, post a " +"Fortran job opening, and discuss anything Fortran-related." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:174 +msgid "" +"We also continue to release the monthly newsletter where we document the " +"progress month-by-month, as well as post about any notable events in the " +"Fortran world. This newsletter is a great way to stay up to date with " +"Fortran-lang. If you're also on Twitter, follow our account " +"[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news " +"and updates, as well as the new " +"[@FortranTip](https://twitter.com/FortranTip) account, managed by " +"[Beliavsky](https://github.com/beliavsky), which brings daily Fortran " +"tips to your Twitter feed." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:184 +msgid "" +"Finally, we meet on monthly video calls to discuss issues and topics " +"related to all Fortran-lang projects. The calls are advertised on Fortran" +" Discourse and are open to everyone. Don't hesitate to join the call to " +"meet other Fortran-lang participants and take part in different " +"discussions." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:189 +msgid "New projects" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:191 +msgid "" +"In addition to the flagship projects summarized above, a few new projects" +" started or were adopted by Fortran-lang this year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:194 +msgid "fftpack" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:196 +msgid "" +"[fftpack](https://github.com/fortran-lang/fftpack) is a classic " +"collection of subroutines to perform the Fast Fourier Transform on real " +"and complex data. It is based on the classic [FFTPACK library from " +"Netlib](http://www.netlib.org/fftpack/). fftpack was adopted by Fortran-" +"lang in an effort to provide:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:202 +msgid "A community-maintained FFT library" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:203 +msgid "Bug fixes to the existing codebase" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:204 +msgid "Modern interfaces on top of the existing API" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:205 +msgid "fpm package for easy use as a dependency." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:207 +msgid "test-drive" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:209 +msgid "" +"[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and" +" easy-to-use testing framework developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). It follows a simple functional style " +"to collect and run your tests in parallel and print a minimal and clean " +"diagnostic printout to the standard output. Test-drive is currently used" +" by both stdlib and fpm for their own test suites. Give test-drive a test" +" drive for your next Fortran project!" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:217 +msgid "fpm-docs" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:219 +msgid "" +"[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user " +"documentation website for fpm, developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). Its key aim is to provide community-" +"maintained documentation across four target audiences/use cases:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:225 +msgid "**Tutorials**: for learning how to use fpm for Fortran development" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:226 +msgid "**How-to guides**: recipes for specific and concrete problems" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:227 +msgid "" +"**Design documents**: resources that document the design of various " +"aspects of fpm" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:229 +msgid "**References**: specification documents of fpm components" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:237 +msgid "" +"As the fpm user docs are now hosted at [fpm.fortran-lang.org](https://fpm" +".fortran-lang.org), the API docs are now located at [fortran-" +"lang.github.io/fpm/](https://fortran-lang.github.io/fpm/)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:241 +msgid "Google Summer of Code 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:243 +msgid "" +"2021 has been the first year for Fortran-lang to participate in the " +"[Google Summer of Code](https://summerofcode.withgoogle.com/) program. " +"Together with NumFOCUS and LFortran, Fortran-lang had six students who " +"worked on a variety of projects:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:248 +msgid "" +"[Aman Godara](https://github.com/Aman-Godara) (Improving strings in " +"stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:249 +msgid "[Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:250 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables " +"in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:251 +msgid "[Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:252 +msgid "[Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:253 +msgid "" +"[Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST " +"generation in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:255 +msgid "" +"You can read in more detail about their projects " +"[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:258 +msgid "" +"A big thank you to all students, mentors, and administrators, for their " +"great work, and of course, to the Google Summer of Code program for " +"making possible for students to participate." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:262 +msgid "" +"We plan to apply for Google Summer of Code in 2022 as well. The program " +"is no longer limited to students and anybody 18 or older can apply to " +"work on an open source project and get paid for it. If you're interested " +"participating in the program in 2022 with Fortran-lang, don't hesitate to" +" contact us and we'll guide you toward applying." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:268 +msgid "Conferences and papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:270 +msgid "FortranCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:272 +msgid "" +"Like in 2020, the Fortran event of this year was [FortranCon " +"2021](https://tcevents.chem.uzh.ch/event/14/), the international Fortran " +"conference, held on September 23-24. The keynote speaker this year was " +"[Damian Rouson](https://github.com/rouson), the head of the [Computer " +"Languages and Systems Software " +"(CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/)" +" group at the Lawrence Berkeley National Lab. Fortran-lang had a " +"dedicated session (a Fortran-lang minisymposium) on the second day of the" +" conference, with the talks about specific Fortran-lang projects as well " +"as the Google Summer of Code student presentations. FortranCon was hosted" +" at the University of Zurich (UZH), and organized by [Tiziano " +"Müller](https://github.com/dev-zero) from UZH and [Alfio " +"Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. " +"You can watch all FortranCon 2021 talks " +"[here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:287 +msgid "PackagingCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:289 +msgid "" +"Another big event for Fortran-lang was [PackagingCon 2021](https" +"://packaging-con.org/), a conference dedicated to package management " +"software and its community of developers. [Sebastian " +"Ehlert](https://github.com/awvwgk) presented fpm--you can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:299 +msgid "Papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:301 +msgid "" +"This year two papers have been written about Fortran-lang projects. The " +"first paper documents the motivation and goals of Fortran-lang: \"Toward " +"Modern Fortran Tooling and a Thriving Developer Community\" by Milan " +"Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, Laurence " +"Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas " +"([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382))." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:314 +msgid "" +"If Fortran-lang has been helpful in your work and if you want to cite " +"this paper, here's the citation info:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:333 +msgid "" +"We have also submitted a paper draft to IEEE's [Computing in Science & " +"Engineering " +"(CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) " +"journal, titled \"The State of Fortran\" and led by [Laurence " +"Kedward](https://github.com/lkedward). For this paper, we have [publicly " +"invited on Discourse](https://fortran-lang.discourse.group/t/fortran-" +"lang-community-paper/1232) anybody in the Fortran-lang community to " +"participate. Once published, this will be another paper that you can " +"cite. Stay tuned for its publication." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:343 +msgid "Summary" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:345 +msgid "2021 is behind us as another productive year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:346 +msgid "" +"Fortran-lang flagship projects such as [stdlib](https://github.com" +"/fortran-lang/stdlib), [fpm](https://github.com/fortran-lang/fpm), " +"[fortran-lang.org](https://fortran-lang.org), and " +"[LFortran](https://lfortran.org) continue to grow and gain traction." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:351 +msgid "" +"New Fortran-lang projects include [fftpack](https://github.com/fortran-" +"lang/fftpack), [test-drive](https://github.com/fortran-lang/test-drive), " +"and [fpm-docs](https://github.com/fortran-lang/fpm-docs)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:355 +msgid "" +"Fortran-lang participated in the [Google Summer of " +"Code](https://summerofcode.withgoogle.com/) program for the first time, " +"and had 6 students working on projects across stdlib, fpm, and LFortran." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:359 +msgid "" +"We had several presentations of Fortran-lang projects at [FortranCon " +"2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)" +" and [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:362 +msgid "" +"New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and " +"another is in review." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:365 +msgid "Thanks" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:367 +msgid "" +"We thank all people who contributed to Fortran-lang projects and " +"discussions on GitHub, Fortran Discourse, Fortran-lang mailing list, " +"Twitter, and elsewhere. It wouldn't have been possible without you all." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:9 +msgid "" +"Happy New Year and welcome to the January 2022 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:20 +msgid "" +"[#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): " +"Newsletter draft for December 2021" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:22 +msgid "" +"[#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): " +"Updated CaNS item so that it shows the version" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:24 +msgid "" +"[#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): Add " +"MCST LCC C, C++ and Fortran compiler" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:26 +msgid "" +"[#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): Use " +"HEAD to reference default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:28 +msgid "" +"[#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): 2021 " +"review article draft" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:30 +msgid "" +"[#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): " +"Adding Fortran Error Handler to packages index" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:48 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:50 +msgid "" +"[#586](https://github.com/fortran-lang/stdlib/pull/586): Update of " +"stdlib_stats.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:52 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581): Add routines for" +" saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:54 +msgid "[#590](https://github.com/fortran-lang/stdlib/pull/590): Update changelog" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:56 +msgid "" +"[#588](https://github.com/fortran-lang/stdlib/pull/588): Error on no " +"tests in CTest" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:58 +msgid "" +"[#585](https://github.com/fortran-lang/stdlib/pull/585): " +"stdlib_selection: correction of typos and addition of some checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:60 +msgid "" +"[#591](https://github.com/fortran-lang/stdlib/pull/591): Fix compilation " +"errors with makefiles due to command-line variable assignments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:62 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273): Probability " +"Distribution and Statistical Functions -- Normal Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:64 +msgid "" +"[#584](https://github.com/fortran-lang/stdlib/pull/584): Replace the call" +" to sort by select in stdlib_stats_median" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:66 +msgid "" +"[#593](https://github.com/fortran-lang/stdlib/pull/593): Probability " +"Distribution and Statistical Functions -- Uniform Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:68 +msgid "" +"[#594](https://github.com/fortran-lang/stdlib/pull/594): Minor update to " +"makefile installation instructions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:70 +msgid "" +"[#596](https://github.com/fortran-lang/stdlib/pull/596): Rename " +"references to default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:72 +msgid "" +"[#600](https://github.com/fortran-lang/stdlib/pull/600): Fix iomsg " +"allocation in save_npy" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:74 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488): [stdlib_math] " +"add `is_close` routines." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:76 +msgid "" +"[#597](https://github.com/fortran-lang/stdlib/pull/597): Add getline to " +"read whole line from formatted unit" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498): [stdlib_math] " +"add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:80 +msgid "" +"[#603](https://github.com/fortran-lang/stdlib/pull/603): Implement " +"trueloc/falseloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:82 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573): Revised Hash " +"functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:84 +msgid "" +"[#609](https://github.com/fortran-lang/stdlib/pull/609): Consistent spec " +"titles" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:86 +msgid "" +"[#610](https://github.com/fortran-lang/stdlib/pull/610): Fixed tables in " +"stdlib_hash_procedures.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:88 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499): [stdlib_linalg] " +"matrix property checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:90 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:43 +msgid "" +"[#613](https://github.com/fortran-lang/stdlib/pull/613): Ignore hash " +"testing binaries and logs" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:95 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:52 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:46 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:60 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:78 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:66 +msgid "[#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): Hash maps" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:97 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): " +"[stdlib_math] Add function `diff`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:99 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:54 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:48 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:62 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:80 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:68 +msgid "" +"[#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): Add " +"get_argument, get_variable and set_variable" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:139 +msgid "" +"[#634](https://github.com/fortran-lang/fpm/pull/634): Better extraction " +"of the Fortran compiler from the MPI wrapper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:144 +msgid "" +"[#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): Replace " +"polymorphic assignment with move_alloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:146 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): allow " +"backfilling of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:160 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:138 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:119 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:131 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:149 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:133 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://fpm.fortran-lang.org/en/tutorial) to learn how to build " +"your package with fpm, and the [manifest reference](https://fpm.fortran-" +"lang.org/en/spec/manifest.html) to learn what are all the things that you" +" can specify in the fpm.toml file." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:180 +msgid "Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:181 +msgid "Add !fir.vector type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:182 +msgid "Add type conversion for `fir.boxchar`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:183 +msgid "Add !fir.alloca conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:184 +msgid "Add placeholder conversion pattern for disptach operations" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:185 +msgid "Add fir.select_case conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:186 +msgid "Add !fir.field type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:187 +msgid "Transform `IsPresentOpConversion` and `AbsentOpConversion`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:188 +msgid "Add type conversion for FIR heap type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:189 +msgid "Add type conversion for FIR integer kind" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:190 +msgid "Add !fir.len type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:191 +msgid "Transform `fir.emboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:192 +msgid "Add fir.select_type conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:193 +msgid "Remove extra return in SelectTypeOpConversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:194 +msgid "Transform `fir.unboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:195 +msgid "Add fir.global_len conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:196 +msgid "Add the FIR LLVMPointer Type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:197 +msgid "Add fir.cmpc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:198 +msgid "Add fir.gentypedesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:199 +msgid "Transform `fir.boxchar_len` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:200 +msgid "Add missing `HasParent` in `fir_DTEntryOp`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:201 +msgid "Add fir.string_lit conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:202 +msgid "Add conversion patterns for slice, shape, shapeshift and shift ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:203 +msgid "Add fir.box_tdesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:204 +msgid "!fir.tdesc type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:205 +msgid "Add fir.constc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:206 +msgid "Add fir.embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:207 +msgid "Notify conversion failure for Proc ops, types" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:208 +msgid "Add tests for mlir::ComplexType conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:209 +msgid "Add `fir.end` conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:210 +msgid "Transform `fir.field_index` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:211 +msgid "Add a factory class for creating Complex Ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:212 +msgid "Add fir.no_reassoc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:213 +msgid "Set !fir.len_param_index conversion to unimplemented" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:214 +msgid "Add base for runtime builder unittests" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:215 +msgid "Add fir transformational intrinsic builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:216 +msgid "Add assignment runtime API builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:217 +msgid "Add data flow optimization pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:218 +msgid "Add array value copy pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:219 +msgid "Add fir reduction builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:220 +msgid "Add fir numeric intrinsic runtime call builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:221 +msgid "Add fircg.ext_embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:222 +msgid "Add fir derived type runtime builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:223 +msgid "Add fir character builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:224 +msgid "Add fircg.ext_array_coor conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:225 +msgid "Upstream conversion of the XRebox Op" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:226 +msgid "" +"Convert fir.allocmem and fir.freemem operations to calls to malloc and " +"free, respectively" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:228 +msgid "Fix vector cshift runtime with non zero lower bounds" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:229 +msgid "Respect NO_STOP_MESSAGE=1 in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:230 +msgid "Runtime performance improvements to real formatted input" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:231 +msgid "Allow write after non advancing read in IO runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:232 +msgid "Fix reversed comparison in RESHAPE() runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:233 +msgid "Define & implement a lowering support API IsContiguous() in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:234 +msgid "Don't close stderr in runtime (fixes STOP output)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:235 +msgid "Return arrays in Transfer runtime with SIZE argument" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:236 +msgid "Fix INQUIRE(FILE=,NAME=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:237 +msgid "Add ragged array runtime functions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:238 +msgid "Allow exterior branch to outermost WHERE construct statement" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:239 +msgid "Fix ORDER= argument to RESHAPE" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:240 +msgid "Fix rounding edge case in F output editing" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:241 +msgid "Handle ENTRY names in IsPureProcedure() predicate" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:242 +msgid "Allow implicit procedure pointers to associate with explicit procedures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:243 +msgid "Fix a bug in INQUIRE(IOLENGTH=) output" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:244 +msgid "Remove default argument from function template specialization" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:245 +msgid "Check ArrayRef base for contiguity in IsSimplyContiguousHelper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:246 +msgid "Deal with negative character lengths in semantics" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:247 +msgid "Fix INQUIRE(PAD=) and (POSITION=) for predefined units" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:248 +msgid "Add a semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:249 +msgid "Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:250 +msgid "Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:251 +msgid "Fix printing of constc and parsing of #fir.real" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:252 +msgid "Predefine unit 0 connected to stderr" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:253 +msgid "Add -fno-automatic, refine IsSaved()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:254 +msgid "Correct the argument keyword for AIMAG(Z=...)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:255 +msgid "Inclusive language: remove instances of master" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:256 +msgid "Return true in IsSymplyContiguous for allocatables" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:257 +msgid "Fix usage & catch errors for MAX/MIN with keyword= arguments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:258 +msgid "Re-fold bounds expressions in DATA implied DO loops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:259 +msgid "Correct INQUIRE(POSITION= & PAD=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:260 +msgid "Rearrange prototype & code placement of IsCoarray()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:261 +msgid "Replace notifyMatchFailure with TODO hard failures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:262 +msgid "TargetRewrite: Rewrite fir.address_of(func)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:263 +msgid "Fix folding of EXPONENT() intrinsic function" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:264 +msgid "OPEN(RECL=) handling for sequential formatted I/O" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:265 +msgid "Avoid potential deadlock in CloseAll()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:271 +msgid "" +"Beginning of refactoring of ASR (Abstract Semantic Representation) into a" +" standalone library" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:272 +msgid "New intrinsics: mvbits, bge, bgt, ble, blt, ibits" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:273 +msgid "generic procedure resolution fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:274 +msgid "FreeBSD fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:275 +msgid "Implement `.xor.` (LFortran as well as GFortran extension)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:276 +msgid "Fixes to large integers (BigInt) handling" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:277 +msgid "Added support for `private`, `final` attributes in derived types/classes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:279 +msgid "" +"The following people contributed code in December 2021: Ondřej Čertík, " +"Gagandeep Singh, Harris Snyder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:286 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:251 +msgid "" +"fpm has a new documentation website hosted at [fpm.fortran-" +"lang.org](https://fpm.fortran-lang.org/). This website will provide user-" +"oriented tutorials and how-to guides, as well as developer-oriented " +"reference documents and specifications. We welcome all contributions to " +"the fpm documentation, including translations to other languages. Please " +"visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to " +"get started." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:294 +msgid "" +"We had our 21st Fortran Monthly call on December 14. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:297 +msgid "" +"We also wrote a review of the Fortran-lang projects in 2021. Read it " +"[here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-" +"review/)." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:312 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:275 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:291 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:266 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:388 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:494 +msgid "[fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:319 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:282 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:299 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:274 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:396 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:502 +msgid "[fortran-lang/test-drive](https://github.com/fortran-lang/test-drive)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:9 +msgid "" +"Welcome to the February 2022 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:19 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:19 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:33 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:21 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:21 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:19 +msgid "" +"[#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): Fix " +"time calculation in the PRs script" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:39 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276): Probability " +"Distribution and Statistical Functions -- Exponential Distribution Module" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:41 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605): [stdlib_math] " +"Add function `diff`" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:45 +msgid "" +"[#617](https://github.com/fortran-lang/stdlib/pull/617): Made format " +"constant public" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:47 +msgid "" +"[#622](https://github.com/fortran-lang/stdlib/pull/622): Fix Gauss " +"quadrature" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:92 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630): allow backfilling " +"of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:94 +msgid "" +"[#646](https://github.com/fortran-lang/fpm/pull/646): Respect user " +"provided main-files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:96 +msgid "" +"[#645](https://github.com/fortran-lang/fpm/pull/645): Update module " +"output directory command for flang-new/f18" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:98 +msgid "" +"[fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) [fpm-" +"docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) [fpm-" +"docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) [fpm-" +"docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) [fpm-" +"docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) [fpm-" +"docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): French " +"translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:105 +msgid "" +"[fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): Add " +"testing workflow for source examples" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:107 +msgid "" +"[fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): Update " +"Spanish translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:109 +msgid "" +"[fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): zh_CN: " +"Update Chinese translations" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:114 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): Ignore hidden" +" source files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:116 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:105 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:119 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:137 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:121 +msgid "" +"[#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): Enable " +"profiles in toml" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:118 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): Get user name" +" and email using got config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:120 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): Add note " +"about relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:130 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): " +"Dutch translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:132 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): " +"Chinese translation improvements" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:158 +msgid "Keep runtime function name in comment" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:159 +msgid "Add a conversion for !fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:160 +msgid "Add a new memory allocation rewrite pass." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:161 +msgid "Correct and reenable test that was removed by MLIR." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:162 +msgid "Fix overallocation by fir-to-llvm-ir pass" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:164 +msgid "Add some semantic checks for threadprivate and declare target directives" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:165 +msgid "Simplify RaggedArrayHeader and make it plain C struct" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:166 +msgid "Fix folding of ac-implied-do indices in structure constructors" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:167 +msgid "Avoid code duplication in mixed expressions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:168 +msgid "Add test with shape for allocmem and freemem" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:169 +msgid "Make the frontend driver error out when requesting multiple actions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:170 +msgid "Add semantics tests for co_reduce, co_min, and co_max" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:171 +msgid "Use GNUInstallDirs to support custom installation dirs." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:172 +msgid "Enable support for conversion of recursive record types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:173 +msgid "Separate temporary and user-specified object files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:174 +msgid "update to reflect MLIR LLVM::GEPOp changes" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:175 +msgid "Do not lose call in shape inquiry on function reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:176 +msgid "Fix the documentation on how to build flang" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:177 +msgid "Add tests for converting arrays and refs to arrays" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:178 +msgid "Make the \"flang\" wrapper script check the Bash version" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:179 +msgid "Fix handling of space between # and name in preprocessor stringification" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:180 +msgid "RESHAPE(PAD=) can be arbitrary array rank" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:181 +msgid "" +"Any type can appear in a structure constructor for an unlimited " +"polymorphic allocatable component" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:182 +msgid "Implement semantics for DEC STRUCTURE/RECORD" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:183 +msgid "Extension: initialization of LOGICAL with INTEGER & vice versa" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:184 +msgid "Allow initialization in blank COMMON" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:185 +msgid "Support extension intrinsic function variations on ABS" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:186 +msgid "Allow pointers to non-sequence types in sequence types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:187 +msgid "\"CFI\" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:188 +msgid "Legacy extension: non-character formats" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:189 +msgid "Signal runtime error on WRITE after ENDFILE" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:190 +msgid "Don't blank-fill remaining lines in internal output" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:191 +msgid "Accept ENTRY names in generic interfaces" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:192 +msgid "Support substring references in NAMELIST input" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:198 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:311 +msgid "**Compiling `stdlib` with `lfortran`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:200 +msgid "" +"[stdlib: Implement `AINT` intrinsic " +"Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:201 +msgid "" +"[Draft: Sprint Bug fixing to compile stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:203 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:317 +msgid "**Addition of ASR Optimization Passes**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:205 +msgid "" +"[Added pass for converting division to multiplication " +"operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:206 +msgid "" +"[Adding LLVM backend for flip " +"sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:208 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:323 +msgid "**`libasr`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:210 +msgid "" +"[Move more header files into " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:211 +msgid "" +"[Move exception.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:212 +msgid "" +"[Move string_utils.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:213 +msgid "" +"[Move location.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:214 +msgid "" +"[Move stacktrace.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:215 +msgid "" +"[Move colors.h and asr_scopes.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:216 +msgid "" +"[Move bwriter.h and modfile.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:217 +msgid "" +"[Move config.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:218 +msgid "" +"[CI: do not run parent cmake in libasr " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:219 +msgid "" +"[Split " +"serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:220 +msgid "" +"[Nullify in ASR, LLVM, scalar " +"types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:221 +msgid "" +"[Remove unused " +"SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:222 +msgid "" +"[Separate evaluators into LFortran and libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:223 +msgid "" +"[utils.h and parser.h split into lfortran/libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:224 +msgid "" +"[Expose rl_path from " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:225 +msgid "" +"[CI: build libasr in an isolated " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:226 +msgid "" +"[Use the libasr's CMakeLists in LFortran's " +"one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:227 +msgid "" +"[Refactored `libasr/pass` framework and some bug " +"fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:229 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:348 +msgid "**Miscellaneous**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:231 +msgid "" +"[fixes for windows compilation (defining NOMINMAX), installation-" +"instructions for Windows/Visual " +"Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:232 +msgid "" +"[Update " +"gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:233 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:234 +msgid "" +"[Abstracting out, visit_Program, visit_Subroutine, visit_Function, state " +"variables from " +"passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:235 +msgid "" +"[Draft: Add a test for " +"pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:236 +msgid "" +"[Fix order deps " +"ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:237 +msgid "" +"[link to static zlib to avoid runtime " +"dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:361 +msgid "**Contributors**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:364 +msgid "[Ondřej Čertík](https://gitlab.com/certik)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:242 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:363 +msgid "[Gagandeep Singh](https://gitlab.com/czgdp18071)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:243 +msgid "[Dominic Poerio](https://gitlab.com/dpoe)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:244 +msgid "[Tobias Loew](https://gitlab.com/tobias-loew)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:245 +msgid "[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:259 +msgid "" +"We had our 22st Fortran Monthly call on January 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:9 +msgid "" +"Welcome to the March edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:17 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:17 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:17 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:17 +msgid "Here's what's new in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:39 +msgid "" +"[#624](https://github.com/fortran-lang/stdlib/pull/624): [stdlib_math] " +"Minor update to `stdlib_math` module and document" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:44 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:58 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:76 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:64 +msgid "" +"[#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): Gamma " +"special function" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:86 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652): get user name and " +"email using git config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:88 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654): Ignore hidden " +"source files" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:90 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622): Cleanup the backend" +" output" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:92 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648): Add note about " +"relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:94 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): Dutch " +"translation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:96 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): Chinese " +"translation improvements" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:98 +msgid "" +"[fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): Update " +"plugin tutorial" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:103 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:117 +msgid "" +"[#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): add clean " +"command" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:113 +msgid "" +"[fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): " +"Add page about fpm logo" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:139 +msgid "Initial lowering for empty program" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:140 +msgid "Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:141 +msgid "Add lowering placeholders" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:142 +msgid "Add lowering for basic empty SUBROUTINE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:143 +msgid "Upstream partial lowering of EXIT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:144 +msgid "Lower basic STOP statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:145 +msgid "Lower PAUSE statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:146 +msgid "Add lowering for integer constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:147 +msgid "Lower integer constant code for STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:148 +msgid "Add fir.array_access op" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:149 +msgid "Add fir.array_amend operation definition" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:150 +msgid "Handle logical constant value for quiet in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:151 +msgid "Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:152 +msgid "Basic local variable lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:153 +msgid "Add lowering for ASCII character constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:154 +msgid "Handle character constant for error code in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:155 +msgid "Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:156 +msgid "Add missing CFI case for REAL and COMPLEX" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:157 +msgid "Add support for lowering the goto statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:158 +msgid "Add type conversion for !fir.box" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:159 +msgid "Add FIRInlinerInterface" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:160 +msgid "Lower simple RETURN statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:161 +msgid "" +"Upstream fix to allocmem codegen to deal with missing dimensions for " +"sequence of character types" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:162 +msgid "Lower basic function with scalar integer/logical return value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:163 +msgid "Enable scalar real type in lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:164 +msgid "Enable complex type in function lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:165 +msgid "Handle lowering of ranked array" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:166 +msgid "Lower simple scalar assignment" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:167 +msgid "Lower scalar negation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:168 +msgid "Lower basic binary operation for scalars" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:169 +msgid "Initial patch to lower a Fortran intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:170 +msgid "Lower real constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:171 +msgid "Lower complex constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:172 +msgid "Lower function and subroutine calls" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:173 +msgid "Handle allocatable dummy arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:174 +msgid "Lower allocatable assignment for scalar" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:175 +msgid "Simple array assignment lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:176 +msgid "Lower simple character return" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:177 +msgid "Lower Fortran intrinsic to a runtime call/llvm intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:178 +msgid "Lower integer comparison operation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:179 +msgid "Lower real comparison operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:180 +msgid "Lower logical comparison and logical operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:181 +msgid "Lower power operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:182 +msgid "Add complex operations lowering tests" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:183 +msgid "Lower basic IO statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:184 +msgid "Handle dynamic array lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:186 +msgid "Add support for `-emit-mlir`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:187 +msgid "Add support for `-emit-llvm`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:188 +msgid "Make `flang-new` always generate run-time type info" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:189 +msgid "Add support for `--target`/`--triple`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:191 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for atomic update " +"construct" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:192 +msgid "The device expression must evaluate to a non-negative integer value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:193 +msgid "" +"Remove clauses from OpenMP Dialect that are handled by the flang frontend" +" instead:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:194 +msgid "private, firstprivate, lastprivate, shared, default, copyin, copyprivate" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:196 +msgid "Implement a runtime routine to report fatal errors with source position" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:197 +msgid "Rename the runtime routine that reports a fatal user error" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:198 +msgid "runtime perf: larger I/O buffer growth increments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:199 +msgid "Add runtime interface for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:200 +msgid "Upstream runtime changes for inquiry intrinsics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:201 +msgid "Improve error message (initialized variable in pure subprogram)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:202 +msgid "Accept BOZ literals for some actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:203 +msgid "Accept sparse argument keyword names for MAX/MIN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:204 +msgid "Accept INDEX(..., BACK=array)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:205 +msgid "Fix OPEN/WRITE(SIGN='SUPPRESS')" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:206 +msgid "Handle FLUSH(unknown unit)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:207 +msgid "Allow explicit '+' in NAMELIST input subscripts" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:208 +msgid "Extension: skip over NAMELIST groups" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:209 +msgid "Add array operations documentation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:210 +msgid "Fix crash from USE-associated defined I/O subprograms" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:211 +msgid "Allow INQUIRE() on a child unit in user-defined I/O procedure" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:212 +msgid "Don't drop format string for external child I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:213 +msgid "Support DECIMAL='COMMA' mode in namelist I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:214 +msgid "Update tco tool pipline and add translation to LLVM IR" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:215 +msgid "Add MemoryAllocation pass to the pipeline" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:216 +msgid "Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:217 +msgid "Add a custom target for the \"flang\" wrapper script." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:218 +msgid "split character procedure arguments in target-rewrite pass" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:219 +msgid "Expand the semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:220 +msgid "Correct interpretation of RECL=" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:221 +msgid "Distinguish intrinsic from non-intrinsic modules" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:222 +msgid "" +"Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit " +"numbers" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:223 +msgid "Modify right modes for READ/WRITE vs OPEN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:224 +msgid "Add a semantics test for co_broadcast" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:225 +msgid "catch implicit interface incompatibility with global scope symbol" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:226 +msgid "Add an assert to guard against nullptr dereferencing" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:227 +msgid "Fix FlangOptimizerTests link on Solaris" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:228 +msgid "Handle \"type(foo) function f\" when foo is defined in f" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:229 +msgid "Refine pointer/target test for ASSOCIATED intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:230 +msgid "Allow mixed association of procedure pointers and targets" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:231 +msgid "Fix edge case in USE-associated generics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:232 +msgid "Fail at link time if derived type descriptors were not generated" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:233 +msgid "Allow for deferred-length character in EstablishDescriptor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:234 +msgid "Allow DATA initialization of derived types w/ allocatable components" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:235 +msgid "" +"Accept NULL(mold=x) as constant component value in constant structure " +"constructor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:236 +msgid "Ensure a characterized ENTRY in a PURE subprogram is also marked PURE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:237 +msgid "Accept structure constructor value for polymorphic component" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:238 +msgid "Remove deprecated parser/printer/verifier utilities" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:239 +msgid "Accept pointer assignment w/ remapping to function result" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:240 +msgid "Allow extension cases of EQUIVALENCE with optional warnings" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:241 +msgid "Handle CALL C_F_POINTER(without SHAPE=)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:242 +msgid "Make source location more accurate for actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:243 +msgid "Add Win32 to the list of supported triples" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:244 +msgid "Allow tabs as white space in formats" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:245 +msgid "Do not print format tabs" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:246 +msgid "Catch I/O of bad derived type at compile time" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:247 +msgid "Allow more concurrently open NEWUNIT= values, with recycling" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:253 +#, python-format +msgid "" +"LFortran is participating in GSoC, please see [GSoC 2022 Student " +"Instructions for " +"LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions)" +" for instructions how to apply" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:254 +msgid "19 Merge Requests merged" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:255 +msgid "New ASR optimizations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:256 +msgid "Addes support for fma (fused-multiply add) in LLVM" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:257 +msgid "Semantic improves to compile more of stdlib" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:263 +msgid "" +"Fortran-lang has been selected as a mentoring organization for Google " +"Summer of Code 2022! Thanks to everybody who helped prepare the " +"application. [GSoC](https://summerofcode.withgoogle.com/) is Google's " +"global, online program that allows newcomers to open-source to work on a " +"project and get paid for it. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. " +"Applications for contributors open **April 4** and close **April 19**. To" +" learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate as a contributor or a mentor, please let us know in this " +"thread and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:270 +msgid "" +"Fortran-lang community now maintains a modernized fork of the classic " +"library [minpack](https://github.com/fortran-lang/minpack). Give it a " +"try!" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:272 +msgid "" +"We had our 23rd Fortran Monthly call on February 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:275 +msgid "" +"US Fortran Standards Committee meeting #226 started on February 28. See " +"the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt)" +" and the submitted papers [here](https://j3-fortran.org/doc/meeting/226)." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:298 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:273 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:395 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:501 +msgid "[fortran-lang/minpack](https://github.com/fortran-lang/minpack)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:9 +msgid "" +"Welcome to the April edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:19 +msgid "" +"[#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): " +"Newsletter for March 2022" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:21 +msgid "" +"[#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): " +"Updated VS Code extensions" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:23 +msgid "" +"[#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): add " +"string array to learn" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:25 +msgid "" +"[#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): " +"Resolves typos #377" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:30 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:45 +msgid "" +"[#632](https://github.com/fortran-lang/stdlib/pull/632): doc: fix some " +"typos" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:47 +msgid "" +"[#629](https://github.com/fortran-lang/stdlib/pull/629): option to " +"disable testing by setting BUILD_TESTING to OFF" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:49 +msgid "" +"[#631](https://github.com/fortran-lang/stdlib/pull/631): Preparation for " +"0.2.0 release" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:51 +msgid "" +"[#637](https://github.com/fortran-lang/stdlib/pull/637): Only set Fortran" +" arguments for Fortran compiler" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:53 +msgid "" +"[#642](https://github.com/fortran-lang/stdlib/pull/642): Fix linking " +"issue with shared libraries" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:100 +msgid "" +"[#675](https://github.com/fortran-lang/fpm/pull/675): Fix for backtrace " +"error when file not found in: src/fpm_source_parsing.f90" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:102 +msgid "" +"[#677](https://github.com/fortran-lang/fpm/pull/677): Fix issue with " +"backend pretty output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:104 +msgid "" +"[#684](https://github.com/fortran-lang/fpm/pull/684): fix: remove remove " +"unnecessary space in fpm new cmd" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:106 +msgid "" +"[#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): " +"Update to v4 in usage example in README" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:111 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:131 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:119 +msgid "" +"[#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): fix: function" +" for getting executable path" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:113 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:133 +msgid "" +"[#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): Tree shaking " +"for modules" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:115 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:135 +msgid "" +"[#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): Add `library-" +"dir` to support `-Lpath`" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:151 +msgid "Lower IO open and close statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:152 +msgid "Lower basic IO file statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:153 +msgid "Lower inquire statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:154 +msgid "Handle module in lowering pass" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:155 +msgid "Lower more cases of assignments on allocatable variables" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:156 +msgid "Add lowering for host association" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:157 +msgid "Lower allocate and deallocate statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:158 +msgid "Lower sum intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:159 +msgid "Lower computed and assigned goto" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:160 +msgid "Lower associate construct" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:161 +msgid "Update ArrayValueCopy to support array_amend and array_access" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:162 +msgid "Lower more array character cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:163 +msgid "Lower basic derived types" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:164 +msgid "Lower where statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:165 +msgid "Lower general forall statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:166 +msgid "Lower pointer component in derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:167 +msgid "Lower of elemental calls in array expression" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:168 +msgid "Add tests for allocatable global" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:169 +msgid "Add support for linkonce_odr in FIR" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:170 +msgid "Lower elemental calls" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:171 +msgid "Lower ALL intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:172 +msgid "Lower common block" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:173 +msgid "Lower format statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:174 +msgid "Write a pass to annotate constant operands on FIR ops" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:175 +msgid "Lower ANY intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:176 +msgid "Add support for lowering the dot_product intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:177 +msgid "Add support for lowering the dim intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:178 +msgid "Add support for lowering of the ibits intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:179 +msgid "Lower more pointer assignments/disassociation cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:180 +msgid "Lower entry statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:181 +msgid "Lower alternate return" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:182 +msgid "Lower allocated intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:183 +msgid "" +"Add lowering for the following character related intrinsics: len, " +"len_trim, lge, lgt, lle and llt" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:184 +msgid "Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:185 +msgid "Lower random_[init|number|seed] intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:186 +msgid "Lower date_and_time and cpu_time intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:187 +msgid "Lower system_clock intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:188 +msgid "Add support for lowering of the ibset intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:189 +msgid "Lower transfer instrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:190 +msgid "Lower adjustl and adjustr intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:191 +msgid "Lower count intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:192 +msgid "Add lowering for the set_exponent intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:194 +msgid "Add support for -debug-dump-pft" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:195 +msgid "Add support for -S and implement -c/-emit-obj" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:196 +msgid "Add support for -mllvm" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:198 +msgid "[mlir]Generating enums in accordance with the guidelines" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:199 +msgid "Added basic connect to lower OpenMP constructs" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:200 +msgid "Support for dump OpenMP/OpenACC declarative directives PFT in module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:201 +msgid "Add OpenMP and OpenACC flags to bbc" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:202 +msgid "Allow data transfer stmt control list errors to be caught" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:203 +msgid "Extension: don't require commas between most edit descriptors in formats" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:204 +msgid "Fix result type of \"procedure(abs) :: f\"" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:205 +msgid "Catch READ/WRITE on direct-access file without REC=" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:206 +msgid "Honor RECL= in list-directed/namelist output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:207 +msgid "Accommodate module subprograms defined in the same module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:208 +msgid "Extend ProvenanceRange::Suffix() to handle crash case" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:209 +msgid "Remove bogus messages for actual/dummy procedure argument compatibility" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:210 +msgid "Support PDT type descriptors in codegen" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:211 +msgid "Handle optional TARGET associate in ASSOCIATED runtime" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:212 +msgid "Generate PDT runtime type info in the type definition scope" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:213 +msgid "Accommodate arrays with a zero-extent dimension in location folding" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:214 +msgid "Avoid crash case in provenance mapping" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:215 +msgid "Make per-argument intrinsic error messages more localized" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:216 +msgid "Use faster path for default formatted character input" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:217 +msgid "Runtime validation of SPREAD(DIM=dim) argument" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:218 +msgid "" +"Make uninitialized allocatable components explicitly NULL() in structure " +"constructors" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:219 +msgid "Fix module file missing USE for shadowed derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:220 +msgid "Add nonfatal message classes" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:221 +msgid "Distinguish usage and portability warning messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:222 +msgid "Use unix logical representation for fir.logical" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:223 +msgid "Fix extent computation in finalization" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:224 +msgid "Fix processing ModuleLikeUnit evaluationList" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:225 +msgid "Do not return true for pointer sub-object in IsPointerObject" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:226 +msgid "Fix DYLIB builds" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:227 +msgid "Improve runtime crash messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:228 +msgid "Add runtime support for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:229 +msgid "IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:230 +msgid "LBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:231 +msgid "Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:232 +msgid "fulfill -Msave/-fno-automatic in main programs too" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:233 +msgid "Relax fir.rebox verifier with characters" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:243 +msgid "" +"The \"State of Fortran\" paper by Kedward et al. has been accepted for " +"publication in the IEEE journal Computing in Science and Engineering " +"(CiSE). You can read the pre-print on " +"[arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early " +"Access on the [CiSE " +"website](https://ieeexplore.ieee.org/document/9736688)." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:245 +msgid "" +"The contributor application window for this year's [Google Summer of " +"Code](https://summerofcode.withgoogle.com) is approaching fast. It opens " +"**April 4** and closes **April 19**. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. To " +"learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate, please let us know and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:250 +msgid "" +"We had our 24th Fortran Monthly call on March 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:9 +msgid "" +"Welcome to the May edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:21 +msgid "" +"[#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): " +"Newsletter for April 2022" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:23 +msgid "" +"[#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): Add " +"librsb to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:25 +msgid "" +"[#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): Add " +"Elk to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:27 +msgid "" +"[#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): Add " +"pencil-code to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:29 +msgid "" +"[#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): Add " +"PROPACK to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:31 +msgid "" +"[#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): Add " +"feed link to HTML head element" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:35 +msgid "" +"[#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): fix " +"dependency of include files under `learn/building_programs` mini-book" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:40 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:26 +msgid "" +"[#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): " +"Add NUFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:42 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:28 +msgid "" +"[#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): " +"Add OpenFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:44 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:30 +msgid "" +"[#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): " +"Add 2DECOMP&FFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:46 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:32 +msgid "" +"[#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): " +"Add SLICOT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:48 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:34 +msgid "" +"[#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): " +"Add FATODE to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:63 +msgid "" +"[#646](https://github.com/fortran-lang/stdlib/pull/646): Export symbols " +"on Windows and set PIC flag for Unix" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:65 +msgid "" +"[#651](https://github.com/fortran-lang/stdlib/pull/651): Bugfix release " +"version 0.2.1" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:70 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): Add hint " +"for building error with make" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:72 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): fixed " +"32-bit integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:74 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:62 +msgid "" +"[#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): Feature: " +"loadtxt skiprows and max_rows" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:118 +msgid "" +"[#688](https://github.com/fortran-lang/fpm/pull/688): Small fix for " +"fpm_model" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:120 +msgid "[#665](https://github.com/fortran-lang/fpm/pull/665): add clean command" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:125 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): Fix show-" +"model option" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:127 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:129 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:117 +msgid "" +"[#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): fix: remove " +"extra space from help-test cmd" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:169 +msgid "Lower various intrinsics:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:170 +msgid "" +"character related intrinsics, array related intrinsics, index intrinsics," +" present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, " +"command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, " +"sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, " +"log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:171 +msgid "Add IO lowering test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:172 +msgid "Add more lowering tests for dummy arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:173 +msgid "Add equivalence lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:174 +msgid "Add array constructor lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:175 +msgid "Lower more array expressions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:176 +msgid "Lower statement function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:177 +msgid "Lower length on character storage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:178 +msgid "Lower select case statement" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:179 +msgid "Add OpenMP Conversion patterns" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:180 +msgid "Lower procedure designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:181 +msgid "Lower boxed procedure" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:182 +msgid "Flush and master constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:183 +msgid "Add lowering C interoperability test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:184 +msgid "Add misc lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:185 +msgid "Handle zero extent case in LBOUND" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:186 +msgid "Lower some coarray statements to their runtime function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:187 +msgid "Options to lower math intrinsics to relaxed, precise variants" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:188 +msgid "Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:189 +msgid "Added lowering support for atomic read and write constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:190 +msgid "fix LBOUND lowering with KIND and no DIM arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:191 +msgid "Keep fully qualified !fir.heap type for fir.freemem op" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:192 +msgid "Update the conversion code for fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:193 +msgid "Set lower bounds of array section fir.embox to one" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:194 +msgid "Fix fir.embox codegen with constant interior shape" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:195 +msgid "Do not fold fir.box_addr when it has a slice" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:197 +msgid "Make --version and -version consistent with clang" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:198 +msgid "Add support for -mmlir" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:199 +msgid "Make the plugin API independent of the driver internals" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:200 +msgid "Add support for generating executables" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:202 +msgid "Lowering critical construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:203 +msgid "Added assembly format for omp.wsloop and remove parseClauses" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:204 +msgid "Added lowering support for sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:205 +msgid "Added ReductionClauseInterface" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:206 +msgid "Added parallel sections translation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:207 +msgid "" +"Revert \"[Flang][OpenMP] Add semantic check for OpenMP Private, " +"Firstprivate and Lastprivate clauses.\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:208 +msgid "Added allocate clause translation for OpenMP block constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:209 +msgid "Support export/import OpenMP Threadprivate Flag" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:210 +msgid "Add implementation of privatisation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:211 +msgid "Add checks and tests for hint clause and fix empty hint" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:212 +msgid "OpenACC" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:213 +msgid "Lower enter data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:214 +msgid "Lower exit data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:215 +msgid "Lower init/shutdown directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:216 +msgid "Lower update directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:217 +msgid "Lower data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:218 +msgid "Lower wait directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:220 +msgid "Error recovery improvement in runtime (IOMSG=)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:221 +msgid "Initial UTF-8 support in runtime I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:222 +msgid "Ensure PointerDeallocate actually deallocate pointers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:223 +msgid "Add runtime API to catch unit number out of range" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:224 +msgid "Prefer process time over thread time in CPU_TIME" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:225 +msgid "Raise FP exceptions from runtime conversion to binary" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:226 +msgid "Preserve effect of positioning in record in non-advancing output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:227 +msgid "Don't skip input spaces when they are significant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:228 +msgid "Fix ENDFILE for formatted stream output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:229 +msgid "Don't emit empty lines for bad writes" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:230 +msgid "Ignore leading spaces even in BZ mode" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:231 +msgid "Fix edge-case FP input bugs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:232 +msgid "Enforce some limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:233 +msgid "Signal record read overrun when PAD='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:234 +msgid "Fix KIND=16 real/complex component I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:235 +msgid "Fix total MAXLOC/MINLOC for non-integer data" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:236 +msgid "Handle allocatable components when creating array temps" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:237 +msgid "[Parser] Add a node for individual sections in sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:238 +msgid "Add explanatory messages to grammar for language extensions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:239 +msgid "" +"Convert RUNTIME_CHECK to better error for user errors in " +"transformational.cpp" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:240 +msgid "Accept legacy aliases for intrinsic function names" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:241 +msgid "Expose error recovery cases in external I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:242 +msgid "Fix crash: ENTRY with generic interface of the same name" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:243 +msgid "Fold DBLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:244 +msgid "Single construct translation from PFT to FIR" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:245 +msgid "UBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:246 +msgid "Make not yet implemented messages more consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:247 +msgid "Fix LBOUND rewrite on descriptor components" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:248 +msgid "Ensure descriptor lower bounds are LBOUND compliant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:249 +msgid "Fix cycle-catcher in procedure characterization" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:250 +msgid "Fix bogus error from assignment to CLASS(*)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:251 +msgid "Mark C_ASSOCIATED specific procedures as PURE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:252 +msgid "Catch bad OPEN(STATUS=) cases" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:253 +msgid "Fold NEAREST() and its relatives" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:254 +msgid "Prevent undefined behavior in character MAXLOC folding" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:255 +msgid "Fix invalid overflow check" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:256 +msgid "Skip D when including D debug line" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:257 +msgid "Allow user to recover from bad edit descriptor with INTEGER" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:258 +msgid "Fold instantiated PDT character component length when needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:259 +msgid "Add one semantic check for allocatable/pointer argument association" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:260 +msgid "[cmake] Make CMake copy \"omp_lib.h\" into the build directory" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:261 +msgid "Handle dynamically optional argument in EXIT" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:262 +msgid "Fix semantic analysis for \"forall\" targeted by \"label\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:263 +msgid "Emit a portability warning for padding in COMMON" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:264 +msgid "Expand the num_images test coverage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:265 +msgid "Fold IBITS() intrinsic function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:266 +msgid "Error handling for out-of-range CASE values" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:267 +msgid "Respect left tab limit with Tn editing after ADVANCE='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:268 +msgid "Allow IMPLICIT NONE(EXTERNAL) with GenericDetails" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:269 +msgid "Do not ICE on out-of-range data statement designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:270 +msgid "Fix ICE for sqrt(0.0) evaluation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:271 +msgid "Fix float-number representation bug" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:272 +msgid "Fix intrinsic interface for DIMAG/DCONJG" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:273 +msgid "Improve appearance of message attachments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:274 +msgid "Fix combining cases of USE association & generic interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:275 +msgid "Defer all function result type processing" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:276 +msgid "Always encode multi-byte output in UTF-8" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:277 +msgid "Fix shape analysis of RESHAPE result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:278 +msgid "Use full result range for clock_gettime implementation of SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:279 +msgid "Correct interaction between generics and intrinsics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:280 +msgid "Make F0.1 output editing of zero edge case consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:281 +msgid "Inner INTRINSIC must not shadow host generic" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:282 +msgid "Local generics must not shadow host-associated generics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:283 +msgid "Fix TYPE/CLASS IS (T(...)) in SELECT TYPE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:284 +msgid "Allow modification of construct entities" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:285 +msgid "Defer NAMELIST group item name resolution" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:286 +msgid "Accept TYPE(intrinsic type) in declarations only for non-extension type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:287 +msgid "Finer control over error recovery with GetExpr()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:288 +msgid "Handle parameter-dependent types in PDT initializers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:289 +msgid "Upgrade short actual character arguments to errors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:290 +msgid "Allow POINTER attribute statement on procedure interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:291 +msgid "Accept KIND type parameter inquiries on RE, IM, etc." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:292 +msgid "Add & use a better visit()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:293 +msgid "Fix regression with recent work on intrinsic/generic interactions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:294 +msgid "Do not pass derived type by descriptor when not needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:295 +msgid "Fix LBOUND() folding for constant arrays" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:296 +msgid "Set LBOUND() folding for (x) expression as ones" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:297 +msgid "Semantics limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:298 +msgid "Do not ICE on recursive function definition in function result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:299 +msgid "Fold transformational bessels when host runtime has bessels" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:300 +msgid "Do not create arith.extui with same from/to type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:301 +msgid "Disambiguate F(X)=Y case where F is a function returning a pointer" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:302 +msgid "Avoid global name conflict when BIND(C,NAME=) is used" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:303 +msgid "Accept \"INFINITY\" as real input" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:304 +msgid "Add semantic checks for intrinsic function REDUCE()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:305 +msgid "Fix crash from PDT component init in module file" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:307 +msgid "" +"Call notes are recorded and publicly available " +"[here](https://docs.google.com/document/d/1Z2U5UAtJ-" +"Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit)." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:313 +msgid "" +"[Fixes for intrinsics while compiling `stdlib` using " +"`lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:314 +msgid "" +"[Draft: Stdlib " +"sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:315 +msgid "" +"[Draft: Sprint Compiling stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:319 +msgid "" +"[Implementing dead code elemination " +"optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:320 +msgid "" +"[Supporting duplication of Function/Subroutine " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:321 +msgid "" +"[Implementing loop unrolling optimization for fixed sized " +"loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:325 +msgid "" +"[AST->ASR: Remove " +"current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:326 +msgid "" +"[Added support keyword argument in class " +"procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:327 +msgid "" +"[Implementing ArrayBound node to replace `lbound`, `ubound` as function " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:328 +msgid "" +"[Implementing `Block` and " +"`BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:329 +msgid "" +"[Made scope private in SymbolTable struct and added interface methods to " +"modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:330 +msgid "" +"[Removing dead code which treats size intrinsic as " +"function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:331 +msgid "" +"[Implementing `ArraySize` node to replace function call to " +"`size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:332 +msgid "" +"[Fixing " +"adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:333 +msgid "" +"[Implementing " +"AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:334 +msgid "" +"[Move ASR.asdl into the src/libasr " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:335 +msgid "" +"[Fixing handling of return " +"type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:336 +msgid "" +"[Fill function in FunctionCall of len expr of Character type after " +"completing symbol " +"table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:337 +msgid "" +"[Fixing inline function calls pass to skip " +"intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:338 +msgid "" +"[Draft: ASR: Add all intrinsic operations into ASR " +"itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:341 +msgid "**WASM**" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:343 +msgid "[Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:344 +msgid "" +"[draft: Wasm Intial " +"Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:345 +msgid "" +"[draft: Compiling LFortran to " +"WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:350 +msgid "" +"[bind(c): Fix " +"call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:351 +msgid "" +"[bind(c): Add tests for i64, f32, " +"f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:352 +msgid "" +"[Fix a bug in a " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:353 +msgid "" +"[Add a test for calling Fortran from " +"C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:354 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:355 +msgid "" +"[CI: add git " +"safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:356 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:357 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:358 +msgid "" +"[Adding and Improving " +"tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:359 +msgid "" +"[Remove --target install and CMAKE_INSTALL_PREFIX from " +"build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:365 +msgid "[Ubaid Shaikh](https://gitlab.com/shaikhubaid769)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:371 +msgid "" +"We had our 25th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:374 +msgid "" +"Visual Studio Code's popular [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang" +".linter-gfortran) extension joined the [fortran-lang " +"GitHub](https://github.com/fortran-lang/vscode-fortran-support) " +"organization." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:376 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:482 +msgid "" +"Join and follow the [Fortran Discourse](https://fortran-" +"lang.discourse.group) to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:9 +msgid "" +"Welcome to the June edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:19 +msgid "" +"[#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): " +"Newsletter May 2022" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:21 +msgid "" +"[#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): Add " +"SeisSol to package index" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:49 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656): Add hint for " +"building error with make" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:51 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655): fixed 32-bit " +"integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:53 +msgid "" +"[#657](https://github.com/fortran-lang/stdlib/pull/657): Remove support " +"for manual make builds" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:58 +msgid "" +"[#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): Fix " +"erroneous gaussian quadrature points in gauss_legendre" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:60 +msgid "" +"[#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): Readme " +"update" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:108 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:110 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693): Fix show-model " +"option" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:115 +msgid "" +"[#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): Some cleanups" +" and minor fixes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:151 +msgid "Initial lowering of the Fortran Do loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:152 +msgid "Lower Unstructured do loops" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:154 +msgid "Define the default frontend driver triple" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:155 +msgid "Add support for consuming LLVM IR/BC files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:156 +msgid "Add support for -save-temps" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:157 +msgid "Switch to the MLIR coding style in the driver" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:158 +msgid "Fix driver method names overridden by the plugins" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:159 +msgid "Support parsing response files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:160 +msgid "Make driver accept -module-dir" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:161 +msgid "Add support for generating executables on MacOSX/Darwin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:163 +msgid "Add lowering stubs for OpenMP/OpenACC declarative constructs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:164 +msgid "Added tests for taskwait and taskyield translation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:165 +msgid "Restrict types for omp.parallel args" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:166 +msgid "Add omp.cancel and omp.cancellationpoint." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:167 +msgid "Initial lowering of the OpenMP worksharing loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:168 +msgid "Lowering for task construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:169 +msgid "Support lowering to MLIR for ordered clause" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:170 +msgid "Support for Collapse" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:171 +msgid "Upstream the lowering of the parallel do combined construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:172 +msgid "Fix the types of worksharing-loop variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:173 +msgid "Change the OpenMP atomic read/write test cases" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:175 +msgid "Correct emission & reading of unterminated final records" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:176 +msgid "Support B/O/Z editing of CHARACTER" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:177 +msgid "Use 1-based dim in transformational runtime error msg" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:178 +msgid "Change \"unsupported\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:179 +msgid "Fix input of NAN(...) on non-fast path" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:180 +msgid "Don't pad CHARACTER input at end of record unless PAD='YES'" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:181 +msgid "Enforce restrictions on unlimited format repetition" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:182 +msgid "(G0) for CHARACTER means (A), not (A0)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:183 +msgid "BACKSPACE after non-advancing I/O" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:184 +msgid "Use proper prototypes in Fortran_main. NFCI" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:185 +msgid "Clean up asynchronous I/O APIs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:186 +msgid "INQUIRE(UNIT=666,NUMBER=n) must set n=666" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:187 +msgid "Handle BACKSPACE after reading past EOF" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:188 +msgid "Fix MAXLOC/MINLOC when MASK is scalar .FALSE." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:189 +msgid "Fix UBOUND() constant folding for parentheses expr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:190 +msgid "Support FINDLOC/MAXLOC/MINLOC with scalar mask" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:191 +msgid "Handle common block with different sizes in same file" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:192 +msgid "Add one semantic check for implicit interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:193 +msgid "Fix semantics check for RETURN statement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:194 +msgid "Fix ICE for passing a label for non alternate return arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:195 +msgid "Add ExternalNameConversionPass to pass pipeline" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:196 +msgid "Fix AllocaOp/AllocMemOp type conversion" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:197 +msgid "" +"Support external procedure passed as actual argument with implicit " +"character type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:198 +msgid "Fix internal error with DATA-statement style initializers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:199 +msgid "Upstream support for POINTER assignment in FORALL" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:200 +msgid "Enforce a program not including more than one main program" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:201 +msgid "Retain binding label of entry subprograms" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:202 +msgid "Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:203 +msgid "Fold intrinsic functions SPACING() and RRSPACING()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:204 +msgid "Operands of SIGN() need not have same kind" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:205 +msgid "Correct folding of SPREAD() for higher ranks" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:206 +msgid "Refine handling of short character actual arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:207 +msgid "Ensure that structure constructors fold parameter references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:208 +msgid "" +"Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER " +"functions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:209 +msgid "Allow PDTs with LEN parameters in REDUCE()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:210 +msgid "Allow NULL() actual argument for optional dummy procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:211 +msgid "Allow implicit declaration of DATA objects in inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:212 +msgid "Refine error checking in specification expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:213 +msgid "Reverse a reversed type compatibility check" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:214 +msgid "Accept POINTER followed by INTERFACE" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:215 +msgid "Allow ENTRY function result symbol usage before the ENTRY" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:216 +msgid "Fold real-valued DIM(), MODULO() and MOD()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:217 +msgid "Enforce limit on rank + corank" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:218 +msgid "" +"Allow local variables and function result inquiries in specification " +"expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:219 +msgid "Change \"bad kind\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:220 +msgid "Fold complex component references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:221 +msgid "Fix check for assumed-size arguments to SHAPE() & al." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:222 +msgid "" +"Fix a performance problem with lowering of forall loops and creating too " +"many temporaries" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:223 +msgid "Warn for the limit on name length" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:224 +msgid "Install Fortran_main library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:225 +msgid "test conforming & non-conforming lcobound" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:226 +msgid "Fix use-associated false-positive error" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:227 +msgid "Fix character length calculation for Unicode component" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:228 +msgid "Allow global scope names that clash with intrinsic modules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:229 +msgid "Ignore BIND(C) binding name conflicts of inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:230 +msgid "Allow more forward references to ENTRY names" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:231 +msgid "Extension: Accept Hollerith actual arguments as if they were BOZ" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:232 +msgid "Alternate entry points with unused arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:233 +msgid "Fix crash in semantics after PDT instantiation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:238 +msgid "Gagandeep Singh (106):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:239 +msgid "Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:240 +msgid "Added test for kwargs in class procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:241 +msgid "Added support for kwargs in class procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:242 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:247 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:253 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:258 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:267 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:271 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:273 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:276 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:281 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:286 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:291 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:293 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:298 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:301 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:303 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:306 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:311 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:315 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:321 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:335 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:338 +msgid "Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:243 +msgid "Added support for i32 and i64 in repeat" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:244 +msgid "Added mergechar in merge interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:245 +msgid "Added is_iostat_eor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:246 +msgid "Removed compulsory evaluation of ishft" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:248 +msgid "" +"Use intrinsic type checking in assignment only when operator overloading " +"fails" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:249 +msgid "Perform casting in Compare only when overloaded is not available" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:250 +msgid "Set dest_type and source_type even though casting doesn't happen" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:251 +msgid "Use kind_value to generate type in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:252 +msgid "Added test for verifying SemanticError in case of non-constant kind input" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:254 +msgid "Add AssociateBlock and Block in serialization.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:255 +msgid "Include associate_06 in the integration_tests/CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:256 +msgid "Take into account output kind in LLVM's ArraySize visitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:257 +msgid "Added test for different output kinds in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:259 +msgid "Import procedures for overloaded operators as well" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:260 +msgid "Fixed tests for compiling correctly with gfortran" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:261 +msgid "Mangle name before importing procedures under generic procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:262 +msgid "Merged master into sprint_6" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:263 +msgid "Avoid manual imports while using overloaded symbols" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:264 +msgid "Remove symbol from to_be_imported_later" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:265 +msgid "" +"Added support for keyword arguments in generic procedures and fix total " +"arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:266 +msgid "Added test for generic procedures with keyword arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:268 +msgid "Added intrinsics: congjz, dotproduct and updated: merge" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:269 +msgid "Added matmul, transpose as ASR nodes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:270 +msgid "Added tests for matmul and transpose" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:272 +msgid "Added merge, dotproduct procedures for complex type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:274 +msgid "Add support for source kwarg in allocate" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:275 +msgid "Updated test for verifying source argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:277 +msgid "" +"Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in " +"comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:278 +msgid "Added shiftl, shiftr and count" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:279 +msgid "Added more implementations for abs, mod" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:280 +msgid "Added adjustr, lgt, llt, lle, lge for string type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:282 +msgid "Registered ieee_is_nan in comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:283 +msgid "Added support for pack intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:284 +msgid "Added support for transfer intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:285 +msgid "Use modern Fortran syntax for array constants" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:287 +msgid "ArrayTransfer -> Transfer rename" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:288 +msgid "Added generation code for expression replacer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:289 +msgid "Added ReplaceArgVisitor and generalised handle_return_type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:290 +msgid "Added tests for verifying arg replacer in return types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:292 +msgid "Added cmplx via ComplexConstructor node" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:294 +msgid "Import via use inside Function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:295 +msgid "Added support for matching Derived/ClassType" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:296 +msgid "Added support for falling back to intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:297 +msgid "Added to test verify importing procedures inside function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:299 +msgid "Added support for passing kind parameter to floor intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:300 +msgid "" +"Use CPtr for variables declared with type(c_ptr) 2. Set " +"Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in " +"extract_dimensions_from_ttype" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:302 +msgid "Added LLVM support for CLoc, CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:304 +msgid "Added integration test for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:305 +msgid "Added support for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:307 +msgid "Added error checking for presence of shape argument in c_f_pointer call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:308 +msgid "Fixed ArrayConstant type and raise error is shape is not rank 1" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:310 +msgid "Implemented c_f_pointer for non-array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:312 +msgid "Added test with pointer array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:313 +msgid "Shifted type generation to a function in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:314 +msgid "Corrected llvm::Type* for array pointer variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:316 +msgid "" +"Fixed ArrayBound for array pointers 2. Shifted argument type generation " +"to a function and use recursion for Pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:317 +msgid "Added support for printing Pointer type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:318 +msgid "" +"Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return " +"ArrayBound instead of a function call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:319 +msgid "Use element type in ArrayRef instead of pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:320 +msgid "Syntax improvement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:322 +msgid "Removed warnings" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:323 +msgid "Adjust ArrayBound for ArrayConstant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:324 +msgid "Corrected arrays_13 by making iv, rv as target" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:325 +msgid "Stronger verification checks for CFPointer creation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:326 +msgid "Support for array inputs in CFPointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:327 +msgid "Improved bindc2 for array inputs in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:328 +msgid "" +"Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved " +"CFPointer in LLVM backend to not interfere with already stored array in " +"array pointer variables 3. Improved bindc2.f90 and made it robust to " +"cover more cases. 4. Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:329 +msgid "Fixed unused variable warnings in llvm_utils.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:330 +msgid "Use abstract methods in CFPointer for accessing array descriptor data" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:331 +msgid "Added test for ArrayRef in c_loc" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:332 +msgid "Minor update in bindc2 and bindc3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:333 +msgid "Fixed Complex case in duplicate type and intialise type at declaration" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:334 +msgid "Added support ArrayRef in CLoc in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:336 +msgid "" +"Added support for CPtr in arguments and fixed llvm::Type for intent(out) " +"for CPtr 2. Added support for constant arrays as shape in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:337 +msgid "Updated bindc4 for verifying constant arrays in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:340 +msgid "Naman Gera (1):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:341 +msgid "Update the C runtime library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:343 +msgid "Ondřej Čertík (136):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:344 +msgid "AST->ASR: Remove current_body" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:345 +msgid "Fix a bug in a test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:346 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:351 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:353 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:356 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:360 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:362 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:365 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:374 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:377 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:407 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:410 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:428 +msgid "Update tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:347 +msgid "bind(c): Add tests for i64, f32, f64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:348 +msgid "Update modules_18b.f90 to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:349 +msgid "Add tests for the other types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:350 +msgid "Comment out a non-working case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:352 +msgid "bind(c): Fix call_fortran_i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:354 +msgid "bind(c): Add a test for i32 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:355 +msgid "LLVM: implement value arguments in bind(c) procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:357 +msgid "Make modules_18b.f90 compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:358 +msgid "bind(c): test i64, f32, f64 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:359 +msgid "Update modules_18b to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:361 +msgid "ASR: Bring updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:363 +msgid "ASR: Updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:364 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:427 +msgid "Update the rest of the code to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:366 +msgid "C++ backend: implement ComplexConstructor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:367 +msgid "Add the simplest test for submodules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:368 +msgid "Add Logical to nested_vars" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:369 +msgid "Workaround a cmake bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:370 +msgid "Add a test for bind(c) with pointers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:371 +msgid "Rework the AST->ASR handling of floor()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:372 +msgid "Implement is_intrinsic_symbol()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:373 +msgid "Refactor floor() into lfortran_intrinsic_math3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:375 +msgid "Add a test case for imported derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:376 +msgid "Add value to all expr nodes except Constant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:378 +msgid "Implement expr_type() using ExprTypeVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:379 +msgid "Implement expr_value() using ExprValueVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:380 +msgid "iso_c_binding: add the c_loc() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:381 +msgid "Allow derived types as return values" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:382 +msgid "ASR: Represent c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:383 +msgid "Add ASR test for c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:385 +msgid "ASR: Add string conversion for derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:386 +msgid "Add a CPtr() type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:387 +msgid "Make c_loc() return CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:388 +msgid "LLVM: handle CPtr in convert_args()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:389 +msgid "LLVM: Comment out visit_CFPointer (WIP)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:390 +msgid "CI: pin mkdocs-material and mkdocs versions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:391 +msgid "Fix spelling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:393 +msgid "Shorten the help for --show-wat to fit 80 columns" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:394 +msgid "Git ignore wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:395 +msgid "Move emit_wat out of LLVM ifdef" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:396 +msgid "Generate wasm_visitor.h in ci/build.xsh" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:397 +msgid "Enable WAT tests in run_tests.py" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:398 +msgid "Add a test for WASM" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:399 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:444 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:447 +msgid "Update reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:400 +msgid "Implement FortranEvaluator::get_wasm()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:401 +msgid "Use asr_to_wasm_bytes_stream() in asr_to_wasm" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:402 +msgid "WASM: Add 64 bit BinOp operations" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:403 +msgid "WASM: handle i64 arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:404 +msgid "WASM: Add a test for i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:405 +msgid "Move the wasm_instructions_visitor.py to libasr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:406 +msgid "Update ASR from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:408 +msgid "Bring more ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:409 +msgid "Bring in name mangling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:411 +msgid "Add a test for passing through pointers via C" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:412 +msgid "LLVM: implement debug ASR printing" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:413 +msgid "LLVM: Use `deftype` to implement interfaces" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:414 +msgid "LLVM: Pass type(c_ptr) by value properly" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:415 +msgid "Pass \"n\" by reference for now" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:416 +msgid "Pass arguments by value for bind(c)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:417 +msgid "Only do the load if it is a pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:418 +msgid "LLVM: Use an ASR condition instead of LLVM one" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:419 +msgid "lfortran_intrinsic_string: depend iso_fortran_env" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:420 +msgid "Enable bindc_01 LLVM test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:421 +msgid "Add a test for pointer argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:422 +msgid "Add suffixes 1/2" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:423 +msgid "Add a callback2b test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:424 +msgid "Add a test for callback1b()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:425 +msgid "Get value to reference argument working" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:426 +msgid "Port ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:429 +msgid "ASR sync with LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:431 +msgid "Tapasweni Pathak (9):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:432 +msgid "Add markdown sample for intrinsic:math:asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:433 +msgid "Add doxygen docstring in lfortran intrinsic runtime asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:434 +msgid "Add comments for interface asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:435 +msgid "Add doxygen comment for lfortran_sasin_api" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:436 +msgid "Enhance presentation of information" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:437 +msgid "use retval for return values variable" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:438 +msgid "delete fortran doxygen comments docs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:439 +msgid "mkdocs: LFortran Intrinsics: asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:440 +msgid "add: mkdocs: code syntax highlighting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:442 +msgid "Ubaid (24):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:443 +msgid "Improve ceiling() test case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:445 +msgid "Specifying constants as double precision" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:446 +msgid "Update error condition check as suggested" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:448 +msgid "Code formatting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:449 +msgid "Add and improve namespace ending comments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:450 +msgid "Add wasm_instructions list" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:451 +msgid "Comment out few instructions that have temporary variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:452 +msgid "Add wasm_instructions_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:453 +msgid "" +"Add namespace related info and pass code as function parameter in " +"wasm_insts_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:454 +msgid "Add command in build0.sh to generate wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:455 +msgid "Add utility struct and functions defined in wasm_utils" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:456 +msgid "Add wasm_to_wat converter" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:457 +msgid "Include wasm_to_wat and wasm_utils in CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:458 +msgid "Define vector.resize()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:459 +msgid "Add --show-wat flag and emit_wat() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:460 +msgid "Declare and define get_wat() in fortran_evaluator" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:461 +msgid "" +"Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to" +" memory" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:462 +msgid "Fix warning by adding U and add comment" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:463 +msgid "Fix missing parameters bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:464 +msgid "Switch off WAT_DEBUG macro" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:465 +msgid "Remove debugging cout statements" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:466 +msgid "Move load_file() to top" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:472 +msgid "" +"The Fortran-lang Google Summer of Code 2022 program began on May 23. We " +"welcome five contributors: Arteev Raina, Ashirwad Mishra, Henil Shalin " +"Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. They will be working " +"on exciting projects from fpm and the Fortran website to improving the " +"LFortran compiler. Read more about their projects " +"[here](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang)." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:478 +msgid "We had our 26th Fortran Monthly call on May 16. Watch the recording below:" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:503 +msgid "" +"[fortran-lang/vscode-fortran-support](https://github.com/fortran-lang" +"/vscode-fortran-support)" +msgstr "" + diff --git a/locale/es/LC_MESSAGES/packages.po b/locale/es/LC_MESSAGES/packages.po new file mode 100644 index 000000000..12e54eac4 --- /dev/null +++ b/locale/es/LC_MESSAGES/packages.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/packages.rst:8 +msgid "Packages - The Fortran Programming Language" +msgstr "" + +#: ../../source/packages.rst:13 +msgid "Fortran Packages" +msgstr "" + +#: ../../source/packages.rst:17 ../../source/packages/data-types.rst:7 +#: ../../source/packages/examples.rst:7 ../../source/packages/graphics.rst:7 +#: ../../source/packages/interfaces.rst:7 ../../source/packages/io.rst:7 +#: ../../source/packages/libraries.rst:7 ../../source/packages/numerical.rst:7 +#: ../../source/packages/programming.rst:7 +#: ../../source/packages/scientific.rst:7 ../../source/packages/strings.rst:7 +msgid "A rich ecosystem of high-performance code" +msgstr "" + +#: ../../source/packages.rst:22 +msgid "Find a Package" +msgstr "" + +#: ../../source/packages.rst:37 +msgid "Package index" +msgstr "" + +#: ../../source/packages.rst:41 +msgid "" +"The fortran-lang package index is community-maintained and lists open " +"source Fortran-related projects. This includes large-scale scientific " +"applications, function libraries, Fortran interfaces, and developer " +"tools. |br| See `here `_ for how to get your project listed. " +"|br| Use the box above to search the package index by keyword, package " +"name, or author username." +msgstr "" + +#: ../../source/packages.rst:54 +msgid "Featured topics" +msgstr "" + +#: ../../source/packages.rst:64 +msgid "Browse Packages by Category" +msgstr "" + +#: ../../source/packages.rst:69 +msgid "`Data types and containers `_" +msgstr "" + +#: ../../source/packages.rst:71 ../../source/packages/data-types.rst:17 +msgid "Libraries for advanced data types and container classes" +msgstr "" + +#: ../../source/packages.rst:74 +msgid "`Interface libraries `_" +msgstr "" + +#: ../../source/packages.rst:76 ../../source/packages/interfaces.rst:17 +msgid "Libraries that interface with other systems, languages, or devices" +msgstr "" + +#: ../../source/packages.rst:79 +msgid "`Libraries `_" +msgstr "" + +#: ../../source/packages.rst:81 ../../source/packages/libraries.rst:18 +msgid "Fortran libraries for general programming tasks" +msgstr "" + +#: ../../source/packages.rst:84 +msgid "`Input, output and parsing `_" +msgstr "" + +#: ../../source/packages.rst:86 ../../source/packages/io.rst:17 +#: ../../source/packages/numerical.rst:17 +msgid "Libraries for reading, writing and parsing files and inputs" +msgstr "" + +#: ../../source/packages.rst:89 +msgid "`Graphics, plotting and user interfaces `_" +msgstr "" + +#: ../../source/packages.rst:91 ../../source/packages/graphics.rst:17 +msgid "" +"Libraries for plotting data, handling images and generating user " +"interfaces" +msgstr "" + +#: ../../source/packages.rst:94 +msgid "`Examples and templates `_" +msgstr "" + +#: ../../source/packages.rst:96 ../../source/packages/examples.rst:18 +msgid "Demonstration codes and templates for Fortran" +msgstr "" + +#: ../../source/packages.rst:99 +msgid "`Numerical projects `_" +msgstr "" + +#: ../../source/packages.rst:101 +msgid "Fortran libraries for linear algebra, optimization, root-finding etc." +msgstr "" + +#: ../../source/packages.rst:104 +msgid "`Programming utilities `_" +msgstr "" + +#: ../../source/packages.rst:106 ../../source/packages/programming.rst:17 +msgid "Error handling, logging, documentation and testing" +msgstr "" + +#: ../../source/packages.rst:109 +msgid "`Characters and strings `_" +msgstr "" + +#: ../../source/packages.rst:111 ../../source/packages/strings.rst:17 +msgid "Libraries for manipulating characters and strings" +msgstr "" + +#: ../../source/packages.rst:114 +msgid "`Scientific Codes `_" +msgstr "" + +#: ../../source/packages.rst:116 ../../source/packages/scientific.rst:18 +msgid "" +"Applications and libraries for applied mathematical and scientific " +"problems" +msgstr "" + +#: ../../source/packages/data-types.rst:3 ../../source/packages/examples.rst:3 +#: ../../source/packages/graphics.rst:3 ../../source/packages/interfaces.rst:3 +#: ../../source/packages/io.rst:3 ../../source/packages/libraries.rst:3 +#: ../../source/packages/numerical.rst:3 +#: ../../source/packages/programming.rst:3 +#: ../../source/packages/scientific.rst:3 ../../source/packages/strings.rst:3 +msgid "Featured Open Source Projects" +msgstr "" + +#: ../../source/packages/data-types.rst:9 ../../source/packages/examples.rst:9 +#: ../../source/packages/graphics.rst:9 ../../source/packages/interfaces.rst:9 +#: ../../source/packages/io.rst:9 ../../source/packages/libraries.rst:9 +#: ../../source/packages/numerical.rst:9 +#: ../../source/packages/programming.rst:9 +#: ../../source/packages/scientific.rst:9 ../../source/packages/strings.rst:9 +msgid "license" +msgstr "" + +#: ../../source/packages/data-types.rst:10 +#: ../../source/packages/examples.rst:10 ../../source/packages/graphics.rst:10 +#: ../../source/packages/interfaces.rst:10 ../../source/packages/io.rst:10 +#: ../../source/packages/libraries.rst:10 +#: ../../source/packages/numerical.rst:10 +#: ../../source/packages/programming.rst:10 +#: ../../source/packages/scientific.rst:10 ../../source/packages/strings.rst:10 +msgid "stars" +msgstr "" + +#: ../../source/packages/data-types.rst:11 +#: ../../source/packages/examples.rst:11 ../../source/packages/graphics.rst:11 +#: ../../source/packages/interfaces.rst:11 ../../source/packages/io.rst:11 +#: ../../source/packages/libraries.rst:11 +#: ../../source/packages/numerical.rst:11 +#: ../../source/packages/programming.rst:11 +#: ../../source/packages/scientific.rst:11 ../../source/packages/strings.rst:11 +msgid "forks" +msgstr "" + +#: ../../source/packages/data-types.rst:12 +#: ../../source/packages/examples.rst:12 ../../source/packages/graphics.rst:12 +#: ../../source/packages/interfaces.rst:12 ../../source/packages/io.rst:12 +#: ../../source/packages/libraries.rst:12 +#: ../../source/packages/numerical.rst:12 +#: ../../source/packages/programming.rst:12 +#: ../../source/packages/scientific.rst:12 ../../source/packages/strings.rst:12 +msgid "lastcommit" +msgstr "" + +#: ../../source/packages/data-types.rst:13 +#: ../../source/packages/examples.rst:13 ../../source/packages/graphics.rst:13 +#: ../../source/packages/interfaces.rst:13 ../../source/packages/io.rst:13 +#: ../../source/packages/libraries.rst:13 +#: ../../source/packages/numerical.rst:13 +#: ../../source/packages/programming.rst:13 +#: ../../source/packages/scientific.rst:13 ../../source/packages/strings.rst:13 +msgid "issues" +msgstr "" + +#: ../../source/packages/data-types.rst:14 +#: ../../source/packages/examples.rst:14 ../../source/packages/graphics.rst:14 +#: ../../source/packages/interfaces.rst:14 ../../source/packages/io.rst:14 +#: ../../source/packages/libraries.rst:14 +#: ../../source/packages/numerical.rst:14 +#: ../../source/packages/programming.rst:14 +#: ../../source/packages/scientific.rst:14 ../../source/packages/strings.rst:14 +msgid "release" +msgstr "" + diff --git a/locale/es/LC_MESSAGES/sphinx.po b/locale/es/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000..2d0fb74fa --- /dev/null +++ b/locale/es/LC_MESSAGES/sphinx.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/archives.html:3 +msgid "Archives" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/authors.html:2 +msgid "Authors" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/categories.html:3 +msgid "Categories" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/collection.html:47 +msgid "Read more ..." +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/languages.html:3 +msgid "Languages" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/locations.html:3 +msgid "Locations" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:5 +msgid "Update" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:12 +msgid "Author" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:24 +msgid "Location" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:35 +msgid "Language" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:46 +msgid "Category" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:57 +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/tagcloud.html:2 +msgid "Tags" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:60 +msgid "Tag" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:5 +msgid "Previous" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:15 +msgid "Next" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/recentposts.html:3 +msgid "Recent Posts" +msgstr "" + +#: ../../source/_templates/inpage_toc.html:25 +msgid "On this page" +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/community.po b/locale/fr/LC_MESSAGES/community.po new file mode 100644 index 000000000..2168602ec --- /dev/null +++ b/locale/fr/LC_MESSAGES/community.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/community.rst:17 +msgid "Community - The Fortran Programming Language" +msgstr "" + +#: ../../source/community.rst:21 +msgid "Fortran-lang Community" +msgstr "" + +#: ../../source/community.rst:25 +msgid "Collaboration for the advancement of Fortran" +msgstr "" + +#: ../../source/community.rst:30 +msgid "Fortran-lang Community Projects" +msgstr "" + +#: ../../source/community.rst:40 +msgid "Fortran Standard Library (stdlib)" +msgstr "" + +#: ../../source/community.rst:42 +msgid "" +"A community-driven project for a de facto 'standard' library for Fortran." +" The stdlib project is both a specification and a reference " +"implementation, developed in cooperation with the Fortran Standards " +"Committee." +msgstr "" + +#: ../../source/community.rst:44 +msgid "" +"`GitHub `_ `Documentation " +"`_ `Contributing `_" +msgstr "" + +#: ../../source/community.rst:48 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/community.rst:50 +msgid "" +"A prototype project to develop a common build system for Fortran packages" +" and their dependencies." +msgstr "" + +#: ../../source/community.rst:52 +msgid "" +"`GitHub `_ `Documentation " +"`_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:56 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/community.rst:58 +msgid "This website is open source and contributions are welcome!." +msgstr "" + +#: ../../source/community.rst:60 +msgid "" +"`GitHub `_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:82 +msgid "Get Involved" +msgstr "" + +#: ../../source/community.rst:97 +msgid "Join the Discussion" +msgstr "" + +#: ../../source/community.rst:98 +msgid "" +"The easiest way to join the community and contribute is by commenting on " +"issues and pull requests in the project repositories." +msgstr "" + +#: ../../source/community.rst:102 +msgid "" +"Whether Fortran beginner or seasoned veteran, your feedback and comments " +"are most welcome in guiding the future of Fortran-lang." +msgstr "" + +#: ../../source/community.rst:110 +msgid "Contributor Guide" +msgstr "" + +#: ../../source/community.rst:112 +msgid "" +"Want to contribute code and content? Check out the contributor guides in " +"each repository for information on the project workflow and recommended " +"practices. Contributor guide for stdlib" +msgstr "" + +#: ../../source/community.rst:117 +msgid "" +"`Contributor guide for stdlib `_ |br| `Contributor guide for fpm " +"`_ |br| " +"`Contributor guide for fortran-lang.org `_" +msgstr "" + +#: ../../source/community.rst:132 +msgid "Build and Test" +msgstr "" + +#: ../../source/community.rst:134 +msgid "" +"Get more involved with each project by cloning, building and testing it " +"on your own machine(s) and with your own codes; if something doesn't " +"work, create an issue to let us know! We value user feedback highly, be " +"it a bug report, feature request, or suggestion for documentation." +msgstr "" + +#: ../../source/community.rst:145 +msgid "Community Conduct" +msgstr "" + +#: ../../source/community.rst:147 +msgid "" +"As a community, we strive to make participation in our discussions and " +"projects a friendly and harassment-free experience for everyone. See the " +"full `Code of Conduct `_" +msgstr "" + +#: ../../source/community.rst:156 +msgid "Fortran-lang Contributors" +msgstr "" + +#: ../../source/community.rst:158 +msgid "" +"We are grateful for every contribution made by all members of the " +"community." +msgstr "" + +#: ../../source/community.rst:167 +msgid "source: https://git-contributor.com/" +msgstr "" + +#: ../../source/community.rst:171 +msgid "Contributors:" +msgstr "" + +#: ../../source/community.rst +msgid "card-img-top" +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/compilers.po b/locale/fr/LC_MESSAGES/compilers.po new file mode 100644 index 000000000..eb39a0123 --- /dev/null +++ b/locale/fr/LC_MESSAGES/compilers.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/compilers.md:10 +msgid "Compilers" +msgstr "" + +#: ../../source/compilers.md:16 +msgid "" +"[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a " +"mature free and open source compiler, part of the GNU Compiler " +"Collection." +msgstr "" + +#: ../../source/compilers.md:19 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler " +"wrapper around gfortran which enables the parallel programming features " +"of Fortran 2018 with gfortran." +msgstr "" + +#: ../../source/compilers.md:25 +msgid "" +"[Flang](https://github.com/llvm/llvm-project/tree/main/flang) is a new " +"front-end for Fortran 2018 that has been recently added to LLVM. It is " +"implemented in modern C++ and uses a Fortran-oriented MLIR dialect for " +"lowering to LLVM IR. This project is under active development." +msgstr "" + +#: ../../source/compilers.md:34 +msgid "" +"[Flang](https://github.com/flang-compiler/flang) is an open source " +"compiler based on the NVIDIA/PGI commercial compiler." +msgstr "" + +#: ../../source/compilers.md:40 +msgid "" +"[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based " +"Fortran compiler." +msgstr "" + +#: ../../source/compilers.md:48 +msgid "" +"[Intel " +"oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi" +"/all-toolkits.html) is Intel's suite of compilers, tools, and libraries " +"for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides [two " +"Fortran " +"compilers](https://software.intel.com/content/www/us/en/develop/articles" +"/intel-oneapi-fortran-compiler-release-notes.html):" +msgstr "" + +#: ../../source/compilers.md:53 +msgid "" +"Intel Fortran Compiler Classic (`ifort`), a mature compiler with full " +"Fortran 2018 support; and" +msgstr "" + +#: ../../source/compilers.md:55 +msgid "" +"Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler that " +"supports Fortran 95 and partially newer versions of the standard." +msgstr "" + +#: ../../source/compilers.md:58 +msgid "" +"Intel oneAPI is available for free. Currently the compiler supports " +"Linux, MacOS and Windows platforms and x86\\_64 architectures. Community " +"support is available for the free version at the [Intel Developer " +"forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p" +"/fortran-compiler)." +msgstr "" + +#: ../../source/compilers.md:65 +msgid "" +"The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) " +"release (7.0) has extensive support for legacy and modern Fortran " +"features including parallel programming with coarrays, as well as " +"additional support for programming with OpenMP." +msgstr "" + +#: ../../source/compilers.md:68 +msgid "" +"The Compiler also provides significant support for Fortran 2018 (atomic " +"operations, events and tasks, plus other smaller features), almost all of" +" Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. " +"All platforms include supporting tools for software development: source " +"file polishers, dependency generator for module and include files, call-" +"graph generator, interface builder and a precision unifier." +msgstr "" + +#: ../../source/compilers.md:77 +msgid "" +"The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and " +"Fortran compilers, former [PGI " +"compilers](https://www.pgroup.com/products/index.htm), support GPU " +"acceleration of HPC modeling and simulation applications with standard " +"C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math " +"libraries maximize performance on common HPC algorithms, and optimized " +"communications libraries enable standards-based multi-GPU and scalable " +"systems programming." +msgstr "" + +#: ../../source/compilers.md:79 +msgid "" +"NVHPC compilers are available free of charge. Currently the compiler " +"supports Linux platforms and x86\\_64, ppc64le and aarch64 architectures." +" Community support is available at the [HPC compiler " +"forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-" +"compilers/nvc-nvc-and-nvfortran/313)." +msgstr "" + +#: ../../source/compilers.md:86 +msgid "" +"The [Cray Compiling Environment " +"(CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-" +"Environment.pdf) is the cornerstone innovation of Cray's adaptive " +"computing paradigm. CCE builds on a well-developed and sophisticated Cray" +" technology base that identifies regions of computation that are either " +"sequential scalar, vector parallel or highly multithreaded. It includes " +"optimizing compilers that automatically exploit the scalar, vector and " +"multithreading hardware capabilities of the Cray system. CCE supports " +"Fortran, C and C++." +msgstr "" + +#: ../../source/compilers.md:96 +msgid "" +"[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-" +"compiler-power) for Linux is an industry standards-based programming tool" +" used to develop large and complex applications in the Fortran " +"programming language. It generates code that leverages the capabilities " +"of the latest POWER9 architecture and maximizes your hardware " +"utilization. IBM XL Fortran for Linux optimizes your infrastructure on " +"IBM Power Systems™ in support of extensive numerical, scientific and " +"high-performance computing." +msgstr "" + +#: ../../source/compilers.md:104 +msgid "" +"A community edition of the IBM XL compilers are available free of charge." +" The compilers support Linux and AIX platforms and ppc64le architectures." +msgstr "" + +#: ../../source/compilers.md:110 +msgid "" +"The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-" +"aocc/) compiler system is a high performance, production quality code " +"generation tool. The AOCC environment provides various options to " +"developers when building and optimizing C, C++, and Fortran applications " +"targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system " +"offers a high level of advanced optimizations, multi-threading and " +"processor support that includes global optimization, vectorization, " +"inter-procedural analyses, loop transformations, and code generation. AMD" +" also provides highly optimized libraries, which extract the optimal " +"performance from each x86 processor core when utilized. The AOCC Compiler" +" Suite simplifies and accelerates development and tuning for x86 " +"applications." +msgstr "" + +#: ../../source/compilers.md:122 +msgid "" +"The AOCC compilers are available free of charge and support Linux " +"platforms with x86\\_64 architectures." +msgstr "" + +#: ../../source/compilers.md:127 +msgid "" +"[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-" +"software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-" +"compiler). Tailored for HPC and scientific codes, with support for " +"popular Fortran and OpenMP standards and tuned for leading server-class " +"Arm-based platforms. Built on the open source Flang front-end, and the " +"LLVM‑based optimization and code generation back-end. Available as part " +"of the Arm Compiler for Linux package." +msgstr "" + +#: ../../source/compilers.md:135 +msgid "" +"[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran " +"delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, " +"extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical" +" debugger, native tool suite integration, AMDAL HPC scientific and " +"engineering library, and more. Pro Fortran includes Fast Data " +"Visualization, an Absoft exclusive technology for graphical rendering and" +" data output." +msgstr "" + +#: ../../source/compilers.md:144 +msgid "" +"[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-" +"development/technologies/developerstudio-features.html) is highly " +"optimized for Oracle systems, on-premise and in the cloud" +msgstr "" + +#: ../../source/compilers.md:147 +msgid "" +"Advanced code generation technology for the latest Oracle SPARC and x86 " +"based systems" +msgstr "" + +#: ../../source/compilers.md:148 +msgid "" +"Support for the latest industry standards, including C++14, C++11, C11 " +"and OpenMP 4.0 and extensive GCC compatibility features" +msgstr "" + +#: ../../source/compilers.md:149 +msgid "" +"Automatic code analysis during compilation and automatic stack overflow " +"protection at application runtime" +msgstr "" + +#: ../../source/compilers.md:154 +msgid "" +"LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the" +" classic [Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier " +"has full Fortran 95/90/77 compliance with extensive support for the " +"Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class " +"diagnostics. Includes the automatic-parallelizing GFortran compiler, " +"Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, " +"Winteracter WiSK Graphics package, and more." +msgstr "" + +#: ../../source/compilers.md:163 +msgid "" +"[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 " +"standards compliant compiler, capable of producing fast executables for " +"Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime " +"checking and a great range of supporting software. All standard and many " +"vendor-specific legacy language features are supported, so that Fortran " +"projects may be any combination of Fortran 77, Fortran 90 and Fortran 95." +" Some features of Fortran 2003 and 2008 have been " +"[added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx)." +" Silverfrost Fortran runs on Windows / x86_64. There is a free personal " +"edition." +msgstr "" + +#: ../../source/compilers.md:175 +msgid "" +"[The Fortran " +"compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) " +"conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports " +"many features from Fortran-2008 (ISO/IEC 1539-1:2010)." +msgstr "" + +#: ../../source/compilers.md:181 +msgid "" +"[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of " +"Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 " +"(ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 " +"(ISO/IEC 1539:2018). Used for russian processor architectures Elbrus " +"(e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture " +"is available." +msgstr "" + +#: ../../source/compilers.md:189 +msgid "" +"The following is a list of Fortran compilers that seem discontinued, so " +"we do not list them above:" +msgstr "" + +#: ../../source/compilers.md:192 +msgid "Apogee" +msgstr "" + +#: ../../source/compilers.md:193 +msgid "Edinburgh Portable Compilers" +msgstr "" + +#: ../../source/compilers.md:194 +msgid "Hewlett Packard" +msgstr "" + +#: ../../source/compilers.md:195 +msgid "Watcom" +msgstr "" + +#: ../../source/compilers.md:196 +msgid "PathScale" +msgstr "" + +#: ../../source/compilers.md:197 +msgid "G95" +msgstr "" + +#: ../../source/compilers.md:198 +msgid "Open64" +msgstr "" + +#: ../../source/compilers.md:199 +msgid "Unisys" +msgstr "" + +#: ../../source/compilers.md:203 +msgid "" +"Please let us know if there is any compiler that is not listed, or if we " +"listed a compiler in the Discontinued section and it is in fact actively " +"maintained." +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/index.po b/locale/fr/LC_MESSAGES/index.po new file mode 100644 index 000000000..ccd9f86c4 --- /dev/null +++ b/locale/fr/LC_MESSAGES/index.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/index.rst:3 ../../source/index.rst:8 +msgid "The Fortran Programming Language" +msgstr "" + +#: ../../source/index.rst:3 +msgid "Fortran, High-performance, parallel programming language" +msgstr "" + +#: ../../source/index.rst:14 +msgid "High-performance parallel programming language" +msgstr "" + +#: ../../source/index.rst:16 +msgid "Get started" +msgstr "" + +#: ../../source/index.rst:24 +msgid "Features" +msgstr "" + +#: ../../source/index.rst:28 +msgid "High performance" +msgstr "" + +#: ../../source/index.rst:30 +msgid "" +"Fortran has been designed from the ground up for computationally " +"intensive applications in science and engineering. Mature and battle-" +"tested compilers and libraries allow you to write code that runs close to" +" the metal, fast." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Statically and strongly typed" +msgstr "" + +#: ../../source/index.rst:36 +msgid "" +"Fortran is statically and strongly typed, which allows the compiler to " +"catch many programming errors early on for you. This also allows the " +"compiler to generate efficient binary code." +msgstr "" + +#: ../../source/index.rst:40 +msgid "Easy to learn and use" +msgstr "" + +#: ../../source/index.rst:42 +msgid "" +"Fortran is a relatively small language that is surprisingly easy to learn" +" and use. Expressing most mathematical and arithmetic operations over " +"large arrays is as simple as writing them as equations on a whiteboard." +msgstr "" + +#: ../../source/index.rst:46 +msgid "Versatile" +msgstr "" + +#: ../../source/index.rst:48 +msgid "" +"Fortran allows you to write code in a style that best fits your problem: " +"imperative, procedural, array-oriented, object-oriented, or functional." +msgstr "" + +#: ../../source/index.rst:52 +msgid "Natively parallel" +msgstr "" + +#: ../../source/index.rst:54 +msgid "" +"Fortran is a natively parallel programming language with intuitive array-" +"like syntax to communicate data between CPUs. You can run almost the same" +" code on a single CPU, on a shared-memory multicore system, or on a " +"distributed-memory HPC or cloud-based system. Coarrays, teams, events, " +"and collective subroutines allow you to express different parallel " +"programming patterns that best fit your problem at hand." +msgstr "" + +#: ../../source/index.rst:58 +msgid "FAQ" +msgstr "" + +#: ../../source/index.rst:62 +msgid "What is the status of Fortran?" +msgstr "" + +#: ../../source/index.rst:64 +msgid "" +"Fortran is still in active development. The latest revision of the " +"language is `Fortran 2018 " +"`_,and" +" the next one, with the working title Fortran 202x, is planned for " +"release in the next few years. Further, open source projects like the " +"`Standard Library `_ and the " +"`Fortran Package Manager `_ are in " +"active development." +msgstr "" + +#: ../../source/index.rst:68 +msgid "What is Fortran used for?" +msgstr "" + +#: ../../source/index.rst:70 +msgid "" +"Fortran is mostly used in domains that adopted computation early--science" +" and engineering. These include numerical weather and ocean prediction, " +"computational fluid dynamics, applied math, statistics, and finance. " +"Fortran is the dominant language of High Performance Computing and is " +"used to `benchmark the fastest supercomputers in the world. " +"`_" +msgstr "" + +#: ../../source/index.rst:74 +msgid "Should I use Fortran for my new project?" +msgstr "" + +#: ../../source/index.rst:76 +msgid "" +"If you're writing a program or a library to perform fast arithmetic " +"computation over large numeric arrays, Fortran is the optimal tool for " +"the job." +msgstr "" + +#: ../../source/index.rst:108 +msgid "Make Fortran better" +msgstr "" + +#: ../../source/index.rst:118 +msgid "Write proposals" +msgstr "" + +#: ../../source/index.rst:119 +msgid "" +"Have an idea about how to improve the language? You can write new " +"proposals or contribute to existing proposals to the Fortran Standard " +"Committee on `GitHub `_ " +"." +msgstr "" + +#: ../../source/index.rst:127 +msgid "Develop tools" +msgstr "" + +#: ../../source/index.rst:128 +msgid "" +"You can also help make Fortran better by contributing to its suite of " +"tools, such as `Standard Library `_ , `Package Manager `_" +" , or `this website `_ " +"." +msgstr "" + +#: ../../source/index.rst:138 +msgid "Write Fortran software" +msgstr "" + +#: ../../source/index.rst:139 +msgid "" +"Or just write Fortran software for your research, business, or " +"schoolwork. You can learn how to `get started here `_ ." +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/learn.po b/locale/fr/LC_MESSAGES/learn.po new file mode 100644 index 000000000..6f2a20c64 --- /dev/null +++ b/locale/fr/LC_MESSAGES/learn.po @@ -0,0 +1,15847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/learn.rst:4 +msgid "Learn" +msgstr "" + +#: ../../source/learn.rst:12 +msgid "Learn Fortran" +msgstr "" + +#: ../../source/learn.rst:16 +msgid "Learning resources for beginners and experts alike" +msgstr "" + +#: ../../source/learn.rst:20 +msgid "Getting Started" +msgstr "" + +#: ../../source/learn.rst:33 +msgid "" +"Try the quickstart Fortran tutorial, to get an overview of the language " +"syntax and capabilities. |br|" +msgstr "" + +#: ../../source/learn.rst:35 +msgid "" +" Quickstart tutorial" +msgstr "" + +#: ../../source/learn.rst:53 +msgid "" +"Ask a question in the Fortran-lang discourse - a forum for friendly " +"discussion of all things Fortran. |br|" +msgstr "" + +#: ../../source/learn.rst:55 +msgid "" +" Fortran-lang Discourse" +msgstr "" + +#: ../../source/learn.rst:65 +msgid "Mini-book Tutorials" +msgstr "" + +#: ../../source/learn.rst:92 +msgid "Other Resources" +msgstr "" + +#: ../../source/learn.rst:96 +msgid "On the web" +msgstr "" + +#: ../../source/learn.rst:111 +msgid "Online Courses" +msgstr "" + +#: ../../source/learn.rst:124 +msgid "In print" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:8 +msgid "Allocatable Arrays" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:10 +msgid "" +"The ``allocatable`` attribute provides a safe way for memory handling. In" +" comparison to variables with ``pointer`` attribute the memory is managed" +" automatically and will be deallocated automatically once the variable " +"goes out-of-scope. Using ``allocatable`` variables removes the " +"possibility to create memory leaks in an application." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:16 +msgid "" +"They can be used in subroutines to create scratch or work arrays, where " +"automatic arrays would become too large to fit on the stack." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:24 +msgid "" +"The allocation status can be checked using the ``allocated`` intrinsic to" +" avoid uninitialized access" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:37 +msgid "" +"To allocate variables inside a procedure the dummy argument has to carry " +"the ``allocatable`` attribute. Using it in combination with " +"``intent(out)`` will deallocate previous allocations before entering the " +"procedure:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:48 +msgid "The allocated array can be used afterwards like a normal array" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:55 +msgid "" +"An already allocated array cannot be allocated again without prior " +"deallocation. Similarly, deallocation can only be invoked for allocated " +"arrays. To reallocate an array use" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:64 +msgid "" +"Passing allocated arrays to procedures does not require the " +"``allocatable`` attribute for the dummy arguments anymore." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:87 +msgid "" +"Passing an unallocated array in this context will lead to an invalid " +"memory access. Allocatable arrays can be passed to ``optional`` dummy " +"arguments -- if they are unallocated the argument will not be present. " +"The ``allocatable`` attribute is not limited to arrays and can also be " +"associated with scalars, which can be useful in combination with " +"``optional`` dummy arguments." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:93 +msgid "" +"Allocations can be moved between different arrays with ``allocatable`` " +"attribute using the ``move_alloc`` intrinsic subroutine." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:125 +msgid "" +"Finally, allocations do not initialize the array. The content of the " +"uninitialized array is most likely just the bytes of whatever was " +"previously at the respective address. The allocation supports " +"initialization using the source attribute:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:134 +msgid "" +"The ``source`` keyword supports scalar and array valued variables and " +"constants." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:8 +msgid "Arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:10 +msgid "" +"Arrays are a central object in Fortran. The creation of dynamic sized " +"arrays is discussed in the [allocatable arrays " +"section](./allocatable_arrays.html)." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:13 +msgid "To pass arrays to procedures four ways are available" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:15 +msgid "*assumed-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:16 +msgid "*assumed-rank* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:17 +#: ../../source/learn/best_practices/element_operations.md:13 +msgid "*explicit-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:18 +msgid "*assumed-size* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:20 +msgid "" +"The preferred way to pass arrays to procedures is as *assumed-shape* " +"arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:33 +msgid "Higher-dimensional arrays can be passed in a similar way." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:42 +msgid "The array is simply passed by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:49 +msgid "" +"In this case no array copy is done, which has the advantage that the " +"shape and size information is automatically passed along and checked at " +"compile and optionally at runtime. Similarly, array strides can be passed" +" without requiring a copy of the array but as *assumed-shape* descriptor:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:61 +msgid "" +"This should always be your default way of passing arrays in and out of " +"subroutines. Avoid passing arrays as whole slices, as it obfuscates the " +"actual intent of the code:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:69 +msgid "" +"In case more general arrays should be passed to a procedure the *assumed-" +"rank* functionality introduced in the Fortran 2018 standard can be used" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:84 +msgid "" +"The actual rank can be queried at runtime using the ``select rank`` " +"construct. This easily allows to create more generic functions that have " +"to deal with different array ranks." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:88 +msgid "" +"*Explicit-shape* arrays can be useful for returning data from functions. " +"Most of their functionality can be provided by *assumed-shape* and " +"*assumed-rank* arrays but they find frequent use for interfacing with C " +"or in legacy Fortran procedures, therefore they will be discussed briefly" +" here." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:93 +msgid "" +"To use *explicit-shape* arrays, the dimension has to be passed explicitly" +" as dummy argument like in the example below" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:107 +msgid "For high-dimensional arrays additional indices have to be passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:117 +msgid "The routines can be invoked by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:125 +msgid "" +"Note that the shape is not checked, so the following would be legal code " +"that will potentially yield incorrect results:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:134 +msgid "" +"In this case the memory layout is preserved but the shape is changed. " +"Also, *explicit-shape* arrays require contiguous memory and will create " +"temporary arrays in case non-contiguous array strides are passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:138 +msgid "To return an array from a function with *explicit-shape* use" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:151 +msgid "" +"Finally, there are *assumed-size* arrays, which provide the least " +"compile-time and run-time checking and can be found frequently in legacy " +"code. They should be avoided in favour of *assumed-shape* or *assumed-" +"rank* arrays. An *assumed-size* array dummy argument is identified by an " +"asterisk as the last dimension, this disables the usage of this array " +"with many intrinsic functions, like ``size`` or ``shape``." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:158 +msgid "" +"To check for the correct size and shape of an *assumed-shape* array the " +"``size`` and ``shape`` intrinsic functions can be used to query for those" +" properties" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:166 +msgid "" +"Note that ``size`` returns the total size of all dimensions. To obtain " +"the shape of a specific dimension add it as second argument to the " +"function." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:169 +msgid "Arrays can be initialized by using an array constructor" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:176 +msgid "" +"The array constructor can be annotated with the type of the constructed " +"array" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:183 +msgid "Implicit do loops can be used inside an array constructor as well" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:191 +msgid "In order for the array to start with different index than 1, do:" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:8 +msgid "Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:10 +msgid "" +"A callback is a function that is passed as an argument to another " +"function." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:12 +msgid "" +"The preferred way of creating such a callback is to provide an *abstract " +"interface* declaring the signature of the callback. This allows to use " +"compile time checks for the passed callback." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:44 +msgid "" +"The function can then be used with a callback by importing the module as " +"shown in the following example" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:73 +msgid "" +"Exporting the abstract interface allows you to create procedure pointers " +"with the correct signature and also to extend the callback further as " +"shown here" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:8 +msgid "Element-wise Operations on Arrays" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:10 +msgid "" +"There are three approaches to perform element-wise operations on arrays " +"when using subroutines and functions:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:12 +msgid "`elemental` procedures" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:14 +msgid "" +"implementing the operation for vectors and write simple wrapper " +"subroutines (that use `reshape` internally) for each array shape" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:17 +msgid "" +"In the first approach, one uses the `elemental` keyword to create a " +"function like this:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:28 +msgid "" +"All arguments (in and out) must be scalars. You can then use this " +"function with arrays of any (compatible) shape, for example:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:39 +msgid "The output will be:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:49 +msgid "" +"In the above, typically `n` is a parameter and `x` is the array of an " +"arbitrary shape, but as you can see, Fortran does not care as long as the" +" final operation makes sense (if one argument is an array, then the other" +" arguments must be either arrays of the same shape or scalars). If it " +"does not, you will get a compiler error." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:55 +msgid "" +"The `elemental` keyword implies the `pure` keyword, so the procedure must" +" be pure. It results that `elemental procedures` can only use `pure` " +"procedures and have no side effects." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:58 +msgid "" +"If the elemental procedure algorithm can be made faster using array " +"operations inside, or if for some reasons the arguments must be arrays of" +" incompatible shapes, then one should use the other two approaches. One " +"can make `nroot` operate on a vector and write a simple wrapper for other" +" array shapes, e.g.:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:89 +msgid "And use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:97 +msgid "This will print:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:105 +msgid "Or one can use *explicit-shape* arrays as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:117 +msgid "Use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:125 +msgid "The output is the same as before:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:8 +msgid "File Input/Output" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:10 +msgid "" +"In Fortran files are managed by unit identifiers. Interaction with the " +"filesystem mainly happens through the ``open`` and ``inquire`` built-in " +"procedures. Generally, the workflow is to open a file to a unit " +"identifier, read and/or write to it and close it again." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:22 +msgid "" +"By default the file will be created if it is not existing already and " +"opened for both reading and writing. Writing to an existing file will " +"start in the first record (line) and therefore overwrite the file by " +"default." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:26 +msgid "" +"To create a read-only access to a file the ``status`` and ``action`` have" +" to be specified with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:36 +msgid "" +"In case the file is not present a runtime error will occur. To check for " +"the existence of a file prior to opening it the ``inquire`` function can " +"be used" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:47 +msgid "" +"Alternatively, the ``open`` procedure can return an optional *iostat* and" +" *iomsg*:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:59 +msgid "" +"Note that *iomsg* requires a fixed-length character variable with " +"sufficient storage size to hold the error message." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:62 +msgid "" +"Similarly, writing to a file happens by using the *status* and *action* " +"keyword. To create a new file use" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:72 +msgid "" +"Alternatively, ``status=\"replace\"`` can be used to overwrite an " +"existing file. It is highly recommended to first check for the existence " +"of a file before deciding on the *status* to use. To append to an output " +"file the *position* keyword can be specified explicitly with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:86 +msgid "" +"To reset the position in a file the built-in procedures ``rewind`` and " +"``backspace`` can be used. ``rewind`` will reset to the first record " +"(line), while ``backspace`` will return to the previous record (line)." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:90 +msgid "" +"Finally, to delete a file the file has to be opened and can be deleted " +"after closing with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:103 +msgid "" +"A useful IO feature is scratch files, which can be opened with " +"``status=\"scratch\"``. They are automatically deleted after closing the " +"unit identifier." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:8 +msgid "Floating Point Numbers" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:10 +msgid "" +"The default representation of floating point numbers is using single " +"precision (usually 32 bits / 4 bytes). For most applications a higher " +"precision is required. For this purpose a custom kind parameter can be " +"defined. The recommended way of defining kind parameters is to use" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:19 +msgid "" +"For many purposes it also suffices to directly infer the kind parameter " +"from a literal like here" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:26 +msgid "" +"or to rename the imported kind parameter from the ``iso_fortran_env`` " +"module" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:32 +msgid "" +"For some insightful thoughts on kind parameters see Doctor Fortran in it takes all " +"KINDs." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:35 +msgid "" +"It is recommended to have a central module to define kind parameters and " +"include them with use as necessary. An example for such a module is given" +" with" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:63 +msgid "" +"Floating point constants should always be declared including a kind " +"parameter suffix:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:72 +msgid "" +"It is safe to assign integers to floating point numbers without losing " +"accuracy:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:79 +msgid "" +"In order to impose floating point division (as opposed to integer " +"division `3/4` equal to `0`), one can convert the integer to a floating " +"point number by:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:88 +msgid "or simply separate the integer division with multiplication by `1.0_dp`" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:95 +msgid "" +"To print floating point numbers without losing precision use the " +"unlimited format specifier ``(g0)`` or the exponential representation " +"``(es24.16e3)``, which will give you 17 significant digits of printout." +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "allocatable arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "file io" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "modules programs" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "floating point" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "multidim arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "callbacks" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "style guide" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "element operations" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "integer division" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "type casting" +msgstr "" + +#: ../../source/learn/best_practices/index.md:9 +msgid "Fortran Best Practices" +msgstr "" + +#: ../../source/learn/best_practices/index.md:11 +msgid "" +"This mini-book collects a modern canonical way of doing things in " +"Fortran. It serves as a style guide and best practice recommendation for " +"popular topics and common tasks. Generally, a canonical solution or " +"pattern is presented and discussed. It is meant for programmers with " +"basic familiarity of the Fortran syntax and programming in general." +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:8 +msgid "Integer Division" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:10 +msgid "" +"Fortran distinguishes between floating point and integer arithmetic. It " +"is important to note that division for integers is always using integer " +"arithmetic. Furthermore, while Fortran uses the standard order-of-" +"operations (e.g. multiplication and division preceed addition and " +"subtraction, in the absence of parenthesis), operations of the same " +"precedence are evaluated from left to right. Consider the following " +"example for integer division of an odd number:" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:28 +msgid "" +"Be careful about whether you want to actually use integer arithmetic in " +"this context. If you want to use floating point arithmetic instead make " +"sure to cast to reals before using the division operator, or separate the" +" integers by multiplying by `1.0_dp`:" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:8 +msgid "Modules and Programs" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:10 +msgid "" +"Modules are the preferred way create modern Fortran libraries and " +"applications. As a convention, one source file should always contain only" +" one module, while the module name should match the filepath to allow " +"easy navigation in larger projects. It is also recommended to prefix " +"module names with the library name to avoid name clashes when used as " +"dependency in other projects." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:16 +msgid "An example for such a module file is given here" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:52 +msgid "" +"There are a few things in this example module to highlight. First, every " +"module starts with comments documenting the purpose and content of the " +"module. Similarly, every procedure starts with a comment briefly " +"describing its purpose and the intent of the dummy arguments. " +"Documentation is one of the most important parts of creating long-living " +"software, regardless of language." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:58 +msgid "" +"Second, imports (*use*) and exports (*public*) are explicitly given, this" +" allows on a glance at the module source to check the used and available " +"procedures, constants and derived types. The imports are usually limited " +"to the module scope rather than reimported in every procedure or " +"interface scope. Similarly, exports are made explicitly by adding a " +"*private* statement on a single line and explicitly listing all exported " +"symbols in *public* statements." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:66 +msgid "" +"Finally, the `implicit none` statement works for the whole module and " +"there is no need to repeat it within each procedure." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:69 +msgid "" +"Variables inside a module are static (*implicitly saved*). It is highly " +"recommended to limit the usage of module variables to constant " +"expressions, like parameters or enumerators only or export them as " +"*protected* rather than *public*." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:74 +msgid "" +"Submodules can be used to break long dependency chains and shorten " +"recompilation cascades in Fortran programs. They also offer the " +"possibility to provide specialized and optimized implementations without " +"requiring the use of preprocessor." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:78 +msgid "" +"An example from the Fortran standard library is the quadrature module, " +"which only defines interfaces to module procedures, but no " +"implementations" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:111 +msgid "" +"While the implementation is provided in separate submodules like the one " +"for the trapezoidal integration rule given here." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:145 +msgid "" +"Note that the module procedures do not have to be implemented in the same" +" submodule. Several submodules can be used to reduce the compilation load" +" for huge modules." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:148 +msgid "" +"Finally, when setting up a program, it is recommended to keep the actual " +"implementations in the program body at minimum. Reusing implementations " +"from modules allows you to write reusable code and focus the program " +"unit on conveying user input to the respective library functions and " +"objects." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:8 +msgid "Multidimensional Arrays" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:10 +msgid "" +"Multidimensional arrays are stored in column-major order. This means the " +"left-most (inner-most) index addresses elements contiguously. From a " +"practical point this means that the array slice ``V(:, 1)`` is " +"contiguous, while the stride between elements in the slice ``V(1, :)`` is" +" the dimension of the columns. This is important when passing array " +"slices to procedures which expect to work on contiguous data." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:17 +msgid "" +"The locality of the memory is important to consider depending on your " +"application, usually when performing operations on a multidimensional the" +" sequential access should always advance in unity strides." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:21 +msgid "" +"In the following example the inverse distance between two sets of points " +"is evaluated. Note that the points are stored contiguously in the arrays " +"``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most " +"index of the matrix ``a``." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:40 +msgid "" +"Another example would be the contraction of the third dimension of a rank" +" three array:" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:53 +msgid "" +"Contiguous array slices can be used in array-bound remapping to allow " +"usage of higher rank arrays as lower rank arrays without requiring to " +"reshape and potentially create a temporary copy of the array." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:57 +msgid "" +"For example this can be used to contract the third dimension of a rank " +"three array using a matrix-vector operation:" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:8 +msgid "Fortran Style Guide" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:10 +msgid "Naming Convention" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:13 +msgid "" +"Ultimately this is a matter of preference. Here is a style guide that we " +"like and that seems to be prevalent in most scientific codes (as well as " +"the Fortran standard library), and you are welcome to follow it." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:17 +msgid "" +"Use lowercase for all Fortran constructs (`do`, `subroutine`, `module`, " +"...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:19 +msgid "" +"Follow short mathematical notation for mathematical variables/functions " +"(`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:21 +msgid "" +"For other names use all lowercase: try to keep names to one or two " +"syllables; if more are required, use underscores to clarify (`sortpair`, " +"`whitechar`, `meshexp`, `numstrings`, `linspace`, `meshgrid`, `argsort`, " +"`spline`, `spline_interp`, `spline_interpolate`, `stoperr`, `stop_error`," +" `meshexp_der`)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:27 +msgid "" +"For example \"spline interpolation\" can be shortened to " +"`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, " +"but not to `splineint` (\"int\" could mean integration, integer, etc. ---" +" too much ambiguity, even in the clear context of a computational code). " +"This is in contrast to `get_argument()` where `getarg()` is perfectly " +"clean and clear." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:34 +msgid "" +"The above are general guidelines. In general, choosing the right name " +"certainly depends on the word being truncated as to whether the first " +"syllable is sufficient. Usually it is but clearly not always. Thus some " +"thought should go into step \"try to keep names to 2 syllables or less\" " +"since it can really affect the indicativeness and simplicity. Simple " +"consistent naming rules are a real help in this regard -- for both " +"collaboration and for one's own sanity when going back to some old code " +"you haven't seen in while." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:43 +msgid "Indentation" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:46 +msgid "" +"Use a consistent indentation to make your code readable. The amount of " +"indentation is a matter of preference, the most common choices are two, " +"three or four spaces." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:50 +msgid "Comparison to Other Languages" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:53 +msgid "" +"On the other hand, in most of the rest of the programming world, where " +"the main focus is, in one form or another, on defining and using large " +"sets of complex objects, with tons of properties and behaviors, known " +"only in the code in which they are defined (as opposed to defined by the " +"same notation throughout the literature), it makes more sense to use " +"longer, more descriptive names. The naming conventions one sees used in " +"more general-purpose languages such as C++ and Python, therefore, are " +"perfectly consistent with their more general-purpose missions. But " +"Fortran has a different mission (numerical scientific computing)." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:8 +msgid "Type Casting in Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:10 +msgid "" +"There are essentially five different ways to do type casting, each with " +"its own advantages and disadvantages." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:13 +msgid "" +"The methods I, II and V can be used both in C and Fortran. The methods " +"III and IV are only available in Fortran. The method VI is obsolete and " +"should not be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:17 +msgid "Work Arrays" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:20 +msgid "" +"Pass a \"work array\" which is packed with everything needed by the " +"caller and unpacked by the called routine. This is the old way -- e.g., " +"how LAPACK does it." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:24 +#: ../../source/learn/best_practices/type_casting.md:95 +#: ../../source/learn/best_practices/type_casting.md:179 +#: ../../source/learn/best_practices/type_casting.md:244 +#: ../../source/learn/best_practices/type_casting.md:296 +msgid "Integrator:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:53 +#: ../../source/learn/best_practices/type_casting.md:133 +#: ../../source/learn/best_practices/type_casting.md:206 +#: ../../source/learn/best_practices/type_casting.md:271 +#: ../../source/learn/best_practices/type_casting.md:326 +#: ../../source/learn/best_practices/type_casting.md:438 +msgid "Usage:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:86 +msgid "General Structure" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:89 +msgid "" +"Define a general structure which encompass the variations you actually " +"need (or are even remotely likely to need going forward). This single " +"structure type can then change if needed as future needs/ideas permit but" +" won't likely need to change from passing, say, real numbers to, say, and" +" instantiation of a text editor." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:166 +msgid "" +"There is only so much flexibility really needed. For example, you could " +"define two structure types for this purpose, one for Schroedinger and one" +" for Dirac. Each would then be sufficiently general and contain all the " +"needed pieces with all the right labels." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:171 +msgid "" +"Point is: it needn't be \"one abstract type to encompass all\" or bust. " +"There are natural and viable options between \"all\" and \"none\"." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:174 +msgid "Private Module Variables" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:177 +msgid "Hide the variable arguments completely by passing in module variables." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:236 +msgid "" +"However it is best to avoid such global variables -- even though really " +"just semi-global -- if possible. But sometimes it may be the simplest " +"cleanest way. However, with a bit of thought, usually there is a better, " +"safer, more explicit way along the lines of II or IV." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:241 +msgid "Nested functions" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:290 +msgid "Using type(c\\_ptr) Pointer" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:293 +msgid "" +"In C, one would use the `void *` pointer. In Fortran, one can use " +"`type(c_ptr)` for exactly the same purpose." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:364 +msgid "" +"As always, with the advantages of such re-casting, as Fortran lets you do" +" if you really want to, come also the disadvantages that fewer compile- " +"and run-time checks are possible to catch errors; and with that, " +"inevitably more leaky, bug-prone code. So one always has to balance the " +"costs and benefits." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:370 +msgid "" +"Usually, in the context of scientific programming, where the main thrust " +"is to represent and solve precise mathematical formulations (as opposed " +"to create a GUI with some untold number of buttons, drop-downs, and other" +" interface elements), simplest, least bug-prone, and fastest is to use " +"one of the previous approaches." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:376 +msgid "transfer() Intrinsic Function" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:379 +msgid "" +"Before Fortran 2003, the only way to do type casting was using the " +"`transfer` intrinsic function. It is functionally equivalent to the " +"method V, but more verbose and more error prone. It is now obsolete and " +"one should use the method V instead." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:384 +msgid "Examples:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:386 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:388 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:390 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:392 +msgid "Object Oriented Approach" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:395 +msgid "The module:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:432 +msgid "" +"The abstract type prescribes exactly what the integration routine needs, " +"namely a method to evaluate the function, but imposes nothing else on the" +" user. The user extends this type, providing a concrete implementation of" +" the eval type bound procedure and adding necessary context data as " +"components of the extended type." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:477 +msgid "Complete Example of void \\* vs type(c\\_ptr) and transfer()" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:480 +msgid "" +"Here are three equivalent codes: one in C using `void *` and two codes in" +" Fortran using `type(c_ptr)` and `transfer()`:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Language  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Method" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Link" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "C" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`void *`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Fortran" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`type(c_ptr)`  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`transfer()`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:489 +msgid "" +"The C code uses the standard C approach for writing extensible libraries " +"that accept callbacks and contexts. The two Fortran codes show how to do " +"the same. The `type(c_ptr)` method is equivalent to the C version and " +"that is the approach that should be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:494 +msgid "" +"The `transfer()` method is here for completeness only (before Fortran " +"2003, it was the only way) and it is a little cumbersome, because the " +"user needs to create auxiliary conversion functions for each of his " +"types. As such, the `type(c_ptr)` method should be used instead." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:8 +msgid "Build tools" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:10 +msgid "" +"Compiling your Fortran projects by hand can become quite complicated " +"depending on the number of source files and the interdependencies through" +" the module. Supporting different compilers and linkers or different " +"platforms can become increasingly complicated unless the right tools are " +"used to automatically perform those tasks." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:16 +msgid "" +"Depending on the size of your project and the purpose of project " +"different options for the build automation can be used." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:19 +msgid "" +"First, your integrated development environment probably provides a way to" +" build your program. A popular cross-platform tool is Microsoft's Visual Studio Code, but others exist, such as Atom, Eclipse Photran, and Code::Blocks. They offer a graphical user-interface," +" but are often very specific for the compiler and platform." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:29 +msgid "" +"For smaller projects, the rule based build system ``make`` is a common " +"choice. Based on the rules defined it can perform task like (re)compiling" +" object files from updated source files, creating libraries and linking " +"executables. To use ``make`` for your project you have to encode those " +"rules in ``Makefile``, which defines the interdependencies of all the " +"final program, the intermediary object files or libraries and the actual " +"source files. For a short introduction see [the guide on ``make" +"``](#using-make-as-build-tool)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:38 +msgid "" +"Maintenance tools like autotools and CMake can generate Makefiles or " +"Visual Studio project files via a high-level description. They abstract " +"away from the compiler and platform specifics." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:42 +msgid "" +"Which of those tools are the best choice for your projects depends on " +"many factors. Choose a build tool you are comfortable working with, it " +"should not get in your way while developing. Spending more time on " +"working against your build tools than doing actual development work can " +"quickly become frustrating." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:47 +msgid "" +"Also, consider the accessibility of your build tools. If it is restricted" +" to a specific integrated development environment, can all developers on " +"your project access it? If you are using a specific build system, does it" +" work on all platforms you are developing for? How large is the entry " +"barrier of your build tools? Consider the learning curve for the build " +"tools, the perfect build tool will be of no use, if you have to learn a " +"complex programming language first to add a new source file. Finally, " +"consider what other project are using, those you are depending on and " +"those that use (or will use) your project as dependency." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:59 +msgid "Using make as build tool" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:61 +msgid "" +"The most well-known and commonly used build system is called ``make``. It" +" performs actions following rules defined in a configuration file called " +"``Makefile`` or ``makefile``, which usually leads to compiling a program " +"from the provided source code." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:68 +msgid "" +"For an in-depth ``make`` tutorial lookup its info page. There is an " +"online version of this info page, available." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:70 +msgid "" +"We will start with the basics from your clean source directory. Create " +"and open the file ``Makefile``, we start with a simple rule called *all*:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:78 +msgid "" +"After saving the ``Makefile`` run it by executing ``make`` in the same " +"directory. You should see the following output:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:84 +msgid "" +"First, we note that ``make`` is substituting ``$@`` for the name of the " +"rule, the second thing to note is that ``make`` is always printing the " +"command it is running, finally, we see the result of running ``echo " +"\"all\"``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:89 +msgid "" +"We call the entry point of our ``Makefile`` always *all* by convention, " +"but you can choose whatever name you like." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:93 +msgid "" +"You should not have noticed it if your editor is working correctly, but " +"you have to indent the content of a rule with a tab character. In case " +"you have problems running the above ``Makefile`` and see an error like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:99 +msgid "" +"The indentation is probably not correct. In this case replace the " +"indentation in the second line with a tab character." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:105 +msgid "" +"Now we want to make our rules more complicated, therefore we add another " +"rule:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:117 +msgid "" +"Note how we declare variables in ``make``, you should always declare your" +" local variables with ``:=``. To access the content of a variable we use " +"the ``$(...)``, note that we have to enclose the variable name in " +"parenthesis." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:122 +msgid "" +"The declaration of variables is usually done with ``:=``, but ``make`` " +"does support *recursively expanded* variables as well with ``=``. " +"Normally, the first kind of declaration is wanted, as they are more " +"predictable and do not have a runtime overhead from the recursive " +"expansion." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:128 +msgid "" +"We introduced a dependency of the rule all, namely the content of the " +"variable ``PROG``, also we modified the printout, we want to see all the " +"dependencies of this rule, which are stored in the variable ``$^``. Now " +"for the new rule which we name after the value of the variable ``PROG``, " +"it does the same thing we did before for the rule *all*, note how the " +"value of ``$@`` is dependent on the rule it is used in." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:135 +msgid "Again check by running the ``make``, you should see:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:142 +msgid "" +"The dependency has been correctly resolved and evaluated before " +"performing any action on the rule *all*. Let's run only the second rule: " +"type ``make my_prog`` and you will only find the first two lines in your " +"terminal." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:147 +msgid "" +"The next step is to perform some real actions with ``make``, we take the " +"source code from the previous chapter here and add new rules to our " +"``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:164 +msgid "" +"We define ``OBJS`` which stands for object files, our program depends on " +"those ``OBJS`` and for each object file we create a rule to make them " +"from a source file. The last rule we introduced is a pattern matching " +"rule, ``%`` is the common pattern between ``tabulate.o`` and " +"``tabulate.f90``, which connects our object file ``tabulate.o`` to the " +"source file ``tabulate.f90``. With this set, we run our compiler, here " +"``gfortran`` and translate the source file into an object file, we do not" +" create an executable yet due to the ``-c`` flag. Note the usage of the " +"``$<`` for the first element of the dependencies here." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:175 +msgid "" +"After compiling all the object files we attempt to link the program, we " +"do not use a linker directly, but ``gfortran`` to produce the executable." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:178 +msgid "Now we run the build script with ``make``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:189 +msgid "" +"We remember that we have dependencies between our source files, therefore" +" we add this dependency explicitly to the ``Makefile`` with" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:196 +msgid "" +"Now we can retry and find that the build is working correctly. The output" +" should look like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:203 +msgid "" +"You should find *four* new files in the directory now. Run ``my_prog`` to" +" make sure everything works as expected. Let's run ``make`` again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:209 +msgid "" +"Using the timestamps of the executable ``make`` was able to determine, it" +" is newer than both ``tabulate.o`` and ``functions.o``, which in turn are" +" newer than ``tabulate.f90`` and ``functions.f90``. Therefore, the " +"program is already up-to-date with the latest code and no action has to " +"be performed." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:215 +msgid "In the end, we will have a look at a complete ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:249 +msgid "" +"Since you are starting with ``make`` we highly recommend to always " +"include the first line, like with Fortran's ``implicit none`` we do not " +"want to have implicit rules messing up our ``Makefile`` in surprising and" +" harmful ways." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:253 +msgid "" +"Next, we have a configuration section where we define variables, in case " +"you want to switch out your compiler, it can be easily done here. We also" +" introduced the ``SRCS`` variable to hold all source files, which is more" +" intuitive than specifying object files. We can easily create the object " +"files by appending a ``.o`` suffix using the functions ``addsuffix``. The" +" ``.PHONY`` is a special rule, which should be used for all entry points " +"of your ``Makefile``, here we define two entry point, we already know " +"*all*, the new *clean* rule deletes all the build artifacts again such " +"that we indeed start with a clean directory." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:264 +msgid "" +"Also, we slightly changed the build rule for the object files to account " +"for appending the ``.o`` suffix instead of substituting it. Notice that " +"we still need to explicitly define the interdependencies in the " +"``Makefile``. We also added a dependency for the object files on the " +"``Makefile`` itself, in case you change the compiler, this will allow you" +" to safely rebuild." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:270 +msgid "" +"Now you know enough about ``make`` to use it for building small projects." +" If you plan to use ``make`` more extensively, we have compiled a few " +"tips for you as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:275 +msgid "" +"In this guide, we avoided and disabled a lot of the commonly used " +"``make`` features that can be particularly troublesome if not used " +"correctly, we highly recommend staying away from the builtin rules and " +"variables if you do not feel confident working with ``make``, but " +"explicitly declare all variables and rules." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:280 +msgid "" +"You will find that ``make`` is capable tool to automate short " +"interdependent workflows and to build small projects. But for larger " +"projects, you will probably soon run against some of it limitations. " +"Usually, ``make`` is therefore not used alone but combined with other " +"tools to generate the ``Makefile`` completely or in parts." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:288 +msgid "Recursively expanded variables" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:290 +msgid "" +"Commonly seen in many projects are recursively expanded variables " +"(declared with ``=`` instead of ``:=``). Recursive expansion of your " +"variables allows out-of-order declaration and other neat tricks with " +"``make``, since they are defined as rules, which are expanded at runtime," +" rather than being defined while parsing." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:295 +msgid "" +"For example, declaring and using your Fortran flags with this snippet " +"will work completely fine:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:307 +msgid "" +"You should find the expected (or maybe unexpected) printout after running" +" ``make``" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:312 +#, python-format +msgid "{% include note.html content=\"\" %}" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:315 +msgid "" +"appending with ``+=`` to an undefined variable will produce a recursively" +" expanded variable with this state being inherited for all further " +"appending." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:318 +msgid "" +"While, it seems like an interesting feature to use, it tends to lead to " +"surprising and unexpected outcomes. Usually, when defining variables like" +" your compiler, there is little reason to actually use the recursive " +"expansion at all." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:322 +msgid "The same can easily be archived using the ``:=`` declaration:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:334 +msgid "" +"always think of a ``Makefile`` as a whole set of rules, it must be parsed" +" completely before any rule can be evaluated." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:337 +msgid "" +"You can use whatever kind of variables you like most, mixing them should " +"be done carefully, of course. It is important to be aware of the " +"differences between the two kinds and the respective implications." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:342 +msgid "Comments and whitespace" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:344 +msgid "" +"There are some caveats with whitespace and comments, which might pop up " +"from time to time when using ``make``. First, ``make`` does not know of " +"any data type except for strings and the default separator is just a " +"space. This means ``make`` will give a hard time trying to build a " +"project which has spaces in file names. If you encounter such case, " +"renaming the file is possibly the easiest solution at hand." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:351 +msgid "" +"Another common problem is leading and trailing whitespace, once " +"introduced, ``make`` will happily carry it along and it does in fact make" +" a difference when comparing strings in ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:355 +msgid "Those can be introduced by comments like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:363 +msgid "" +"While the comment will be correctly removed by ``make``, the trailing two" +" spaces are now part of the variable content. Run ``make`` and check that" +" this is indeed the case:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:372 +msgid "" +"To solve this issue, you can either move the comment, or strip the " +"whitespace with the ``strip`` function instead. Alternatively, you could " +"try to ``join`` the strings." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:383 +msgid "" +"All in all, none of this solutions will make your ``Makefile`` more " +"readable, therefore, it is prudent to pay extra attention to whitespace " +"and comments when writing and using ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:388 +msgid "The meson build system" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:390 +msgid "" +"After you have learned the basics of ``make``, which we call a low-level " +"build system, we will introduce ``meson``, a high-level build system. " +"While you specify in a low-level build system how to build your program, " +"you can use a high-level build system to specify what to build. A high-" +"level build system will deal for you with how and generate build files " +"for a low-level build system." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:397 +msgid "" +"There are plenty of high-level build systems available, but we will focus" +" on ``meson`` because it is constructed to be particularly user friendly." +" The default low-level build-system of ``meson`` is called ``ninja``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:401 +msgid "Let's have a look at a complete ``meson.build`` file:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:409 +msgid "" +"And we are already done, the next step is to configure our low-level " +"build system with ``meson setup build``, you should see output somewhat " +"similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:427 +msgid "" +"The provided information at this point is already more detailed than " +"anything we could have provided in a ``Makefile``, let's run the build " +"with ``ninja -C build``, which should show something like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:436 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. We note the steps ``ninja`` performed are the same we would " +"have coded up in a ``Makefile`` (including the dependency), yet we did " +"not have to specify them, have a look at your ``meson.build`` file again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:446 +msgid "" +"We only specified that we have a Fortran project (which happens to " +"require a certain version of ``meson`` for the Fortran support) and told " +"``meson`` to build an executable ``my_prog`` from the files " +"``tabulate.f90`` and ``functions.f90``. We had not to tell ``meson`` how " +"to build the project, it figured this out by itself." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:454 +msgid "" +"``meson`` is a cross-platform build system, the project you just " +"specified for your program can be used to compile binaries for your " +"native operating system or to cross-compile your project for other " +"platforms. Similarly, the ``meson.build`` file is portable and will work " +"on different platforms as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:461 +msgid "" +"The documentation of ``meson`` can be found at the meson-build webpage." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:465 +msgid "Creating a CMake project" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:467 +msgid "" +"Similar to ``meson`` CMake is a high-level build system as well and " +"commonly used to build Fortran projects." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:471 +msgid "" +"CMake follows a slightly different strategy and provides you with a " +"complete programming language to create your build files. This is has the" +" advantage that you can do almost everything with CMake, but your CMake " +"build files can also become as complex as the program you are building." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:478 +msgid "Start by creating the file ``CMakeLists.txt`` with the content" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:486 +msgid "" +"Similar to ``meson`` we are already done with our CMake build file. We " +"configure our low-level build files with ``cmake -B build -G Ninja``, you" +" should see output similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:500 +msgid "" +"You might be surprised that CMake tries to use the compiler ``f95``, " +"fortunately this is just a symbolic link to ``gfortran`` on most systems " +"and not the actual ``f95`` compiler. To give CMake a better hint you can " +"export the environment variable ``FC=gfortran`` rerunning should show the" +" correct compiler name now" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:516 +msgid "" +"In a similar manner you could use your Intel Fortran compiler instead to " +"build your project (set ``FC=ifort``)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:519 +msgid "" +"CMake provides support for several low-level build files, since the " +"default is platform specific, we will just use ``ninja`` since we already" +" used it together with ``meson``. As before, build your project with " +"``ninja -C build``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:530 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. The steps ``ninja`` performed are somewhat different, because " +"there is usually more than one way to write the low-level build files to " +"accomplish the task of building a project. Fortunately, we do not have to" +" concern ourselves but have our build system handle those details for us." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:536 +msgid "" +"Finally, we will shortly recap on our complete ``CMakeLists.txt`` to " +"specify our project:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:545 +msgid "" +"We specified that we have a Fortran project and told CMake to create an " +"executable ``my_prog`` from the files ``tabulate.f90`` and " +"``functions.f90``. CMake knows the details how to build the executable " +"from the specified sources, so we do not have to worry about the actual " +"steps in the build process." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:551 +msgid "" +"CMake's offical reference can be found at the CMake webpage. It is organised in manpages, which " +"are also available with your local CMake installation as well using ``man" +" cmake``. While it covers all functionality of CMake, it sometimes covers" +" them only very briefly." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:8 +msgid "Compiling the source code" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:10 +msgid "" +"The first step in the build process is to compile the source code. The " +"output from this step is generally known as the object code — a set of " +"instructions for the computer generated from the human-readable source " +"code. Different compilers will produce different object codes from the " +"same source code and the naming conventions are different." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:16 +msgid "The consequences:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:18 +msgid "" +"If you use a particular compiler for one source file, you need to use the" +" same compiler (or a compatible one) for all other pieces. After all, a " +"program may be built from many different source files and the compiled " +"pieces have to cooperate." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:22 +msgid "" +"Each source file will be compiled and the result is stored in a file with" +" an extension like \".o\" or \".obj\". It is these object files that are " +"the input for the next step: the link process." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:26 +msgid "" +"Compilers are complex pieces of software: they have to understand the " +"language in much more detail and depth than the average programmer. They " +"also need to understand the inner working of the computer. And then, over" +" the years they have been extended with numerous options to customise the" +" compilation process and the final program that will be built." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:33 +msgid "" +"But the basics are simple enough. Take the gfortran compiler, part of the" +" GNU compiler collection. To compile a simple program as the one above, " +"that consists of one source file, you run the following command, assuming" +" the source code is stored in the file \"hello.f90\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:42 +msgid "" +"This results in a file \"hello.o\" (as the gfortran compiler uses \".o\" " +"as the extension for the object files)." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:45 +msgid "" +"The option \"-c\" means: only compile the source files. If you were to " +"leave it out, then the default action of the compiler is to compile the " +"source file and start the linker to build the actual executable program. " +"The command:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:54 +msgid "results in an executable file, \"a.out\" on Linux or \"a.exe\" on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:57 +msgid "Some remarks:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:59 +msgid "" +"The compiler may complain about the contents of the source file, if it " +"finds something wrong with it — a typo for instance or an unknown " +"keyword. In that case the compilation process is broken off and you will " +"not get an object file or an executable program. For instance, if the " +"word \"program\" was inadvertently typed as \"prgoram\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:80 +msgid "" +"Using this compilation report you can correct the source code and try " +"again." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:83 +msgid "" +"The step without \"-c\" can only succeed if the source file contains a " +"main program — characterised by the `program` statement in Fortran. " +"Otherwise the link step will complain about a missing \"symbol\", " +"something along these lines:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:95 +msgid "" +"The file \"hello2.f90\" is almost the same as the file \"hello.f90\", " +"except that the keyword `program` has been replaced by the keyword " +"`subroutine`." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:98 +msgid "" +"The above examples of output from the compiler will differ per compiler " +"and platform on which it runs. These examples come from the gfortran " +"compiler running in a Cygwin environment on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:102 +msgid "Compilers also differ in the options they support, but in general:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:104 +msgid "" +"Options for optimising the code — resulting in faster programs or smaller" +" memory footprints;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:106 +msgid "" +"Options for checking the source code — checks that a variable is not used" +" before it has been given a value, for instance or checks if some " +"extension to the language is used;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:109 +msgid "Options for the location of include or module files, see below;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:110 +msgid "Options for debugging." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:8 +msgid "Distributing your programs" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:10 +msgid "" +"When you distribute your programs, there are a number of options you can " +"choose from:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:13 +msgid "Distribute the entire source code" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:14 +msgid "Distribute a pre-built executable program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:15 +msgid "Distribute static or dynamic libraries that people can use" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:17 +msgid "__Option 1: Distribute the entire source code__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:19 +msgid "" +"By far the simplest — for you as a programmer — is this one: you leave it" +" up to the user to build it on their own machine. Unfortunately, that " +"means you will have to have a user-friendly build system in place and the" +" user will have to have access to suitable compilers. For build systems: " +"see the previous section." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:25 +msgid "__Option 2: Distribute a pre-built executable program__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:27 +msgid "" +"A pre-built program that does not need to be customised, other than via " +"its input, will still need to come with the various run-time libraries " +"and will be specific to the operating system/environment it was built " +"for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:31 +msgid "" +"The set of run-time libraries differs per operating system and compiler " +"version. For a freely available compiler like gfortran, the easiest thing" +" is to ask the user to install that compiler on their system. In the case" +" of Windows: the Cygwin environment may be called for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:36 +msgid "" +"Alternatively, you can supply copies of the run-time libraries together " +"with your program. Put them in the directory where they can be found at " +"run-time." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:39 +msgid "" +"Note: On Windows, the Intel Fortran comes with a set of _redistributable_" +" libraries. These will need to be made available." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:42 +msgid "" +"In general: use a tool like \"ldd\" or \"dependency walker\" to find out " +"what libraries are required and consult the documentation of the " +"compiler." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:45 +msgid "" +"If your program does allow customisation, consider using dynamic " +"libraries for this. More is said about this below." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:48 +msgid "__Option 3: Distribute static or dynamic libraries that people can use__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:50 +msgid "" +"This option is a combination of the first two options. It does put some " +"burden on the user, as they must create a main program that calls your " +"routines in the proper way, but they do not need to know much about the " +"build system you used. You will have to deal with the run-time libraries," +" though." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:55 +msgid "" +"If you choose this option, besides the compiled libraries, you will also " +"need to supply the module intermediate files. These files are compiler-" +"specific, but so are the static libraries you build." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:59 +msgid "Distributing the tabulation program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:60 +msgid "" +"As shown above, the tabulation program can be built with the user-defined" +" function in a dynamic library. This enables you to:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:63 +msgid "Ship the executable (with the appropriate run-time libraries)" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:64 +msgid "Provide a skeleton version of the module, something like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:82 +msgid "Provide a basic build script with a command like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:88 +msgid "or:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:94 +msgid "" +"As said, you cannot control that the user has done the right thing — any " +"DLL \"functions.dll\" with a function `f` would be accepted, but not " +"necessarily lead to a successful run." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:98 +msgid "" +"An alternative set-up would be to change the main program into a " +"subroutine and have the function as an argument:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:120 +msgid "Then provide a skeleton main program:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:140 +msgid "" +"The advantage is that the compiler can check the interface of the " +"function that is passed and that the user has more freedom in the use of " +"the functionality provided by your library." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:8 +msgid "Include files and modules" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:10 +msgid "" +"Your program can be contained in various source files, all stored in the " +"same directory or organised in some convenient directory tree. The " +"details of the organisation depend on personal taste, arrangements made " +"by the group of developers you belong to, or simply the history of the " +"program. Whatever the directory structure is, you will encounter a " +"situation where the compiler needs assistence in order to compile a " +"particular source file:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:18 +msgid "" +"Fortran (and other languages) has the possibility to include an external " +"file. While this feature has become a bit less useful with the advent of " +"modules, it still has its uses. Quite often, such \"include files\" are " +"stored in a directory separated from the directories containing the " +"source files, because they are used in several locations. Quite often the" +" name of that directory is \"include\"." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:24 +msgid "" +"As we have seen, compiling source code that defines one or more modules, " +"leads to the compiler generating so-called \"module intermediate files\" " +"(with the extension \".mod\"). The compiler needs access to these files " +"to be able to read the interfaces and variables and what not, and based " +"on this information, actually compile the source code that uses the " +"various modules." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:30 +msgid "" +"Compilers support options like `-I` to indicate where these include files" +" and module intermediate files are to be found. Suppose we store the two " +"files of our `tabulate` program in the following directory structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:43 +msgid "Compiling the file \"functions.f90\" with the commands" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:50 +msgid "leads to this structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:62 +msgid "" +"To successfully compile and subsequently build the program we need to " +"tell the compiler where it can find the file \"user\\_functions.mod\":" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:71 +msgid "The result:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:85 +msgid "Notes:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:87 +msgid "" +"The details differ per compiler. Sometimes the `-I` option should be " +"followed by a space and then the name of the directory, sometimes the " +"directory should come consecutively." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:90 +msgid "" +"By default the module intermediate files (.mod) are put in the same " +"directory as the object files. When your program code is organised in " +"different subdirectories, they will get scattered over the directory " +"tree, complicating the compilation process. Luckily, many compilers allow" +" you to specify the output location for these files. For gfortran this is" +" `-J`, for instance: `-J../include` (so that the .mod files could all " +"appear in the same directory)" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:98 +msgid "" +"For large programs, consisting of many source files, it is important to " +"think through what organisation to use." +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "build tools" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "include files" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "managing libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "compiling source" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "project make" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "distributing" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "linking pieces" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "runtime libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:9 +msgid "Building programs" +msgstr "" + +#: ../../source/learn/building_programs/index.md:11 +msgid "" +"Languages like Fortran, C, C++ and Java, to name but a few, share certain" +" characteristics: you write code in your language of choice but then you " +"have to build an executable program from that source code. Other " +"languages are interpreted — the source code is analysed by a special " +"program and taken as direct instructions. Two very simple examples of " +"that type of language: Windows batch files and Linux shell scripts." +msgstr "" + +#: ../../source/learn/building_programs/index.md:19 +msgid "" +"In this tutorial we concentrate on the first type of languages, with " +"Fortran as the main example. One advantage of compiled languages is that " +"the build process that you need to build an executable program, is used " +"to transform the human-readable source code into an efficient program " +"that can be run on the computer." +msgstr "" + +#: ../../source/learn/building_programs/index.md:25 +msgid "" +"Remark: this tutorial gives examples for the Windows and Linux operating " +"systems, however the workflow and general principles still apply to " +"macOS." +msgstr "" + +#: ../../source/learn/building_programs/index.md:28 +msgid "Compiled languages" +msgstr "" + +#: ../../source/learn/building_programs/index.md:30 +msgid "Let us have a look at a simple example:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:38 +msgid "" +"This is just about the simplest program you can write in Fortran and it " +"is certainly a variation on one of the most famous programs. Even though " +"it is simple to express in source code, a lot of things actually happen " +"when the executable that is built from this code runs:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:43 +msgid "" +"A process is started on the computer in such a way that it can write to " +"the console — the window (DOS-box, xterm, ...) at which you type the " +"program's name." +msgstr "" + +#: ../../source/learn/building_programs/index.md:46 +msgid "" +"It writes the text \"Hello!\" to the console. To do so it must properly " +"interact with the console." +msgstr "" + +#: ../../source/learn/building_programs/index.md:48 +msgid "" +"When done, it finishes, cleaning up all the resources (memory, connection" +" to the console etc.) it took." +msgstr "" + +#: ../../source/learn/building_programs/index.md:51 +msgid "" +"Fortunately, as a programmer in a high-level language you do not need to " +"consider all these details. In fact, this is the sort of things that is " +"taken care of by the build process: the compiler and the linker." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:8 +msgid "Linking the objects" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:10 +msgid "" +"Almost all programs, except for the simplest, are built up from different" +" pieces. We are going to examine such a situation in more detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:14 +msgid "" +"Here is a general program for tabulating a function (source code in " +"\"tabulate.f90\"):" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:35 +msgid "Note the `use` statement — this will be where we define the function `f`." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:37 +msgid "" +"We want to make the program general, so keep the specific source code — " +"the implementation of the function `f` — separated from the general " +"source code. There are several ways to achieve this, but one is to put it" +" in a different source file. We can give the general program to a user " +"and they provide a specific source code." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:43 +msgid "" +"Assume for the sake of the example that the function is implemented in a " +"source file \"function.f90\" as:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:59 +msgid "" +"To build the program with this specific function, we need to compile two " +"source files and combine them via the link step into one executable " +"program. Because the program \"tabulate\" depends on the module " +"\"function\", we need to compile the source file containing our module " +"first. A sequence of commands to do this is:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:70 +msgid "" +"The first step compiles the module, resulting in an object file " +"\"functions.o\" and a module intermediate file, \"user\\_functions.mod\"." +" This module file contains all the information the compiler needs to " +"determine that the function `f` is defined in this module and what its " +"interface is. This information is important: it enables the compiler to " +"check that you call the function in the right way. It might be that you " +"made a mistake and called the function with two arguments instead of one." +" If the compiler does not know anything about the function's interface, " +"then it cannot check anything." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:80 +msgid "The second step invokes the compiler in such a way that:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:82 +msgid "it compiles the file \"tabulate.f90\" (using the module file);" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:83 +msgid "" +"it invokes the linker to combine the object files tabulate.o and " +"functions.o into an executable program — with the default name \"a.out\" " +"or \"a.exe\" (if you want a different name, use the option \"-o\")." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:87 +msgid "" +"What you do not see in general is that the linker also adds a number of " +"extra files in this link step, the run-time libraries. These run-time " +"libraries contain all the \"standard\" stuff — low-level routines that do" +" the input and output to screen, the `sin` function and much more." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:92 +msgid "" +"If you want to see the gory details, add the option \"-v\". This " +"instructs the compiler to report all the steps that are in detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:95 +msgid "" +"The end result, the executable program, contains the compiled source code" +" and various auxiliary routines that make it work. It also contains " +"references to so-called dynamic run-time libraries (in Windows: DLLs, in " +"Linux: shared objects or shared libraries). Without these run-time " +"libraries the program will not start." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:8 +msgid "Managing libraries (static and dynamic libraries)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:10 +msgid "" +"If you need to manage a program built of dozens of source files (and that" +" is not uncommon!), the command-line needed to specify all the object " +"files will be very long indeed. This soon becomes tedious or even " +"impossible to maintain. So a different solution is called for: create " +"your own libraries." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:16 +msgid "" +"Libraries contain any number of object files in a compact form, so that " +"the command-line becomes far shorter:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:23 +msgid "" +"where \"supportlib.a\" is a collection of one, two or many object files, " +"all compiled and then put into a library. The extension \".a\" is used by" +" Linux and Linux-like platforms. On Windows the extension \".lib\" is " +"used." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:27 +msgid "" +"Creating your own libraries is not that complicated: on Linux, you can " +"achieve this using a utility like `ar`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:37 +msgid "or on Windows using the `lib` utility:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:46 +msgid "Note:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:48 +msgid "" +"The command `ar` with the option `r` either creates the library (the name" +" appears after the option) or adds new object files to the library (or " +"replaces any existing ones)." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:51 +msgid "" +"The command `lib` will create a new library if you use specify the option" +" `/out:` with the name of the new library next to it. To add object files" +" to an existing library, leave out the `/out:` bit." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:54 +msgid "" +"On platforms like Linux there is a particular convention to name " +"libraries. If you name your library like \"libname.a\" (note the \"lib\" " +"prefix), then you can refer to it as `-lname` in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:57 +msgid "" +"Libraries are often sought in directories indicated by an option `-L` or " +"`/LIBPATH`. This saves you from having to specify the exact path for " +"every library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:61 +msgid "" +"Using libraries you can build very large programs without having to " +"resort to extremely long command lines." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:65 +msgid "Static versus dynamic libraries" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:67 +msgid "" +"The above discussion is tacitly assuming that you are using the so-called" +" static libraries. Static libraries (or at least parts of their contents)" +" become an integral part of the executable program. The only way to " +"change the routines incorporated in the program is by rebuilding the " +"program with a new version of the library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:73 +msgid "" +"A flexible alternative is to use the so-called dynamic libraries. These " +"libraries remain outside the executable program and as a consequence can " +"be replaced without rebulding the entire program. Compilers and indeed " +"the operating system itself rely heavily on such dynamic libraries. You " +"could consider dynamic libraries as a sort of executable programs that " +"need a bit of help to be run." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:80 +msgid "" +"Building dynamic libraries works slightly differently from building " +"static libraries: you use the compiler/linker instead of a tool like `ar`" +" or `lib`." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:84 +msgid "On Linux:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:92 +msgid "On Windows, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:100 +msgid "The differences are that:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:102 +msgid "" +"You need to specify a compile option on Linux, for gfortran that is " +"`-fpic`, because the object code is slightly different." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:104 +msgid "" +"You need to tell in the link step that you want a dynamic library (on " +"Linux: a shared object/library, hence the extension \".so\"; on Windows: " +"a dynamic link library)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:108 +msgid "" +"There is one more thing to be aware of: On Windows you must explicitly " +"specify that a procedure is to be _exported_, i.e. is visible in the " +"dynamic library. There are several ways — depending on the compiler you " +"use — to achieve this. One method is via a so-called compiler directive:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:119 +msgid "Or, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:126 +msgid "" +"Besides a dynamic library (DLL), a so-called import library may be " +"generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:129 +msgid "" +"Because the details differ per compiler, here are two examples: gfortran " +"on Cygwin and Intel Fortran on Windows. In both cases we look at the " +"`tabulate` program in the file \"tabulate.f90\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:133 +msgid "GNU/Linux and gfortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:134 +msgid "" +"The `tabulate` program requires a user-defined routine `f`. If we let it " +"reside in a dynamic library, say \"functions.dll\", we can simply replace" +" the implementation of the function by putting another dynamic library in" +" the directory. No need to rebuild the program as such." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:139 +msgid "" +"On Cygwin it is not necessary to explicitly export a procedure — all " +"publically visible routines are exported when you build a dynamic " +"library. Also, no import library is generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:143 +msgid "" +"Since our dynamic library can be built from a single source file, we can " +"take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:150 +msgid "" +"This produces the files \"functions.dll\" and \"user\\_functions.mod\". " +"The utility `nm` tells us the exact name of the function `f`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:165 +msgid "" +"It has received a prefix `__function_MOD_` to distinguish it from any " +"other routine \"f\" that might be defined in another module." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:168 +msgid "The next step is to build the program:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:174 +msgid "" +"The DLL and the .mod file are used to build the executable program with " +"checks on the function's interface, the right name and the reference to " +"\"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:178 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, " +"implementing a different function \"f\". Of course, you need to be " +"careful to use the correct interface for this function. The " +"compiler/linker are not invoked anymore, so they can do no checking." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:183 +msgid "Windows and Intel Fortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:184 +msgid "" +"The setup is the same as with Linux, but on Windows it is necessary to " +"explicitly export the routines. And an import library is generated — this" +" is the library that should be used in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:188 +msgid "" +"The source file must contain the compiler directive, otherwise the " +"function `f` is not exported:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:196 +msgid "Again we take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:202 +msgid "" +"This produces the files \"functions.dll\", \"user\\_functions.mod\" as " +"well as \"functions.lib\" (and two other files of no importance here). " +"The \"dependency walker\" program tells us that the exact name of the " +"function \"f\" is `FUNCTION_mp_F`. It is also exported, so that it can be" +" found by the linker in the next step:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:211 +msgid "Note that we need to specify the name of the export library, not the DLL!" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:213 +msgid "" +"(Note also: the Intel Fortran compiler uses the name of the first source " +"file as the name for the executable — here we do without the `-exe` " +"option.)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:216 +msgid "" +"Just as under Cygwin, the DLL and the .mod file are used to build the " +"executable program with checks on the function's interface, the right " +"name and the reference to \"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:220 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, but " +"the same caution is required: while the implementation can be quite " +"different, the function's interface must be the same." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:8 +msgid "An introduction to make" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:10 +msgid "" +"We briefly discussed the basics of ``make``. This chapter gives ideas and" +" strategies to scale ``make`` for larger projects." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:13 +msgid "Before going into detail with ``make``, consider a few points:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:14 +msgid "" +"``make`` is a Unix tool and might give you a hard time when porting to " +"non-Unix platforms. That said, there are also different flavors of " +"``make`` available, not all might support the features you want to use." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:17 +msgid "" +"While ``make`` gives you full control over the build process, it also " +"means you are responsible for the entire build process, and you have to " +"specify the rules for every detail of your project. You might find " +"yourself spending a significant amount of time writing and maintaining " +"your ``Makefile`` instead of developing your source code." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:21 +msgid "" +"You can work with your ``Makefile``, but think about other developers on " +"your project who may not be familiar with ``make``. How much time do you " +"expect them to spend learning your ``Makefile`` and would they be able to" +" debug or add features?" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:24 +msgid "" +"Pure ``make`` will not scale. You will soon add auxiliary programs to " +"dynamically or statically generate your ``Makefile``. Those introduce " +"dependencies and possible sources of errors. The effort needed to test " +"and document those tools should not be underestimated." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:29 +msgid "" +"If you think ``make`` is suitable for your needs, than you can start " +"writing your ``Makefile``. For this course we will use real world " +"examples from the package index, which (at the time of writing) use build" +" systems other than ``make``. This guide should present a general " +"recommended style to write ``make``, but also serve as demonstration of " +"useful and interesting features." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:36 +msgid "" +"Even if you find ``make`` unsuitable to build your project, it is *the* " +"tool to automate workflows defined by files. Maybe you can leverage its " +"power in a different context." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:39 +msgid "Getting started" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:41 +msgid "" +"For this part we will work with the Fortran CSV module (v1.2.0). " +"Our goal is to write a ``Makefile`` to compile this project to a static " +"library. Start by cloning the repository" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:52 +msgid "" +"For this part we will work with the code from tag ``1.2.0``, to make it " +"as reproducible as possible. Feel free to use the latest version or " +"another project instead." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:55 +msgid "" +"This project uses FoBiS as build system, and you can check the " +"``build.sh`` for options used with FoBiS. We are about to write a " +"``Makefile`` for this project. First, we check the directory structure " +"and the source files" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:77 +msgid "" +"We find seven different Fortran source files; the four in ``src`` should " +"be compiled and added to a static library while the three in " +"``src/tests`` contain individual programs that depend on this static " +"library." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:81 +msgid "Start by creating a simple ``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:147 +msgid "" +"Invoking ``make`` should build the static library and the test " +"executables as expected:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:162 +msgid "" +"There are a few things to note there, a ``make`` build usually interlaces" +" the build artifacts and the source code, unless you put extra effort " +"into implementing a build directory. Also, right now the the source files" +" and dependencies are specified explicitly, which results in several " +"additional lines even for such a simple project." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:169 +msgid "Automatically generated dependencies" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:171 +msgid "" +"The main drawback of ``make`` for Fortran is the missing capability to " +"determine module dependencies. This is usually solved by either adding " +"those by hand or automatically scanning the source code with an external " +"tool. Some compilers (like the Intel Fortran compiler) also offer to " +"generate dependencies in ``make`` format." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:176 +msgid "" +"Before diving into the dependency generation, we will outline the concept" +" of a robust take on the dependency problem. First, we want an approach " +"that can process all source files independently, while each source file " +"provides (``module``) or requires (``use``) modules. When generating the " +"dependencies only the name of the source file and the module files are " +"known, and no information on the object file names should be required." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:184 +msgid "" +"If you check the dependency section above you will note that all " +"dependencies are defined between object files rather than source files. " +"To change this, we can generate a map from the source files their " +"respective object files:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:194 +msgid "" +"Note the declaration of ``obj`` as recursively expanded variable, we " +"effectively use this mechanism to define a function in ``make``. The " +"``foreach`` function allows us to loop over all source files, while the " +"``eval`` function allows us to generate ``make`` statements and evaluate " +"them for this ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:199 +msgid "" +"We adjust the dependencies accordingly as we can now define the name of " +"the object files through the source file names:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:219 +msgid "" +"The same strategy of creating a map is already used for the module files," +" now it is just expanded to the object files as well." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:222 +msgid "" +"To generate the respective dependency map automatically we will use an " +"``awk`` script here" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:284 +msgid "" +"This script makes a few assumptions about the source code it parses, so " +"it will not work with all Fortran code (namely submodules are not " +"supported), but for this example it will suffice." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:289 +msgid "Using awk" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:291 +msgid "" +"The above script uses the ``awk`` language, which is designed for the " +"purpose of text stream processing and uses a C-like syntax. In ``awk`` " +"you can define groups which are evaluated on certain events, *e.g.* when " +"a line matches a specific pattern, usually expressed by a regular expression." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:297 +msgid "" +"This ``awk`` script defines five groups, two of them use the special " +"pattern ``BEGIN`` and ``END`` which are run before the script starts and " +"after the script finishes, respectively. Before the script starts we make" +" the script case-insensitive since we are dealing with Fortran source " +"code here. We also use the special variable ``FILENAME`` to determine " +"which file we are currently parsing and to allow processing multiple " +"files at once." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:305 +msgid "" +"With the three patterns defined we are looking for ``module``, ``use`` " +"and ``include`` statements as the first space delimited entry. With the " +"used pattern not all valid Fortran code will be parsed correctly. A " +"failing example would be:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:314 +msgid "" +"To make this parsable by the ``awk`` script we can add another group " +"directly after the ``BEGIN`` group, modifying the stream while processing" +" it with" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:323 +msgid "" +"In theory you would need a full Fortran parser to deal with continuation " +"lines and other difficulties. This might be possible to implement in " +"``awk`` but would require a huge script in the end." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:327 +msgid "" +"Also, keep in mind that generating the dependencies should be fast, an " +"expensive parser can produce a significant overhead when generating " +"dependencies for a large code base. Making reasonable assumptions can " +"simplify and speed up this step, but also introduces an error source in " +"your build tools." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:334 +msgid "" +"Make the script executable (``chmod +x gen-deps.awk``) and test it with " +"``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output " +"like this:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:356 +msgid "" +"Note that the scripts output will use recursively expanded variables and " +"not define any dependencies yet, because out-of-order declaration of " +"variables might be necessary and we do not want to create any target by " +"accident. You can verify that the same information as in the above " +"handwritten snippet is present. The only exception is the additional " +"dependency on the ``iso_fortran_env.mod``, since it is an undefined " +"variable it will just expand to an empty string and not introduce any " +"further dependencies." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:364 +msgid "" +"Now, you can finally include this piece in your ``Makefile`` to automate " +"the dependency generation:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:431 +msgid "" +"Here additional dependency files are generated for each source file " +"individually and than included into the main ``Makefile``. Also, the " +"dependency files are added as dependency to the object files to ensure " +"they are generated before the object is compiled. The pipe character in " +"the dependencies defines an order of the rules without a timestamp " +"dependency, because it is not necessary to recompile an object file in " +"case dependencies are regenerated and potentially unchanged." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:439 +msgid "" +"Again, we make use of the ``eval`` function to generate the dependencies " +"in a ``foreach`` loop over all object files. Note that we created a map " +"between the object files in the dependency files, expanding ``dep`` once " +"yields the object file name, expanding it again yields the object files " +"it depends on." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:444 +msgid "Building your project with ``make`` should give an output similar to" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:465 +msgid "" +"Once the dependency files are generated, ``make`` will only update them " +"if the source changes and not require to rebuild them again for every " +"invocation." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:469 +msgid "" +"With correct dependencies you can leverage parallel execution of your " +"``Makefile``, just use the ``-j`` flag to create multiple ``make`` " +"processes." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:472 +msgid "" +"Since dependencies can now be generated automatically, there is no need " +"to specify the source files explicitly, the ``wildcard`` function can be " +"used to determine them dynamically:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:8 +msgid "Run-time libraries" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:10 +msgid "" +"To illustrate that even a simple program depends on external run-time " +"libraries, here is the output from the `ldd` utility that reports such " +"dependencies:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:25 +msgid "" +"Other compilers or other versions of the same compiler will probably " +"require different dynamic libraries. As long as you run the program on " +"the same computer — or, more accurately, within the same environment — " +"there should be no problem. However, when such a library cannot be found," +" you will get (hopefully) an error message and the program stops " +"immediately." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:32 +msgid "" +"Therefore it is good to know what libraries are required. On Linux and " +"Linux-like environments, the `ldd` utility is a great help. On Windows, " +"you may want to use the `dependency walker` (the latest version, which " +"works very nicely with Windows 10, is found here: " +")" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:37 +msgid "" +"Another thing you should know is where the program tries to find these " +"libraries. That is a vast subject in its own right and full of " +"complications and history. Here we merely scratch the surface:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:41 +msgid "_On Linux:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:43 +msgid "" +"The environment variable `LD_LIBRARY_PATH` is used. It consists of a list" +" of directories to be searched, each directory separated via colons (:) " +"from the others. For instance: `/usr/lib:/usr/local/lib` — typical system" +" directories." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:47 +msgid "" +"At the link step you can also use an option to set `RPATH`, a list of " +"directories that is put into the executable file itself." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:49 +msgid "Then there are several system directories that are searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:51 +msgid "_On Windows:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:53 +msgid "" +"The directory containing the executable program may also contain dynamic " +"libraries." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:55 +msgid "" +"The environment variable \"PATH\" is used. Again a list of directories to" +" be searched, but now the separating character is the semicolon (;)." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:57 +msgid "A set of system directories is searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:59 +msgid "" +"Unfortunately, the details can change from one version of the operating " +"system to the next. The above is merely an indication — use tools like " +"\"ldd\" or \"dependency walker\" to find out what libraries are loaded " +"and where they are found." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:64 +msgid "" +"If you want to share your program with colleagues or clients or simply " +"users all over the world, you will have to take care that, besides the " +"program, you also distribute the libraries it depends on. For more " +"information: see below." +msgstr "" + +#: ../../source/learn/intrinsics/ARRAY_index.md:1 +#: ../../source/learn/intrinsics/index.md:15 +msgid "Properties and attributes of arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:2 +msgid "merge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:3 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/ACOS.md:3 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:3 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:3 +#: ../../source/learn/intrinsics/_pages/AINT.md:3 +#: ../../source/learn/intrinsics/_pages/ANINT.md:3 +#: ../../source/learn/intrinsics/_pages/ASIN.md:3 +#: ../../source/learn/intrinsics/_pages/ASINH.md:3 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:3 +#: ../../source/learn/intrinsics/_pages/ATANH.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:3 +#: ../../source/learn/intrinsics/_pages/BGE.md:3 +#: ../../source/learn/intrinsics/_pages/BGT.md:3 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/BLE.md:3 +#: ../../source/learn/intrinsics/_pages/BLT.md:3 +#: ../../source/learn/intrinsics/_pages/BTEST.md:3 +#: ../../source/learn/intrinsics/_pages/CEILING.md:3 +#: ../../source/learn/intrinsics/_pages/CHAR.md:3 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:3 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:3 +#: ../../source/learn/intrinsics/_pages/CONJG.md:3 +#: ../../source/learn/intrinsics/_pages/COS.md:3 +#: ../../source/learn/intrinsics/_pages/COSH.md:3 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:3 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:3 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:3 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:3 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:3 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/DBLE.md:3 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:3 +#: ../../source/learn/intrinsics/_pages/DIM.md:3 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:3 +#: ../../source/learn/intrinsics/_pages/DPROD.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:3 +#: ../../source/learn/intrinsics/_pages/ERF.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:3 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:3 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/EXP.md:3 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:3 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:3 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:3 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:3 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:3 +#: ../../source/learn/intrinsics/_pages/HUGE.md:3 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:3 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IALL.md:3 +#: ../../source/learn/intrinsics/_pages/IAND.md:3 +#: ../../source/learn/intrinsics/_pages/IANY.md:3 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:3 +#: ../../source/learn/intrinsics/_pages/IBITS.md:3 +#: ../../source/learn/intrinsics/_pages/IBSET.md:3 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IEOR.md:3 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INT.md:3 +#: ../../source/learn/intrinsics/_pages/IOR.md:3 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:3 +#: ../../source/learn/intrinsics/_pages/KIND.md:3 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:3 +#: ../../source/learn/intrinsics/_pages/LEN.md:3 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/LGE.md:3 +#: ../../source/learn/intrinsics/_pages/LGT.md:3 +#: ../../source/learn/intrinsics/_pages/LLE.md:3 +#: ../../source/learn/intrinsics/_pages/LLT.md:3 +#: ../../source/learn/intrinsics/_pages/LOG.md:3 +#: ../../source/learn/intrinsics/_pages/LOG10.md:3 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:3 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/MASKL.md:3 +#: ../../source/learn/intrinsics/_pages/MASKR.md:3 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:3 +#: ../../source/learn/intrinsics/_pages/MAX.md:3 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:3 +#: ../../source/learn/intrinsics/_pages/MIN.md:3 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MOD.md:3 +#: ../../source/learn/intrinsics/_pages/MODULO.md:3 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:3 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:3 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:3 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/NINT.md:3 +#: ../../source/learn/intrinsics/_pages/NORM2.md:3 +#: ../../source/learn/intrinsics/_pages/NOT.md:3 +#: ../../source/learn/intrinsics/_pages/NULL.md:3 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:3 +#: ../../source/learn/intrinsics/_pages/PACK.md:3 +#: ../../source/learn/intrinsics/_pages/PARITY.md:3 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:3 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:3 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:3 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:3 +#: ../../source/learn/intrinsics/_pages/RADIX.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:3 +#: ../../source/learn/intrinsics/_pages/RANGE.md:3 +#: ../../source/learn/intrinsics/_pages/REAL.md:3 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:3 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:3 +#: ../../source/learn/intrinsics/_pages/SCALE.md:3 +#: ../../source/learn/intrinsics/_pages/SCAN.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/SIGN.md:3 +#: ../../source/learn/intrinsics/_pages/SIN.md:3 +#: ../../source/learn/intrinsics/_pages/SINH.md:3 +#: ../../source/learn/intrinsics/_pages/SPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:3 +#: ../../source/learn/intrinsics/_pages/SQRT.md:3 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:3 +#: ../../source/learn/intrinsics/_pages/TAN.md:3 +#: ../../source/learn/intrinsics/_pages/TANH.md:3 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:3 +#: ../../source/learn/intrinsics/_pages/TINY.md:3 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:3 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:3 +#: ../../source/learn/intrinsics/_pages/TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:3 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:3 +msgid "__Name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:5 +msgid "__merge__(3) - \\[ARRAY CONSTRUCTION\\] Merge variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:7 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:7 +#: ../../source/learn/intrinsics/_pages/ACOS.md:6 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:7 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:8 +#: ../../source/learn/intrinsics/_pages/AINT.md:8 +#: ../../source/learn/intrinsics/_pages/ANINT.md:8 +#: ../../source/learn/intrinsics/_pages/ASIN.md:7 +#: ../../source/learn/intrinsics/_pages/ASINH.md:8 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/ATAN.md:7 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:7 +#: ../../source/learn/intrinsics/_pages/ATANH.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:7 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:8 +#: ../../source/learn/intrinsics/_pages/BGE.md:8 +#: ../../source/learn/intrinsics/_pages/BGT.md:8 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:7 +#: ../../source/learn/intrinsics/_pages/BLE.md:8 +#: ../../source/learn/intrinsics/_pages/BLT.md:8 +#: ../../source/learn/intrinsics/_pages/BTEST.md:7 +#: ../../source/learn/intrinsics/_pages/CEILING.md:8 +#: ../../source/learn/intrinsics/_pages/CHAR.md:8 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:8 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:7 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:8 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:8 +#: ../../source/learn/intrinsics/_pages/CONJG.md:7 +#: ../../source/learn/intrinsics/_pages/COS.md:7 +#: ../../source/learn/intrinsics/_pages/COSH.md:8 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:8 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:8 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:8 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:8 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:8 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/DBLE.md:8 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:7 +#: ../../source/learn/intrinsics/_pages/DIM.md:8 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:8 +#: ../../source/learn/intrinsics/_pages/DPROD.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:7 +#: ../../source/learn/intrinsics/_pages/ERF.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:8 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:8 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:8 +#: ../../source/learn/intrinsics/_pages/EXP.md:7 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:8 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:7 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:8 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:7 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:7 +#: ../../source/learn/intrinsics/_pages/HUGE.md:7 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:7 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IALL.md:8 +#: ../../source/learn/intrinsics/_pages/IAND.md:8 +#: ../../source/learn/intrinsics/_pages/IANY.md:8 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:8 +#: ../../source/learn/intrinsics/_pages/IBITS.md:8 +#: ../../source/learn/intrinsics/_pages/IBSET.md:8 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IEOR.md:8 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INT.md:6 +#: ../../source/learn/intrinsics/_pages/IOR.md:8 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:8 +#: ../../source/learn/intrinsics/_pages/KIND.md:8 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:8 +#: ../../source/learn/intrinsics/_pages/LEN.md:7 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:7 +#: ../../source/learn/intrinsics/_pages/LGE.md:8 +#: ../../source/learn/intrinsics/_pages/LGT.md:8 +#: ../../source/learn/intrinsics/_pages/LLE.md:8 +#: ../../source/learn/intrinsics/_pages/LLT.md:8 +#: ../../source/learn/intrinsics/_pages/LOG.md:8 +#: ../../source/learn/intrinsics/_pages/LOG10.md:7 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:8 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:8 +#: ../../source/learn/intrinsics/_pages/MASKL.md:7 +#: ../../source/learn/intrinsics/_pages/MASKR.md:7 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:8 +#: ../../source/learn/intrinsics/_pages/MAX.md:7 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MERGE.md:7 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:7 +#: ../../source/learn/intrinsics/_pages/MIN.md:8 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MOD.md:8 +#: ../../source/learn/intrinsics/_pages/MODULO.md:8 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:8 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:8 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:8 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:7 +#: ../../source/learn/intrinsics/_pages/NINT.md:7 +#: ../../source/learn/intrinsics/_pages/NORM2.md:8 +#: ../../source/learn/intrinsics/_pages/NOT.md:6 +#: ../../source/learn/intrinsics/_pages/NULL.md:8 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:8 +#: ../../source/learn/intrinsics/_pages/PACK.md:7 +#: ../../source/learn/intrinsics/_pages/PARITY.md:8 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:8 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:8 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:8 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:8 +#: ../../source/learn/intrinsics/_pages/RADIX.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:8 +#: ../../source/learn/intrinsics/_pages/RANGE.md:8 +#: ../../source/learn/intrinsics/_pages/REAL.md:7 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:8 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:8 +#: ../../source/learn/intrinsics/_pages/SCALE.md:8 +#: ../../source/learn/intrinsics/_pages/SCAN.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/SIGN.md:8 +#: ../../source/learn/intrinsics/_pages/SIN.md:7 +#: ../../source/learn/intrinsics/_pages/SINH.md:7 +#: ../../source/learn/intrinsics/_pages/SPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:8 +#: ../../source/learn/intrinsics/_pages/SQRT.md:7 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:8 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:8 +#: ../../source/learn/intrinsics/_pages/TAN.md:8 +#: ../../source/learn/intrinsics/_pages/TANH.md:8 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:8 +#: ../../source/learn/intrinsics/_pages/TINY.md:8 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:7 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:8 +#: ../../source/learn/intrinsics/_pages/TRIM.md:8 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:8 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:7 +msgid "__Syntax__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:23 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:18 +#: ../../source/learn/intrinsics/_pages/ACOS.md:17 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:18 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:15 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:15 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:16 +#: ../../source/learn/intrinsics/_pages/AINT.md:25 +#: ../../source/learn/intrinsics/_pages/ANINT.md:12 +#: ../../source/learn/intrinsics/_pages/ASIN.md:17 +#: ../../source/learn/intrinsics/_pages/ASINH.md:18 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/ATAN.md:18 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:11 +#: ../../source/learn/intrinsics/_pages/ATANH.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:11 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:17 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:14 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:14 +#: ../../source/learn/intrinsics/_pages/BGE.md:12 +#: ../../source/learn/intrinsics/_pages/BGT.md:12 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:14 +#: ../../source/learn/intrinsics/_pages/BLE.md:12 +#: ../../source/learn/intrinsics/_pages/BLT.md:12 +#: ../../source/learn/intrinsics/_pages/BTEST.md:17 +#: ../../source/learn/intrinsics/_pages/CEILING.md:16 +#: ../../source/learn/intrinsics/_pages/CHAR.md:16 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:17 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:14 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:12 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:14 +#: ../../source/learn/intrinsics/_pages/CONJG.md:16 +#: ../../source/learn/intrinsics/_pages/COS.md:17 +#: ../../source/learn/intrinsics/_pages/COSH.md:19 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:12 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:12 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:12 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:12 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:12 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:12 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:16 +#: ../../source/learn/intrinsics/_pages/DBLE.md:18 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:17 +#: ../../source/learn/intrinsics/_pages/DIM.md:17 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:12 +#: ../../source/learn/intrinsics/_pages/DPROD.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:11 +#: ../../source/learn/intrinsics/_pages/ERF.md:12 +#: ../../source/learn/intrinsics/_pages/ERFC.md:16 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:12 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:12 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:18 +#: ../../source/learn/intrinsics/_pages/EXP.md:11 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:12 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:17 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:12 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:11 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:16 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:17 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:17 +#: ../../source/learn/intrinsics/_pages/HUGE.md:18 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:16 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:12 +#: ../../source/learn/intrinsics/_pages/IALL.md:16 +#: ../../source/learn/intrinsics/_pages/IAND.md:12 +#: ../../source/learn/intrinsics/_pages/IANY.md:16 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:12 +#: ../../source/learn/intrinsics/_pages/IBITS.md:12 +#: ../../source/learn/intrinsics/_pages/IBSET.md:12 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:15 +#: ../../source/learn/intrinsics/_pages/IEOR.md:12 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:12 +#: ../../source/learn/intrinsics/_pages/INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/INT.md:14 +#: ../../source/learn/intrinsics/_pages/IOR.md:14 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:16 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:12 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:12 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:15 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:12 +#: ../../source/learn/intrinsics/_pages/KIND.md:12 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:12 +#: ../../source/learn/intrinsics/_pages/LEN.md:19 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/LGE.md:12 +#: ../../source/learn/intrinsics/_pages/LGT.md:12 +#: ../../source/learn/intrinsics/_pages/LLE.md:18 +#: ../../source/learn/intrinsics/_pages/LLT.md:12 +#: ../../source/learn/intrinsics/_pages/LOG.md:12 +#: ../../source/learn/intrinsics/_pages/LOG10.md:14 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:16 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:12 +#: ../../source/learn/intrinsics/_pages/MASKL.md:14 +#: ../../source/learn/intrinsics/_pages/MASKR.md:14 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:12 +#: ../../source/learn/intrinsics/_pages/MAX.md:11 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MERGE.md:11 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:19 +#: ../../source/learn/intrinsics/_pages/MIN.md:12 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MOD.md:12 +#: ../../source/learn/intrinsics/_pages/MODULO.md:12 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:12 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:12 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:12 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:14 +#: ../../source/learn/intrinsics/_pages/NINT.md:13 +#: ../../source/learn/intrinsics/_pages/NORM2.md:17 +#: ../../source/learn/intrinsics/_pages/NOT.md:10 +#: ../../source/learn/intrinsics/_pages/NULL.md:13 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:12 +#: ../../source/learn/intrinsics/_pages/PACK.md:20 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:12 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:12 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:12 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:15 +#: ../../source/learn/intrinsics/_pages/RADIX.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:12 +#: ../../source/learn/intrinsics/_pages/RANGE.md:18 +#: ../../source/learn/intrinsics/_pages/REAL.md:11 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:16 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:12 +#: ../../source/learn/intrinsics/_pages/SCALE.md:15 +#: ../../source/learn/intrinsics/_pages/SCAN.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/SIN.md:17 +#: ../../source/learn/intrinsics/_pages/SINH.md:17 +#: ../../source/learn/intrinsics/_pages/SPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:18 +#: ../../source/learn/intrinsics/_pages/SQRT.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:12 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:18 +#: ../../source/learn/intrinsics/_pages/TAN.md:12 +#: ../../source/learn/intrinsics/_pages/TANH.md:12 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:13 +#: ../../source/learn/intrinsics/_pages/TINY.md:16 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:12 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:12 +#: ../../source/learn/intrinsics/_pages/TRIM.md:12 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:12 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:18 +msgid "__Description__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:13 +msgid "" +"The elemental function __merge__(3) selects values from two arrays or " +"scalars according to a logical mask. The result is equal to an element of" +" __tsource__ where the corresponding element of __mask__ is __.true.__, " +"or an element of __fsource__ when it is .false. ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:18 +msgid "Multi-dimensional arrays are supported." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:20 +msgid "" +"Note that argument expressions to __merge__(3) are not required to be " +"short-circuited so (as an example) if the array __x__ contains zero " +"values in the statement below the standard does not prevent floating " +"point divide by zero being generated; as __1.0/x__ may be evaluated for " +"all values of __x__ before the mask is used to select which value to " +"retain:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:30 +msgid "" +"Note the compiler is also free to short-circuit or to generate an " +"infinity so this may work in many programming environments but is not " +"recommended." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:34 +msgid "" +"For cases like this one may instead use masked assignment via the " +"__where__ construct:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:45 +msgid "instead of the more obscure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:34 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/ACOS.md:21 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:20 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:21 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:20 +#: ../../source/learn/intrinsics/_pages/AINT.md:29 +#: ../../source/learn/intrinsics/_pages/ANINT.md:16 +#: ../../source/learn/intrinsics/_pages/ASIN.md:25 +#: ../../source/learn/intrinsics/_pages/ASINH.md:22 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:17 +#: ../../source/learn/intrinsics/_pages/ATAN.md:22 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:23 +#: ../../source/learn/intrinsics/_pages/ATANH.md:16 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:21 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:23 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:23 +#: ../../source/learn/intrinsics/_pages/BGE.md:17 +#: ../../source/learn/intrinsics/_pages/BGT.md:16 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:22 +#: ../../source/learn/intrinsics/_pages/BLE.md:16 +#: ../../source/learn/intrinsics/_pages/BLT.md:16 +#: ../../source/learn/intrinsics/_pages/BTEST.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:20 +#: ../../source/learn/intrinsics/_pages/CHAR.md:20 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:101 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:19 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:16 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:19 +#: ../../source/learn/intrinsics/_pages/CONJG.md:30 +#: ../../source/learn/intrinsics/_pages/COS.md:25 +#: ../../source/learn/intrinsics/_pages/COSH.md:23 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:21 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:23 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:27 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:23 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:18 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:17 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:23 +#: ../../source/learn/intrinsics/_pages/DBLE.md:22 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:24 +#: ../../source/learn/intrinsics/_pages/DIM.md:22 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:18 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:18 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:30 +#: ../../source/learn/intrinsics/_pages/ERF.md:19 +#: ../../source/learn/intrinsics/_pages/ERFC.md:35 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:22 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:20 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/EXP.md:27 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:23 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:18 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:23 +#: ../../source/learn/intrinsics/_pages/HUGE.md:23 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:17 +#: ../../source/learn/intrinsics/_pages/IALL.md:21 +#: ../../source/learn/intrinsics/_pages/IAND.md:16 +#: ../../source/learn/intrinsics/_pages/IANY.md:21 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:16 +#: ../../source/learn/intrinsics/_pages/IBITS.md:19 +#: ../../source/learn/intrinsics/_pages/IBSET.md:16 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:16 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:16 +#: ../../source/learn/intrinsics/_pages/INDEX.md:24 +#: ../../source/learn/intrinsics/_pages/INT.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:18 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:21 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:22 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:22 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:23 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:19 +#: ../../source/learn/intrinsics/_pages/KIND.md:16 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:16 +#: ../../source/learn/intrinsics/_pages/LEN.md:29 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:20 +#: ../../source/learn/intrinsics/_pages/LGE.md:26 +#: ../../source/learn/intrinsics/_pages/LGT.md:26 +#: ../../source/learn/intrinsics/_pages/LLE.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:26 +#: ../../source/learn/intrinsics/_pages/LOG.md:17 +#: ../../source/learn/intrinsics/_pages/LOG10.md:19 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:20 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:16 +#: ../../source/learn/intrinsics/_pages/MASKL.md:19 +#: ../../source/learn/intrinsics/_pages/MASKR.md:19 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:16 +#: ../../source/learn/intrinsics/_pages/MAX.md:15 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MERGE.md:51 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:43 +#: ../../source/learn/intrinsics/_pages/MIN.md:16 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MOD.md:16 +#: ../../source/learn/intrinsics/_pages/MODULO.md:16 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:17 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:17 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:35 +#: ../../source/learn/intrinsics/_pages/NINT.md:27 +#: ../../source/learn/intrinsics/_pages/NORM2.md:22 +#: ../../source/learn/intrinsics/_pages/NOT.md:14 +#: ../../source/learn/intrinsics/_pages/NULL.md:22 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:16 +#: ../../source/learn/intrinsics/_pages/PACK.md:28 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:17 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:17 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:17 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:16 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:17 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:23 +#: ../../source/learn/intrinsics/_pages/REAL.md:15 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:16 +#: ../../source/learn/intrinsics/_pages/SCALE.md:19 +#: ../../source/learn/intrinsics/_pages/SCAN.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:20 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:19 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:18 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:19 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:26 +#: ../../source/learn/intrinsics/_pages/SINH.md:28 +#: ../../source/learn/intrinsics/_pages/SPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:26 +#: ../../source/learn/intrinsics/_pages/SQRT.md:41 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:16 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:40 +#: ../../source/learn/intrinsics/_pages/TAN.md:16 +#: ../../source/learn/intrinsics/_pages/TANH.md:16 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:17 +#: ../../source/learn/intrinsics/_pages/TINY.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:16 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:21 +#: ../../source/learn/intrinsics/_pages/TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:16 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:40 +msgid "__Arguments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:53 +msgid "__tsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:54 +msgid "May be of any type, including user-defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:56 +msgid "__fsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:57 +msgid "Shall be of the same type and type parameters as __tsource__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:30 +#: ../../source/learn/intrinsics/_pages/IANY.md:30 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:30 +#: ../../source/learn/intrinsics/_pages/MERGE.md:59 +#: ../../source/learn/intrinsics/_pages/PACK.md:33 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:22 +msgid "__mask__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:60 +msgid "Shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:62 +msgid "Note that (currently) _character_ values must be of the same length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:40 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:41 +#: ../../source/learn/intrinsics/_pages/ACOS.md:27 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:27 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:25 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:26 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:25 +#: ../../source/learn/intrinsics/_pages/AINT.md:38 +#: ../../source/learn/intrinsics/_pages/ANINT.md:25 +#: ../../source/learn/intrinsics/_pages/ASIN.md:31 +#: ../../source/learn/intrinsics/_pages/ASINH.md:27 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN.md:32 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:32 +#: ../../source/learn/intrinsics/_pages/ATANH.md:21 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:38 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:38 +#: ../../source/learn/intrinsics/_pages/BGE.md:25 +#: ../../source/learn/intrinsics/_pages/BGT.md:25 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:29 +#: ../../source/learn/intrinsics/_pages/BLE.md:24 +#: ../../source/learn/intrinsics/_pages/BLT.md:24 +#: ../../source/learn/intrinsics/_pages/BTEST.md:32 +#: ../../source/learn/intrinsics/_pages/CEILING.md:29 +#: ../../source/learn/intrinsics/_pages/CHAR.md:29 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:114 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:23 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:20 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:23 +#: ../../source/learn/intrinsics/_pages/CONJG.md:35 +#: ../../source/learn/intrinsics/_pages/COS.md:31 +#: ../../source/learn/intrinsics/_pages/COSH.md:28 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:31 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:34 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:26 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:21 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:24 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:22 +#: ../../source/learn/intrinsics/_pages/DBLE.md:27 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:29 +#: ../../source/learn/intrinsics/_pages/DIM.md:30 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:32 +#: ../../source/learn/intrinsics/_pages/DPROD.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:29 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:47 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:24 +#: ../../source/learn/intrinsics/_pages/ERFC.md:40 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:27 +#: ../../source/learn/intrinsics/_pages/EXP.md:32 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:27 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:32 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:23 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:28 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:27 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:32 +#: ../../source/learn/intrinsics/_pages/HUGE.md:30 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:34 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IALL.md:34 +#: ../../source/learn/intrinsics/_pages/IAND.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:34 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:27 +#: ../../source/learn/intrinsics/_pages/IBITS.md:31 +#: ../../source/learn/intrinsics/_pages/IBSET.md:27 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:35 +#: ../../source/learn/intrinsics/_pages/IEOR.md:24 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:25 +#: ../../source/learn/intrinsics/_pages/INDEX.md:40 +#: ../../source/learn/intrinsics/_pages/INT.md:29 +#: ../../source/learn/intrinsics/_pages/IOR.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:30 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:28 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:24 +#: ../../source/learn/intrinsics/_pages/KIND.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:21 +#: ../../source/learn/intrinsics/_pages/LEN.md:38 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:30 +#: ../../source/learn/intrinsics/_pages/LGE.md:34 +#: ../../source/learn/intrinsics/_pages/LGT.md:34 +#: ../../source/learn/intrinsics/_pages/LLE.md:43 +#: ../../source/learn/intrinsics/_pages/LLT.md:34 +#: ../../source/learn/intrinsics/_pages/LOG.md:22 +#: ../../source/learn/intrinsics/_pages/LOG10.md:24 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:30 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:21 +#: ../../source/learn/intrinsics/_pages/MASKL.md:29 +#: ../../source/learn/intrinsics/_pages/MASKR.md:29 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:28 +#: ../../source/learn/intrinsics/_pages/MAX.md:23 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MERGE.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:54 +#: ../../source/learn/intrinsics/_pages/MIN.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MOD.md:25 +#: ../../source/learn/intrinsics/_pages/MODULO.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:25 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/NINT.md:37 +#: ../../source/learn/intrinsics/_pages/NORM2.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:19 +#: ../../source/learn/intrinsics/_pages/NULL.md:28 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:44 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:22 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:22 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:22 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:26 +#: ../../source/learn/intrinsics/_pages/RADIX.md:21 +#: ../../source/learn/intrinsics/_pages/RANGE.md:28 +#: ../../source/learn/intrinsics/_pages/REAL.md:24 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:30 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:26 +#: ../../source/learn/intrinsics/_pages/SCALE.md:27 +#: ../../source/learn/intrinsics/_pages/SCAN.md:36 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:33 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/SIN.md:31 +#: ../../source/learn/intrinsics/_pages/SINH.md:33 +#: ../../source/learn/intrinsics/_pages/SPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:39 +#: ../../source/learn/intrinsics/_pages/SQRT.md:47 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/TAN.md:21 +#: ../../source/learn/intrinsics/_pages/TANH.md:21 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:30 +#: ../../source/learn/intrinsics/_pages/TINY.md:26 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:21 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:32 +#: ../../source/learn/intrinsics/_pages/TRIM.md:21 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:28 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:55 +msgid "__Returns__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:66 +msgid "" +"The result is of the same type and type parameters as __tsource__. For " +"any element the result is __tsource__ if __mask__ is true and __fsource__" +" otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:50 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:47 +#: ../../source/learn/intrinsics/_pages/ACOS.md:32 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:36 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:31 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:32 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:30 +#: ../../source/learn/intrinsics/_pages/AINT.md:47 +#: ../../source/learn/intrinsics/_pages/ANINT.md:33 +#: ../../source/learn/intrinsics/_pages/ASIN.md:38 +#: ../../source/learn/intrinsics/_pages/ASINH.md:33 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:64 +#: ../../source/learn/intrinsics/_pages/ATAN.md:40 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:43 +#: ../../source/learn/intrinsics/_pages/ATANH.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:44 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:35 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:42 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:33 +#: ../../source/learn/intrinsics/_pages/BTEST.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:37 +#: ../../source/learn/intrinsics/_pages/CHAR.md:33 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:120 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:29 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:26 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:28 +#: ../../source/learn/intrinsics/_pages/CONJG.md:39 +#: ../../source/learn/intrinsics/_pages/COS.md:38 +#: ../../source/learn/intrinsics/_pages/COSH.md:36 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:40 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:57 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:40 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:44 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:32 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:26 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:30 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:25 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:29 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:32 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:55 +#: ../../source/learn/intrinsics/_pages/DBLE.md:33 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:33 +#: ../../source/learn/intrinsics/_pages/DIM.md:34 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:38 +#: ../../source/learn/intrinsics/_pages/DPROD.md:43 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:51 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:39 +#: ../../source/learn/intrinsics/_pages/ERF.md:29 +#: ../../source/learn/intrinsics/_pages/ERFC.md:47 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:31 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:33 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:75 +#: ../../source/learn/intrinsics/_pages/EXP.md:38 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:43 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:40 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:29 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:32 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:44 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:54 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:63 +#: ../../source/learn/intrinsics/_pages/HUGE.md:35 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:41 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/IALL.md:43 +#: ../../source/learn/intrinsics/_pages/IAND.md:29 +#: ../../source/learn/intrinsics/_pages/IANY.md:43 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:40 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/INT.md:51 +#: ../../source/learn/intrinsics/_pages/IOR.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:43 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:30 +#: ../../source/learn/intrinsics/_pages/KIND.md:26 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:47 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:49 +#: ../../source/learn/intrinsics/_pages/LOG.md:29 +#: ../../source/learn/intrinsics/_pages/LOG10.md:29 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:36 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/MASKL.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:37 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MERGE.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:29 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MOD.md:32 +#: ../../source/learn/intrinsics/_pages/MODULO.md:38 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:26 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:32 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:46 +#: ../../source/learn/intrinsics/_pages/NINT.md:47 +#: ../../source/learn/intrinsics/_pages/NORM2.md:42 +#: ../../source/learn/intrinsics/_pages/NOT.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:32 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:36 +#: ../../source/learn/intrinsics/_pages/PACK.md:50 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:26 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:26 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:31 +#: ../../source/learn/intrinsics/_pages/RADIX.md:26 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:22 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:37 +#: ../../source/learn/intrinsics/_pages/RANGE.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:38 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:34 +#: ../../source/learn/intrinsics/_pages/SCALE.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:41 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:25 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:57 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:31 +#: ../../source/learn/intrinsics/_pages/SIN.md:36 +#: ../../source/learn/intrinsics/_pages/SINH.md:37 +#: ../../source/learn/intrinsics/_pages/SPACING.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:45 +#: ../../source/learn/intrinsics/_pages/SQRT.md:52 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:31 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:60 +#: ../../source/learn/intrinsics/_pages/TAN.md:25 +#: ../../source/learn/intrinsics/_pages/TANH.md:30 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:44 +#: ../../source/learn/intrinsics/_pages/TINY.md:32 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:26 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:51 +#: ../../source/learn/intrinsics/_pages/TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:33 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:60 +msgid "__Examples__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:71 +msgid "The value of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:77 +msgid "is 1.0 for K=5 and 0.0 for K=__-2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE.md:126 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:41 +msgid "Expected Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:121 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:149 +#: ../../source/learn/intrinsics/_pages/ACOS.md:59 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:53 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:58 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:71 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:60 +#: ../../source/learn/intrinsics/_pages/AINT.md:79 +#: ../../source/learn/intrinsics/_pages/ANINT.md:69 +#: ../../source/learn/intrinsics/_pages/ASIN.md:88 +#: ../../source/learn/intrinsics/_pages/ASINH.md:52 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:80 +#: ../../source/learn/intrinsics/_pages/ATAN.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:61 +#: ../../source/learn/intrinsics/_pages/ATANH.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:53 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:48 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:46 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:59 +#: ../../source/learn/intrinsics/_pages/BGE.md:29 +#: ../../source/learn/intrinsics/_pages/BGT.md:31 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:64 +#: ../../source/learn/intrinsics/_pages/BLE.md:28 +#: ../../source/learn/intrinsics/_pages/BLT.md:28 +#: ../../source/learn/intrinsics/_pages/BTEST.md:114 +#: ../../source/learn/intrinsics/_pages/CEILING.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:56 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:161 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:50 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:53 +#: ../../source/learn/intrinsics/_pages/CONJG.md:96 +#: ../../source/learn/intrinsics/_pages/COS.md:65 +#: ../../source/learn/intrinsics/_pages/COSH.md:50 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:60 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:56 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:90 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:61 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:65 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:67 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:53 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:51 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:44 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:51 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:97 +#: ../../source/learn/intrinsics/_pages/DBLE.md:50 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:57 +#: ../../source/learn/intrinsics/_pages/DIM.md:62 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:63 +#: ../../source/learn/intrinsics/_pages/DPROD.md:82 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:80 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:106 +#: ../../source/learn/intrinsics/_pages/ERF.md:46 +#: ../../source/learn/intrinsics/_pages/ERFC.md:64 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:48 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:52 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:101 +#: ../../source/learn/intrinsics/_pages/EXP.md:82 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:45 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:75 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:45 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:118 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:77 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:119 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:85 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:91 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IALL.md:66 +#: ../../source/learn/intrinsics/_pages/IAND.md:45 +#: ../../source/learn/intrinsics/_pages/IANY.md:64 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:31 +#: ../../source/learn/intrinsics/_pages/IBITS.md:35 +#: ../../source/learn/intrinsics/_pages/IBSET.md:31 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:101 +#: ../../source/learn/intrinsics/_pages/IEOR.md:29 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:44 +#: ../../source/learn/intrinsics/_pages/INDEX.md:68 +#: ../../source/learn/intrinsics/_pages/INT.md:112 +#: ../../source/learn/intrinsics/_pages/IOR.md:54 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:63 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:38 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:59 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:47 +#: ../../source/learn/intrinsics/_pages/KIND.md:46 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:120 +#: ../../source/learn/intrinsics/_pages/LEN.md:43 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:67 +#: ../../source/learn/intrinsics/_pages/LGE.md:39 +#: ../../source/learn/intrinsics/_pages/LGT.md:39 +#: ../../source/learn/intrinsics/_pages/LLE.md:85 +#: ../../source/learn/intrinsics/_pages/LLT.md:39 +#: ../../source/learn/intrinsics/_pages/LOG.md:47 +#: ../../source/learn/intrinsics/_pages/LOG10.md:55 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:59 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:40 +#: ../../source/learn/intrinsics/_pages/MASKL.md:87 +#: ../../source/learn/intrinsics/_pages/MASKR.md:96 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:34 +#: ../../source/learn/intrinsics/_pages/MAX.md:109 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MERGE.md:145 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:113 +#: ../../source/learn/intrinsics/_pages/MIN.md:46 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MOD.md:70 +#: ../../source/learn/intrinsics/_pages/MODULO.md:64 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:64 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:128 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:61 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:72 +#: ../../source/learn/intrinsics/_pages/NINT.md:110 +#: ../../source/learn/intrinsics/_pages/NORM2.md:81 +#: ../../source/learn/intrinsics/_pages/NOT.md:46 +#: ../../source/learn/intrinsics/_pages/NULL.md:110 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:57 +#: ../../source/learn/intrinsics/_pages/PACK.md:100 +#: ../../source/learn/intrinsics/_pages/PARITY.md:59 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:52 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:53 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:46 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:57 +#: ../../source/learn/intrinsics/_pages/RADIX.md:45 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:81 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:60 +#: ../../source/learn/intrinsics/_pages/RANGE.md:52 +#: ../../source/learn/intrinsics/_pages/REAL.md:65 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:58 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:27 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:31 +#: ../../source/learn/intrinsics/_pages/SCALE.md:51 +#: ../../source/learn/intrinsics/_pages/SCAN.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:55 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:49 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:82 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:31 +#: ../../source/learn/intrinsics/_pages/SIGN.md:72 +#: ../../source/learn/intrinsics/_pages/SIN.md:121 +#: ../../source/learn/intrinsics/_pages/SINH.md:81 +#: ../../source/learn/intrinsics/_pages/SPACING.md:45 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:116 +#: ../../source/learn/intrinsics/_pages/SQRT.md:85 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:53 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:94 +#: ../../source/learn/intrinsics/_pages/TAN.md:42 +#: ../../source/learn/intrinsics/_pages/TANH.md:47 +#: ../../source/learn/intrinsics/_pages/TINY.md:48 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:104 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:101 +#: ../../source/learn/intrinsics/_pages/TRIM.md:50 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:55 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:243 +msgid "__Standard__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:60 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:73 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:82 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:66 +#: ../../source/learn/intrinsics/_pages/BTEST.md:116 +#: ../../source/learn/intrinsics/_pages/CEILING.md:65 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:67 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:69 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:99 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:65 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:82 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:108 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:77 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:47 +#: ../../source/learn/intrinsics/_pages/HUGE.md:87 +#: ../../source/learn/intrinsics/_pages/IAND.md:47 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:33 +#: ../../source/learn/intrinsics/_pages/IBITS.md:37 +#: ../../source/learn/intrinsics/_pages/IBSET.md:33 +#: ../../source/learn/intrinsics/_pages/IEOR.md:31 +#: ../../source/learn/intrinsics/_pages/IOR.md:56 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:36 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:40 +#: ../../source/learn/intrinsics/_pages/KIND.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:36 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MERGE.md:147 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MODULO.md:66 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:130 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:63 +#: ../../source/learn/intrinsics/_pages/NOT.md:48 +#: ../../source/learn/intrinsics/_pages/NULL.md:112 +#: ../../source/learn/intrinsics/_pages/PACK.md:102 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:48 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:59 +#: ../../source/learn/intrinsics/_pages/RADIX.md:47 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:83 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:62 +#: ../../source/learn/intrinsics/_pages/RANGE.md:54 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:60 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:29 +#: ../../source/learn/intrinsics/_pages/SCALE.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:51 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/SPACING.md:47 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:118 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:96 +#: ../../source/learn/intrinsics/_pages/TINY.md:50 +#: ../../source/learn/intrinsics/_pages/TRIM.md:52 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:57 +msgid "Fortran 95 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:153 +#: ../../source/learn/intrinsics/_pages/ACOS.md:62 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:57 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:75 +#: ../../source/learn/intrinsics/_pages/AINT.md:83 +#: ../../source/learn/intrinsics/_pages/ANINT.md:73 +#: ../../source/learn/intrinsics/_pages/ASIN.md:92 +#: ../../source/learn/intrinsics/_pages/ASINH.md:56 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:84 +#: ../../source/learn/intrinsics/_pages/ATAN.md:76 +#: ../../source/learn/intrinsics/_pages/ATANH.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:61 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:50 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:65 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:63 +#: ../../source/learn/intrinsics/_pages/BGE.md:33 +#: ../../source/learn/intrinsics/_pages/BGT.md:35 +#: ../../source/learn/intrinsics/_pages/BLE.md:32 +#: ../../source/learn/intrinsics/_pages/BLT.md:32 +#: ../../source/learn/intrinsics/_pages/BTEST.md:118 +#: ../../source/learn/intrinsics/_pages/CEILING.md:67 +#: ../../source/learn/intrinsics/_pages/CHAR.md:60 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:151 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:58 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:57 +#: ../../source/learn/intrinsics/_pages/COS.md:69 +#: ../../source/learn/intrinsics/_pages/COSH.md:54 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:54 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:64 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:60 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:94 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:65 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:69 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:57 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:57 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:48 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:55 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:101 +#: ../../source/learn/intrinsics/_pages/DBLE.md:54 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:61 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:37 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:37 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:110 +#: ../../source/learn/intrinsics/_pages/EXP.md:86 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:79 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:49 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:122 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:81 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:89 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IALL.md:70 +#: ../../source/learn/intrinsics/_pages/IAND.md:49 +#: ../../source/learn/intrinsics/_pages/IANY.md:68 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:35 +#: ../../source/learn/intrinsics/_pages/IBITS.md:39 +#: ../../source/learn/intrinsics/_pages/IBSET.md:35 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:105 +#: ../../source/learn/intrinsics/_pages/IEOR.md:33 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:48 +#: ../../source/learn/intrinsics/_pages/INDEX.md:73 +#: ../../source/learn/intrinsics/_pages/INT.md:116 +#: ../../source/learn/intrinsics/_pages/IOR.md:58 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:67 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:42 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:124 +#: ../../source/learn/intrinsics/_pages/LEN.md:108 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:72 +#: ../../source/learn/intrinsics/_pages/LGE.md:43 +#: ../../source/learn/intrinsics/_pages/LGT.md:43 +#: ../../source/learn/intrinsics/_pages/LLE.md:89 +#: ../../source/learn/intrinsics/_pages/LLT.md:43 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:63 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:44 +#: ../../source/learn/intrinsics/_pages/MASKL.md:91 +#: ../../source/learn/intrinsics/_pages/MASKR.md:100 +#: ../../source/learn/intrinsics/_pages/MAX.md:113 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MERGE.md:149 +#: ../../source/learn/intrinsics/_pages/MIN.md:50 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MOD.md:74 +#: ../../source/learn/intrinsics/_pages/MODULO.md:68 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:68 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:132 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:65 +#: ../../source/learn/intrinsics/_pages/NINT.md:114 +#: ../../source/learn/intrinsics/_pages/NORM2.md:85 +#: ../../source/learn/intrinsics/_pages/NOT.md:50 +#: ../../source/learn/intrinsics/_pages/NULL.md:114 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:61 +#: ../../source/learn/intrinsics/_pages/PACK.md:104 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:56 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:57 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:50 +#: ../../source/learn/intrinsics/_pages/RADIX.md:49 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:85 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:64 +#: ../../source/learn/intrinsics/_pages/RANGE.md:56 +#: ../../source/learn/intrinsics/_pages/REAL.md:69 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:62 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:31 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:35 +#: ../../source/learn/intrinsics/_pages/SCALE.md:55 +#: ../../source/learn/intrinsics/_pages/SCAN.md:63 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:86 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:51 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:37 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/SIN.md:125 +#: ../../source/learn/intrinsics/_pages/SINH.md:85 +#: ../../source/learn/intrinsics/_pages/SPACING.md:49 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:120 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:57 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:98 +#: ../../source/learn/intrinsics/_pages/TAN.md:46 +#: ../../source/learn/intrinsics/_pages/TANH.md:51 +#: ../../source/learn/intrinsics/_pages/TINY.md:52 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:108 +#: ../../source/learn/intrinsics/_pages/TRIM.md:54 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:59 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:247 +msgid "__See Also__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:151 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:125 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:165 +#: ../../source/learn/intrinsics/_pages/ACOS.md:68 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:66 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:79 +#: ../../source/learn/intrinsics/_pages/ASIN.md:98 +#: ../../source/learn/intrinsics/_pages/ATAN.md:82 +#: ../../source/learn/intrinsics/_pages/BTEST.md:131 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:63 +#: ../../source/learn/intrinsics/_pages/CONJG.md:100 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:74 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:113 +#: ../../source/learn/intrinsics/_pages/DBLE.md:59 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:79 +#: ../../source/learn/intrinsics/_pages/DIM.md:66 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:128 +#: ../../source/learn/intrinsics/_pages/EXP.md:94 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:90 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:128 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:127 +#: ../../source/learn/intrinsics/_pages/HUGE.md:107 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:63 +#: ../../source/learn/intrinsics/_pages/LEN.md:129 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:89 +#: ../../source/learn/intrinsics/_pages/MASKL.md:95 +#: ../../source/learn/intrinsics/_pages/MASKR.md:104 +#: ../../source/learn/intrinsics/_pages/MERGE.md:157 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:76 +#: ../../source/learn/intrinsics/_pages/NINT.md:123 +#: ../../source/learn/intrinsics/_pages/NOT.md:60 +#: ../../source/learn/intrinsics/_pages/PACK.md:112 +#: ../../source/learn/intrinsics/_pages/SIN.md:132 +#: ../../source/learn/intrinsics/_pages/SQRT.md:89 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:115 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:265 +msgid "####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:2 +msgid "pack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:5 +msgid "" +"__pack__(3) - \\[ARRAY CONSTRUCTION\\] Pack an array into an array of " +"rank one" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:16 +msgid "" +"where TYPE(kind=KIND) may be any type, where __array__ and __vector__ " +"and the returned value must by of the same type. __mask__ may be a " +"scalar as well an an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:22 +msgid "Stores the elements of ARRAY in an array of rank one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:24 +msgid "" +"The beginning of the resulting array is made up of elements whose " +"__mask__ equals __.true.__. Afterwards, positions are filled with " +"elements taken from __vector__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:25 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:35 +#: ../../source/learn/intrinsics/_pages/IALL.md:23 +#: ../../source/learn/intrinsics/_pages/IANY.md:23 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:23 +#: ../../source/learn/intrinsics/_pages/NORM2.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:30 +msgid "__array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:26 +#: ../../source/learn/intrinsics/_pages/PACK.md:31 +msgid "Shall be an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:34 +msgid "" +"Shall be an array of type _logical_ and of the same size as __array__. " +"Alternatively, it may be a _logical_ scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:37 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:18 +msgid "__vector__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:38 +msgid "" +"(Optional) shall be an array of the same type as __array__ and of rank " +"one. If present, the number of elements in __vector__ shall be equal to " +"or greater than the number of true elements in __mask__. If __mask__ is " +"scalar, the number of elements in __vector__ shall be equal to or greater" +" than the number of elements in __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:46 +msgid "" +"The result is an array of rank one and the same type as that of " +"__array__. If __vector__ is present, the result size is that of " +"__vector__, the number of __.true.__ values in __mask__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:52 +#: ../../source/learn/intrinsics/_pages/ACOS.md:33 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:38 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:33 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:34 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:32 +#: ../../source/learn/intrinsics/_pages/AINT.md:49 +#: ../../source/learn/intrinsics/_pages/ANINT.md:35 +#: ../../source/learn/intrinsics/_pages/ASINH.md:35 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:66 +#: ../../source/learn/intrinsics/_pages/ATAN.md:42 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:45 +#: ../../source/learn/intrinsics/_pages/ATANH.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:43 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:44 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:35 +#: ../../source/learn/intrinsics/_pages/BTEST.md:40 +#: ../../source/learn/intrinsics/_pages/CEILING.md:39 +#: ../../source/learn/intrinsics/_pages/CHAR.md:35 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:122 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:31 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:28 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:30 +#: ../../source/learn/intrinsics/_pages/CONJG.md:41 +#: ../../source/learn/intrinsics/_pages/COS.md:40 +#: ../../source/learn/intrinsics/_pages/COSH.md:38 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:42 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:42 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:59 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:42 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:46 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:40 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:34 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:28 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:32 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:27 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:31 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:34 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:57 +#: ../../source/learn/intrinsics/_pages/DBLE.md:35 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:35 +#: ../../source/learn/intrinsics/_pages/DIM.md:36 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:40 +#: ../../source/learn/intrinsics/_pages/DPROD.md:45 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:53 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:41 +#: ../../source/learn/intrinsics/_pages/ERF.md:31 +#: ../../source/learn/intrinsics/_pages/ERFC.md:49 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:33 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:35 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:77 +#: ../../source/learn/intrinsics/_pages/EXP.md:40 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:42 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:31 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:34 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:56 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:65 +#: ../../source/learn/intrinsics/_pages/HUGE.md:37 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:43 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/IALL.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:45 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:42 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:33 +#: ../../source/learn/intrinsics/_pages/INT.md:53 +#: ../../source/learn/intrinsics/_pages/IOR.md:33 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:45 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:36 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:32 +#: ../../source/learn/intrinsics/_pages/KIND.md:28 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:28 +#: ../../source/learn/intrinsics/_pages/LLE.md:51 +#: ../../source/learn/intrinsics/_pages/LOG.md:31 +#: ../../source/learn/intrinsics/_pages/LOG10.md:31 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:27 +#: ../../source/learn/intrinsics/_pages/MASKL.md:38 +#: ../../source/learn/intrinsics/_pages/MASKR.md:39 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MOD.md:34 +#: ../../source/learn/intrinsics/_pages/MODULO.md:40 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:34 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:48 +#: ../../source/learn/intrinsics/_pages/NINT.md:49 +#: ../../source/learn/intrinsics/_pages/NORM2.md:44 +#: ../../source/learn/intrinsics/_pages/NULL.md:34 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:38 +#: ../../source/learn/intrinsics/_pages/PACK.md:52 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:28 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:31 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:28 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:33 +#: ../../source/learn/intrinsics/_pages/RADIX.md:28 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:24 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:39 +#: ../../source/learn/intrinsics/_pages/RANGE.md:34 +#: ../../source/learn/intrinsics/_pages/REAL.md:40 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:36 +#: ../../source/learn/intrinsics/_pages/SCALE.md:34 +#: ../../source/learn/intrinsics/_pages/SCAN.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:26 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:33 +#: ../../source/learn/intrinsics/_pages/SIN.md:38 +#: ../../source/learn/intrinsics/_pages/SIN.md:83 +#: ../../source/learn/intrinsics/_pages/SINH.md:39 +#: ../../source/learn/intrinsics/_pages/SPACING.md:28 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:47 +#: ../../source/learn/intrinsics/_pages/SQRT.md:54 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:62 +#: ../../source/learn/intrinsics/_pages/TAN.md:27 +#: ../../source/learn/intrinsics/_pages/TANH.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:46 +#: ../../source/learn/intrinsics/_pages/TINY.md:34 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:53 +#: ../../source/learn/intrinsics/_pages/TRIM.md:28 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:35 +msgid "Sample program:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:103 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:92 +#: ../../source/learn/intrinsics/_pages/ACOS.md:51 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:48 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:52 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:62 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:51 +#: ../../source/learn/intrinsics/_pages/AINT.md:70 +#: ../../source/learn/intrinsics/_pages/ANINT.md:59 +#: ../../source/learn/intrinsics/_pages/ASIN.md:71 +#: ../../source/learn/intrinsics/_pages/ASINH.md:47 +#: ../../source/learn/intrinsics/_pages/ATAN.md:63 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:56 +#: ../../source/learn/intrinsics/_pages/ATANH.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:56 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:55 +#: ../../source/learn/intrinsics/_pages/BTEST.md:83 +#: ../../source/learn/intrinsics/_pages/CEILING.md:55 +#: ../../source/learn/intrinsics/_pages/CHAR.md:46 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:41 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:43 +#: ../../source/learn/intrinsics/_pages/CONJG.md:78 +#: ../../source/learn/intrinsics/_pages/COS.md:55 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:56 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:61 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:44 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:85 +#: ../../source/learn/intrinsics/_pages/DBLE.md:46 +#: ../../source/learn/intrinsics/_pages/DIM.md:54 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:55 +#: ../../source/learn/intrinsics/_pages/DPROD.md:75 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:70 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:94 +#: ../../source/learn/intrinsics/_pages/ERF.md:42 +#: ../../source/learn/intrinsics/_pages/ERFC.md:60 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:43 +#: ../../source/learn/intrinsics/_pages/EXP.md:73 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:40 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:64 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:41 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:64 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:107 +#: ../../source/learn/intrinsics/_pages/HUGE.md:65 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:60 +#: ../../source/learn/intrinsics/_pages/IALL.md:61 +#: ../../source/learn/intrinsics/_pages/IAND.md:41 +#: ../../source/learn/intrinsics/_pages/IANY.md:58 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:96 +#: ../../source/learn/intrinsics/_pages/IOR.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:57 +#: ../../source/learn/intrinsics/_pages/KIND.md:41 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:50 +#: ../../source/learn/intrinsics/_pages/LEN.md:105 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:59 +#: ../../source/learn/intrinsics/_pages/LLE.md:70 +#: ../../source/learn/intrinsics/_pages/LOG.md:42 +#: ../../source/learn/intrinsics/_pages/LOG10.md:49 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:51 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:36 +#: ../../source/learn/intrinsics/_pages/MASKL.md:49 +#: ../../source/learn/intrinsics/_pages/MASKR.md:54 +#: ../../source/learn/intrinsics/_pages/MAX.md:100 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:41 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:103 +#: ../../source/learn/intrinsics/_pages/MIN.md:40 +#: ../../source/learn/intrinsics/_pages/MOD.md:55 +#: ../../source/learn/intrinsics/_pages/MODULO.md:55 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:59 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:57 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:64 +#: ../../source/learn/intrinsics/_pages/NINT.md:91 +#: ../../source/learn/intrinsics/_pages/NORM2.md:68 +#: ../../source/learn/intrinsics/_pages/NOT.md:39 +#: ../../source/learn/intrinsics/_pages/NULL.md:103 +#: ../../source/learn/intrinsics/_pages/PACK.md:93 +#: ../../source/learn/intrinsics/_pages/PARITY.md:55 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:43 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:45 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:41 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:52 +#: ../../source/learn/intrinsics/_pages/RADIX.md:38 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:54 +#: ../../source/learn/intrinsics/_pages/RANGE.md:46 +#: ../../source/learn/intrinsics/_pages/REAL.md:57 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:52 +#: ../../source/learn/intrinsics/_pages/SCALE.md:45 +#: ../../source/learn/intrinsics/_pages/SCAN.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:50 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:76 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:43 +#: ../../source/learn/intrinsics/_pages/SIGN.md:64 +#: ../../source/learn/intrinsics/_pages/SIN.md:115 +#: ../../source/learn/intrinsics/_pages/SINH.md:72 +#: ../../source/learn/intrinsics/_pages/SPACING.md:40 +#: ../../source/learn/intrinsics/_pages/SQRT.md:78 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:45 +#: ../../source/learn/intrinsics/_pages/TAN.md:38 +#: ../../source/learn/intrinsics/_pages/TANH.md:43 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:62 +#: ../../source/learn/intrinsics/_pages/TINY.md:43 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:63 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:73 +#: ../../source/learn/intrinsics/_pages/TRIM.md:43 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:50 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:125 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:181 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:236 +msgid "Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:106 +msgid "" +"[__unpack__(3)](UNPACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:2 +msgid "spread" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:5 +msgid "__spread__(3) - \\[ARRAY CONSTRUCTION\\] Add a dimension to an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:20 +msgid "" +"Replicates a __source__ array __ncopies__ times along a specified " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:23 +msgid "" +"If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). and " +"each element of the result has a value equal to SOURCE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:23 +msgid "__source__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:29 +msgid "Shall be a scalar or an array of any type and a rank less than fifteen." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:31 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:44 +#: ../../source/learn/intrinsics/_pages/IALL.md:26 +#: ../../source/learn/intrinsics/_pages/IANY.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:26 +#: ../../source/learn/intrinsics/_pages/NORM2.md:27 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:26 +msgid "__dim__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:33 +msgid "" +"Shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __n+1__, where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:36 +msgid "__ncopies__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:37 +msgid "Shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:41 +msgid "" +"The result is an array of the same type as __source__ and has rank " +"__n+1__ where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:122 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__merge__(3)](MERGE), " +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:64 +#: ../../source/learn/intrinsics/_pages/AINT.md:92 +#: ../../source/learn/intrinsics/_pages/ANINT.md:82 +#: ../../source/learn/intrinsics/_pages/ASINH.md:61 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:88 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:65 +#: ../../source/learn/intrinsics/_pages/ATANH.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:60 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:63 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:71 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:58 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:73 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:71 +#: ../../source/learn/intrinsics/_pages/BGE.md:39 +#: ../../source/learn/intrinsics/_pages/BGT.md:41 +#: ../../source/learn/intrinsics/_pages/BLE.md:38 +#: ../../source/learn/intrinsics/_pages/BLT.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:78 +#: ../../source/learn/intrinsics/_pages/CHAR.md:78 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:165 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:59 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:62 +#: ../../source/learn/intrinsics/_pages/COS.md:76 +#: ../../source/learn/intrinsics/_pages/COSH.md:59 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:61 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:46 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:71 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:67 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:101 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:72 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:47 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:71 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:63 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:70 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:63 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:67 +#: ../../source/learn/intrinsics/_pages/DPROD.md:86 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:41 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:41 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:84 +#: ../../source/learn/intrinsics/_pages/ERF.md:56 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:52 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:56 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:105 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:45 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:68 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:128 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:91 +#: ../../source/learn/intrinsics/_pages/IALL.md:76 +#: ../../source/learn/intrinsics/_pages/IAND.md:62 +#: ../../source/learn/intrinsics/_pages/IANY.md:74 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:48 +#: ../../source/learn/intrinsics/_pages/IBITS.md:53 +#: ../../source/learn/intrinsics/_pages/IBSET.md:48 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:128 +#: ../../source/learn/intrinsics/_pages/IEOR.md:46 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:53 +#: ../../source/learn/intrinsics/_pages/INDEX.md:87 +#: ../../source/learn/intrinsics/_pages/IOR.md:71 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:74 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:42 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:46 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:51 +#: ../../source/learn/intrinsics/_pages/KIND.md:50 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:131 +#: ../../source/learn/intrinsics/_pages/LGE.md:64 +#: ../../source/learn/intrinsics/_pages/LGT.md:66 +#: ../../source/learn/intrinsics/_pages/LLE.md:112 +#: ../../source/learn/intrinsics/_pages/LLT.md:61 +#: ../../source/learn/intrinsics/_pages/LOG.md:51 +#: ../../source/learn/intrinsics/_pages/LOG10.md:59 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:69 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:38 +#: ../../source/learn/intrinsics/_pages/MAX.md:119 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:56 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/MOD.md:78 +#: ../../source/learn/intrinsics/_pages/MODULO.md:72 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:72 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:84 +#: ../../source/learn/intrinsics/_pages/NORM2.md:91 +#: ../../source/learn/intrinsics/_pages/NULL.md:118 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:66 +#: ../../source/learn/intrinsics/_pages/PARITY.md:63 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:62 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:63 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:69 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:61 +#: ../../source/learn/intrinsics/_pages/RADIX.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:89 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:68 +#: ../../source/learn/intrinsics/_pages/RANGE.md:74 +#: ../../source/learn/intrinsics/_pages/REAL.md:74 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:79 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:50 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:39 +#: ../../source/learn/intrinsics/_pages/SCALE.md:74 +#: ../../source/learn/intrinsics/_pages/SCAN.md:77 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:62 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:92 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:70 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:42 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:40 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:40 +#: ../../source/learn/intrinsics/_pages/SINH.md:90 +#: ../../source/learn/intrinsics/_pages/SPACING.md:68 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:128 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:61 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:103 +#: ../../source/learn/intrinsics/_pages/TAN.md:52 +#: ../../source/learn/intrinsics/_pages/TANH.md:56 +#: ../../source/learn/intrinsics/_pages/TINY.md:70 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:105 +#: ../../source/learn/intrinsics/_pages/TRIM.md:73 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:67 +msgid "####### fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:2 +msgid "unpack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:5 +msgid "" +"__unpack__(3) - \\[ARRAY CONSTRUCTION\\] Store the elements of a vector " +"in an array of higher rank" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:14 +msgid "Store the elements of __vector__ in an array of higher rank." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:19 +msgid "" +"Shall be an array of any type and rank one. It shall have at least as " +"many elements as __mask__ has __.true.__ values." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:23 +msgid "Shall be an array of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:25 +msgid "__field__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:26 +msgid "" +"Shall be of the same type as __vector__ and have the same shape as " +"__mask__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:30 +msgid "" +"The resulting array corresponds to __field__ with __.true.__ elements of " +"__mask__ replaced by values from __vector__ in array element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:61 +msgid "" +"[__pack__(3)](PACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/BIT_index.md:1 +msgid "Bit-level inquiry and manipulation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:2 +msgid "bge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:5 +msgid "__bge__(3) - \\[BIT:COMPARE\\] Bitwise greater than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:14 +msgid "Determines whether an integer is bitwise greater than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/BGE.md:19 +#: ../../source/learn/intrinsics/_pages/BGT.md:18 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/BLE.md:18 +#: ../../source/learn/intrinsics/_pages/BLT.md:18 +#: ../../source/learn/intrinsics/_pages/BTEST.md:23 +#: ../../source/learn/intrinsics/_pages/CHAR.md:22 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:20 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:20 +#: ../../source/learn/intrinsics/_pages/IAND.md:18 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:18 +#: ../../source/learn/intrinsics/_pages/IBITS.md:21 +#: ../../source/learn/intrinsics/_pages/IBSET.md:18 +#: ../../source/learn/intrinsics/_pages/IEOR.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:20 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:24 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:24 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:25 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:18 +#: ../../source/learn/intrinsics/_pages/MASKL.md:21 +#: ../../source/learn/intrinsics/_pages/MASKR.md:21 +#: ../../source/learn/intrinsics/_pages/NOT.md:16 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:19 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:24 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:23 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:18 +msgid "__i__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:20 +#: ../../source/learn/intrinsics/_pages/BLE.md:19 +#: ../../source/learn/intrinsics/_pages/BLT.md:19 +msgid "Shall be of _integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:22 +#: ../../source/learn/intrinsics/_pages/BGT.md:21 +#: ../../source/learn/intrinsics/_pages/BLE.md:21 +#: ../../source/learn/intrinsics/_pages/BLT.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:23 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:23 +#: ../../source/learn/intrinsics/_pages/IAND.md:21 +#: ../../source/learn/intrinsics/_pages/IEOR.md:21 +#: ../../source/learn/intrinsics/_pages/IOR.md:23 +msgid "__j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:23 +#: ../../source/learn/intrinsics/_pages/BLE.md:22 +#: ../../source/learn/intrinsics/_pages/BLT.md:22 +msgid "Shall be of _integer_ type, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:27 +#: ../../source/learn/intrinsics/_pages/BLE.md:26 +#: ../../source/learn/intrinsics/_pages/BLT.md:26 +msgid "The return value is of type _logical_ and of the default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:55 +#: ../../source/learn/intrinsics/_pages/ASINH.md:54 +#: ../../source/learn/intrinsics/_pages/ATANH.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:63 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:61 +#: ../../source/learn/intrinsics/_pages/BGE.md:31 +#: ../../source/learn/intrinsics/_pages/BGT.md:33 +#: ../../source/learn/intrinsics/_pages/BLE.md:30 +#: ../../source/learn/intrinsics/_pages/BLT.md:30 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:48 +#: ../../source/learn/intrinsics/_pages/ERFC.md:66 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:50 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:103 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:120 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:93 +#: ../../source/learn/intrinsics/_pages/IALL.md:68 +#: ../../source/learn/intrinsics/_pages/IANY.md:66 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:65 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:122 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:42 +#: ../../source/learn/intrinsics/_pages/MASKL.md:89 +#: ../../source/learn/intrinsics/_pages/MASKR.md:98 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:115 +#: ../../source/learn/intrinsics/_pages/NORM2.md:83 +#: ../../source/learn/intrinsics/_pages/PARITY.md:61 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:54 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:55 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:55 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:106 +msgid "Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:35 +msgid "[__bgt__(3)](BGT), [__ble__(3)](BLE), [__blt__(3)](BIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:2 +msgid "bgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:5 +msgid "__bgt__(3) - \\[BIT:COMPARE\\] Bitwise greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:14 +msgid "Determines whether an integer is bitwise greater than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:19 +msgid "Shall be of _integer_ type or a BOZ literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:22 +msgid "" +"Shall be of _integer_ type, and of the same kind as __i__; or a BOZ " +"literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:27 +msgid "" +"The return value is of type _logical_ and of the default kind. The result" +" is true if the sequence of bits represented by _i_ is greater than the " +"sequence of bits represented by _j_, otherwise the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:37 +msgid "[__bge__(3),](BGE), [__ble__(3),](BLE), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:2 +msgid "ble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:5 +msgid "__ble__(3) - \\[BIT:COMPARE\\] Bitwise less than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:14 +msgid "Determines whether an integer is bitwise less than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:34 +msgid "[__bge__(3),](BGE), [__bgt__(3),](BGT), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:2 +msgid "blt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:5 +msgid "__blt__(3) - \\[BIT:COMPARE\\] Bitwise less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:14 +msgid "Determines whether an integer is bitwise less than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:34 +msgid "[__bge__(3)](BGE), [__bgt__(3)](BGT), [__ble__(3)](BLE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:2 +msgid "bit\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:5 +msgid "__bit\\_size__(3) - \\[BIT:INQUIRY\\] Bit size inquiry function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:16 +msgid "" +"__bit\\_size(i)__ returns the number of bits (integer precision plus sign" +" bit) represented by the type of the _integer_ __i__. __i__ can be a " +"scalar or an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:25 +msgid "" +"An _integer_ value of any kind to determine the size of in bits. Because " +"only the type of the argument is examined, the argument need not be " +"defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:54 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:143 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:49 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:117 +msgid "Typical Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:68 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:117 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:145 +msgid "####### fortran-lang intrinsic descriptions (license MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:2 +msgid "btest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:5 +msgid "__btest__(3) - \\[BIT:INQUIRY\\] Tests a bit of an _integer_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:15 +msgid "" +"where __KIND__ is any _integer_ kind supported by the programming " +"environment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:19 +msgid "" +"__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in " +"__i__ is set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:24 +#: ../../source/learn/intrinsics/_pages/CHAR.md:23 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:29 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:32 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:39 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:19 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:19 +#: ../../source/learn/intrinsics/_pages/IBITS.md:22 +#: ../../source/learn/intrinsics/_pages/IBITS.md:29 +#: ../../source/learn/intrinsics/_pages/IBSET.md:19 +#: ../../source/learn/intrinsics/_pages/IEOR.md:19 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:28 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:28 +#: ../../source/learn/intrinsics/_pages/NOT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:25 +msgid "The type shall be _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:26 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:21 +#: ../../source/learn/intrinsics/_pages/IBITS.md:24 +#: ../../source/learn/intrinsics/_pages/IBSET.md:21 +msgid "__pos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:27 +msgid "" +"The bit position to query. it must be a valid position for the value " +"__i__; ie. __0 <= pos <= bit_size(i)__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:30 +msgid "A value of zero refers to the least significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:34 +msgid "" +"The result is a _logical_ that has the value __.true.__ if bit " +"position __pos__ of __i__ has the value __1__ and the value " +"__.false.__ if bit __pos__ of __i__ has the value __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:120 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:2 +msgid "storage\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:5 +msgid "__storage\\_size__(3) - \\[BIT:INQUIRY\\] Storage size in bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:14 +msgid "Returns the storage size of argument __a__ in bits." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:36 +#: ../../source/learn/intrinsics/_pages/ANINT.md:18 +#: ../../source/learn/intrinsics/_pages/CEILING.md:22 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:25 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:25 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:25 +#: ../../source/learn/intrinsics/_pages/DBLE.md:24 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:19 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:25 +#: ../../source/learn/intrinsics/_pages/INT.md:20 +#: ../../source/learn/intrinsics/_pages/MOD.md:18 +#: ../../source/learn/intrinsics/_pages/MODULO.md:18 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:21 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:18 +msgid "__a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:19 +msgid "Shall be a scalar or array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:37 +#: ../../source/learn/intrinsics/_pages/AINT.md:34 +#: ../../source/learn/intrinsics/_pages/ANINT.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:25 +#: ../../source/learn/intrinsics/_pages/CHAR.md:25 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:28 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:22 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:36 +#: ../../source/learn/intrinsics/_pages/INT.md:23 +#: ../../source/learn/intrinsics/_pages/LEN.md:34 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKR.md:26 +#: ../../source/learn/intrinsics/_pages/NINT.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:20 +#: ../../source/learn/intrinsics/_pages/SCAN.md:32 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:21 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:51 +msgid "__kind__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:22 +msgid "(Optional) shall be a scalar integer constant expression." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:26 +msgid "" +"The result is a scalar integer with the kind type parameter specified by " +"__kind__ (or default integer type if __kind__ is missing). The result " +"value is the size expressed in bits for an element of an array that has " +"the dynamic type and type parameters of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:49 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:39 +#: ../../source/learn/intrinsics/_pages/MIN.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:25 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:33 +msgid "Sample program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:59 +msgid "[__c\\_sizeof__(3)](C_SIZEOF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:2 +msgid "leadz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:5 +msgid "__leadz__(3) - \\[BIT:COUNT\\] Number of leading zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:14 +msgid "__leadz__ returns the number of leading zero bits of an integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:19 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:20 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:23 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:19 +msgid "Shall be of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:23 +msgid "" +"The type of the return value is the same as a default _integer_. If all " +"the bits of __i__ are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:126 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:2 +msgid "popcnt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:5 +msgid "__popcnt__(3) - \\[BIT:COUNT\\] Number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:14 +msgid "" +"Returns the number of bits set in the binary representation of an " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:24 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:24 +#: ../../source/learn/intrinsics/_pages/RANGE.md:30 +msgid "The return value is of type _integer_ and of the default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:58 +msgid "[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:2 +msgid "poppar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:5 +msgid "__poppar__(3) - \\[BIT:COUNT\\] Parity of the number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:14 +msgid "" +"Returns the parity of an integer's binary representation (i.e., the " +"parity of the number of bits set)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:24 +msgid "" +"The return value is equal to __0__ if __i__ has an even number of bits " +"set and 1 if an odd number of bits are set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:27 +msgid "It is of type _integer_ and of the default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:59 +msgid "[__popcnt__(3)](POPCNT), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:2 +msgid "trailz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:5 +msgid "__trailz__(3) - \\[BIT:COUNT\\] Number of trailing zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:14 +msgid "" +"__trailz(3)__ returns the number of trailing zero bits of an _integer_ " +"value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:23 +msgid "" +"The type of the return value is the default _integer_. If all the bits of" +" I are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:110 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:2 +msgid "dshiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:5 +msgid "__dshiftl__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:14 +msgid "" +"__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost " +"__shift__ bits of the result are the leftmost __shift__ bits of __j__, " +"and the remaining bits are the rightmost bits of __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:24 +msgid "Shall be of type _integer_, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:28 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:26 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:26 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:27 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:26 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:24 +msgid "__shift__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:31 +msgid "The return value has same type and kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:39 +msgid "[__dshiftr__(3)](DSHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:2 +msgid "dshiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:5 +msgid "__dshiftr__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:14 +msgid "" +"__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost " +"__shift__ bits of the result are the rightmost __shift__ bits of __i__, " +"and the remaining bits are the leftmost bits of __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:39 +msgid "[__dshiftl__(3)](DSHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:2 +msgid "merge\\_bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:5 +msgid "__merge\\_bits__(3) - \\[BIT:COPY\\] Merge bits using a mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:15 +msgid "" +"where the result and all input values have the same _integer_ type and " +"KIND with the exception that the mask and either __i__ or __j__ may be a " +"BOZ constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:21 +msgid "" +"A common graphics operation in Ternary Raster Operations is to combine " +"bits from two different sources, generally referred to as bit-blending. " +"__merge\\_bits__ performs a masked bit-blend of __i__ and __j__ using the" +" bits of the __mask__ value to determine which of the input values to " +"copy bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:27 +msgid "" +"Specifically, The k-th bit of the result is equal to the k-th bit of " +"__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit " +"of __j__ otherwise (so all three input values must have the same number " +"of bits)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:32 +msgid "The resulting value is the same as would result from" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:36 +msgid "" +"An exception to all values being of the same _integer_ type is that __i__" +" or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it " +"is either a Binary, Octal, or Hexadecimal literal constant). The BOZ " +"values are converted to the _integer_ type of the non-BOZ value(s) as if " +"called by the intrinsic function __int()__ with the kind of the non-BOZ " +"value(s), so the BOZ values must be in the range of the type of the " +"result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:45 +msgid "" +"__i__ : value to select bits from when the associated bit in the mask is" +" __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:48 +msgid "" +"__j__ : value to select bits from when the associated bit in the mask is " +"__0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:51 +msgid "" +"__mask__ : a value whose bits are used as a mask to select bits from " +"__i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:56 +msgid "" +"The bits blended from __i__ and __j__ using the mask __mask__. It is the " +"same type as __i__ if __i__ is of type _integer_, otherwise the same type" +" as __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:37 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:60 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:54 +msgid "__Example__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:2 +msgid "mvbits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:5 +msgid "" +"__mvbits__(3) - \\[BIT:COPY\\] reproduce bit patterns found in one " +"integer in another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:14 +msgid "" +"__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in " +"the _integer_ __from__ to a specified position in another integer __to__ " +"(which is of the same kind as __from__). It otherwise leaves the bits in" +" __to__ as-is." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:19 +msgid "" +"The bit positions copied must exist within the value of __from__. That " +"is, the values of __frompos+len-1__ and __topos+len-1__ must be " +"nonnegative and less than __bit\\_size__(from)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:23 +msgid "The bits are numbered __0__ to __bit_size(i)-1__, from right to left." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:27 +msgid "__from__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:28 +msgid "An _integer_ to read bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:29 +msgid "__frompos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:30 +msgid "" +"__frompos__ is the position of the first bit to copy. It is a nonnegative" +" _integer_ value < __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:28 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:32 +msgid "__len__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:33 +msgid "" +"A nonnegative _integer_ value that indicates how many bits to copy from " +"__from__. It must not specify copying bits past the end of __from__. That" +" is, __frompos + len__ must be less than or equal to __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:37 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:42 +msgid "__to__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:38 +msgid "" +"The _integer_ variable to place the copied bits into. It must be of the " +"same kind as __from__ and may even be the same variable as __from__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:43 +msgid "" +"is set by copying the sequence of bits of length __len__, starting at " +"position __frompos__ of __from__ to position __topos__ of __to__. No " +"other bits of __to__ are altered. On return, the __len__ bits of __to__ " +"starting at __topos__ are equal to the value that the __len__ bits of " +"__from__ starting at __frompos__ had on entry." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:49 +msgid "__topos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:50 +msgid "" +"A nonnegative _integer_ value indicating the starting location in __to__ " +"to place the specified copy of bits from __from__. __topos + len__ must " +"be less than or equal to __bit_size(to)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:55 +msgid "" +"Sample program that populates a new 32-bit integer with its bytes in " +"reverse order (ie. changes the Endian of the integer)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:134 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__ieor__(3)](IEOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:2 +msgid "ibits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:5 +msgid "__ibits__(3) - \\[BIT:COPY\\] Bit extraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:14 +msgid "" +"__ibits__ extracts a field of length __len__ from __i__, starting from " +"bit position __pos__ and extending left for __len__ bits. The result is " +"right-justified and the remaining bits are zeroed. The value of pos+len " +"must be less than or equal to the value __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:25 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:29 +#: ../../source/learn/intrinsics/_pages/IBITS.md:33 +#: ../../source/learn/intrinsics/_pages/IBSET.md:29 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:32 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:36 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:29 +msgid "The return value is of type _integer_ and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:41 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:2 +msgid "ibclr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:5 +msgid "__ibclr__(3) - \\[BIT:SET\\] Clear bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:14 +msgid "" +"__ibclr__ returns the value of __i__ with the bit at position __pos__ set" +" to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. __pos__ is an __intent(in)__ scalar or array of type " +"_integer_. The value of __pos__ must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__not__(3)](NOT), [__btest__(3)](BTEST), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:2 +msgid "ibset" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:5 +msgid "__ibset__(3) - \\[BIT:SET\\] Set bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:14 +msgid "" +"__ibset__ returns the value of __i__ with the bit at position __pos__ set" +" to one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. pos is an __intent(in)__ scalar or array of type " +"_integer_. The value of pos must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:2 +msgid "maskl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:5 +msgid "__maskl__(3) - \\[BIT:SET\\] Generates a left justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:16 +msgid "" +"__maskl(i\\[, *kind*\\])__ has its leftmost __i__ bits set to __1__, and " +"the remaining bits set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:22 +#: ../../source/learn/intrinsics/_pages/MASKR.md:22 +msgid "" +"Shall be of type _integer_. Its value must be non-negative, and less than" +" or equal to the number of bits for the kind of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:27 +#: ../../source/learn/intrinsics/_pages/MASKR.md:27 +msgid "Shall be a scalar constant expression of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:31 +#: ../../source/learn/intrinsics/_pages/MASKR.md:31 +msgid "" +"The return value is of type _integer_. If __kind__ is present, it " +"specifies the kind value of the return type; otherwise, it is of the " +"default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:35 +msgid "The leftmost __i__ bits are set to 1 and the other bits are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:93 +msgid "[__maskr__(3)](MASKR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:2 +msgid "maskr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:5 +msgid "__maskr__(3) - \\[BIT:SET\\] Generates a right-justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:16 +msgid "" +"__maskr(i\\[, kind\\])__ has its rightmost __i__ bits set to 1, and the " +"remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:35 +msgid "It has its rightmost __i__ bits set to 1, and the remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:102 +msgid "[__maskl__(3)](MASKL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:2 +msgid "iparity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:5 +msgid "__iparity__(3) - \\[BIT:LOGICAL\\] Bitwise exclusive or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:18 +msgid "" +"Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ " +"along dimension __dim__ if the corresponding element in __mask__ is " +"__.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:24 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:24 +msgid "Shall be an array of type _integer_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __\"1\" to \"n\"__, where __\"n\"__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:31 +msgid "" +"(Optional) shall be of type _logical_ and either be a scalar or an array " +"of the same shape as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:36 +#: ../../source/learn/intrinsics/_pages/IANY.md:36 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:36 +#: ../../source/learn/intrinsics/_pages/NORM2.md:33 +msgid "The result is of the same type as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:69 +msgid "" +"[__iany__(3)](IANY), [__iall__(3)](IALL), [__ieor__(3)](IEOR), " +"[__parity__(3)](PARITY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:2 +msgid "iall" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:5 +msgid "__iall__(3) - \\[BIT:LOGICAL\\] Bitwise and of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:18 +msgid "" +"Reduces with bitwise _and_ the elements of __array__ along dimension " +"__dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:27 +#: ../../source/learn/intrinsics/_pages/IANY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __1 to n__, where __n__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _all_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:72 +msgid "[__iany__(3)](IANY), [__iparity__(3)](IPARITY), [__iand__(3)](IAND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:2 +msgid "iand" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:5 +msgid "__iand__(3) - \\[BIT:LOGICAL\\] Bitwise logical and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:14 +msgid "Bitwise logical __and__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:22 +#: ../../source/learn/intrinsics/_pages/IEOR.md:22 +msgid "The type shall be _integer_, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:26 +#: ../../source/learn/intrinsics/_pages/IOR.md:28 +msgid "" +"The return type is _integer_, of the same kind as the arguments. (If the " +"argument kinds differ, it is of the same kind as the larger argument.)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:51 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:2 +msgid "iany" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:5 +msgid "__iany__(3) - \\[BIT:LOGICAL\\] Bitwise or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:18 +msgid "" +"Reduces with bitwise or (inclusive or) the elements of __array__ along " +"dimension __dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _or_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:70 +msgid "[__iparity__(3)](IPARITY), [__iall__(3)](IALL), [__ior__(3)](IOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:2 +msgid "ieor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:5 +msgid "__ieor__(3) - \\[BIT:LOGICAL\\] Bitwise logical exclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:14 +msgid "__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:35 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:2 +msgid "ior" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:5 +msgid "__ior__(3) - \\[BIT:LOGICAL\\] Bitwise logical inclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:16 +msgid "__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:21 +msgid "an _integer_ scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:24 +msgid "_integer_ scalar or array, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:60 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:2 +msgid "not" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:4 +msgid "__not__(3) - \\[BIT:LOGICAL\\] Logical negation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:12 +msgid "NOT returns the bitwise Boolean inverse of I." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:21 +msgid "The return type is _integer_, of the same kind as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:52 +msgid "" +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__ibits__(3)](IBITS), [__ibset__(3)](IBSET)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:58 +msgid "[__ibclr__(3)](IBCLR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:2 +msgid "ishftc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:5 +msgid "__ishftc__(3) - \\[BIT:SHIFT\\] Shift bits circularly" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:14 +msgid "" +"__ishftc__(3) returns a value corresponding to __i__ with the rightmost " +"__size__ bits shifted circularly __shift__ places; that is, bits shifted " +"out one end are shifted into the opposite end. A value of __shift__ " +"greater than zero corresponds to a left shift, a value of zero " +"corresponds to no shift, and a value less than zero corresponds to a " +"right shift. The absolute value of __shift__ must be less than __size__. " +"If the __size__ argument is omitted, it is taken to be equivalent to " +"__bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:30 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:22 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:29 +msgid "__size__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:31 +msgid "" +"(Optional) The type shall be _integer_; the value must be greater than " +"zero and less than or equal to __bit\\_size__(i)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:44 +msgid "[__ishft__(3)](ISHFT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:2 +msgid "ishft" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:5 +msgid "__ishft__(3) - \\[BIT:SHIFT\\] Shift bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:14 +msgid "" +"__ishft__(3) returns a value corresponding to __i__ with all of the bits " +"shifted __shift__ places. A value of __shift__ greater than zero " +"corresponds to a left shift, a value of zero corresponds to no shift, and" +" a value less than zero corresponds to a right shift. If the absolute " +"value of __shift__ is greater than __bit\\_size(i)__, the value is " +"undefined. Bits shifted out from the left end or right end are lost; " +"zeros are shifted in from the opposite end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:40 +msgid "[__ishftc__(3)](ISHFTC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:2 +msgid "shifta" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:5 +msgid "__shifta__(3) - \\[BIT:SHIFT\\] shift bits right with fill" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost. The fill is arithmetic: the bits shifted in from the " +"left end are equal to the leftmost bit, which in two's complement " +"representation is the sign bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:39 +msgid "[__shiftl__(3)](SHIFTL), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:2 +msgid "shiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:5 +msgid "__shiftl__(3) - \\[BIT:SHIFT\\] shift bits left" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted left " +"by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the left" +" end are lost, and bits shifted in from the right end are set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:2 +msgid "shiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:5 +msgid "__shiftr__(3) - \\[BIT:SHIFT\\] shift bits right" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost, and bits shifted in from the left end are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftl__(3)](SHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/CHARACTER_index.md:1 +msgid "Basic procedures for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:2 +msgid "len" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:5 +msgid "__len__(3) - \\[CHARACTER\\] Length of a character entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:16 +msgid "" +"where the returned value is the same kind as the __KIND__, or of the " +"default kind if __KIND__ is not specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:21 +msgid "__len(3)__ Returns the length of a _character_ string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:23 +msgid "" +"If __string__ is an array, the length of an element of __string__ is " +"returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:26 +msgid "" +"Note that __string__ need not be defined when this intrinsic is invoked, " +"as only the length (not the content) of __string__ is needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:23 +#: ../../source/learn/intrinsics/_pages/INDEX.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:31 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:22 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:22 +#: ../../source/learn/intrinsics/_pages/SCAN.md:23 +#: ../../source/learn/intrinsics/_pages/TRIM.md:18 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:42 +msgid "__string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:32 +msgid "Shall be a scalar or array of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:26 +#: ../../source/learn/intrinsics/_pages/INDEX.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:24 +#: ../../source/learn/intrinsics/_pages/LEN.md:35 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:52 +msgid "" +"An _integer_ initialization expression indicating the kind parameter of " +"the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:28 +#: ../../source/learn/intrinsics/_pages/INDEX.md:43 +#: ../../source/learn/intrinsics/_pages/LEN.md:40 +#: ../../source/learn/intrinsics/_pages/SCAN.md:38 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:57 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:45 +msgid "FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:110 +msgid "" +"len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines " +"that allow you to deal with leading and trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:66 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:79 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:111 +#: ../../source/learn/intrinsics/_pages/INDEX.md:75 +#: ../../source/learn/intrinsics/_pages/LEN.md:113 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:74 +#: ../../source/learn/intrinsics/_pages/LGE.md:47 +#: ../../source/learn/intrinsics/_pages/LGT.md:49 +#: ../../source/learn/intrinsics/_pages/LLE.md:95 +#: ../../source/learn/intrinsics/_pages/LLT.md:49 +#: ../../source/learn/intrinsics/_pages/SCAN.md:65 +#: ../../source/learn/intrinsics/_pages/TRIM.md:56 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:249 +msgid "" +"Functions that perform operations on character strings, return lengths of" +" arguments, and search for certain arguments:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:78 +#: ../../source/learn/intrinsics/_pages/LEN.md:116 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:77 +#: ../../source/learn/intrinsics/_pages/LLT.md:52 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:66 +#: ../../source/learn/intrinsics/_pages/SCAN.md:68 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:86 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:122 +#: ../../source/learn/intrinsics/_pages/INDEX.md:82 +#: ../../source/learn/intrinsics/_pages/LEN.md:123 +#: ../../source/learn/intrinsics/_pages/LGE.md:58 +#: ../../source/learn/intrinsics/_pages/LGT.md:60 +#: ../../source/learn/intrinsics/_pages/LLE.md:106 +#: ../../source/learn/intrinsics/_pages/LLT.md:56 +#: ../../source/learn/intrinsics/_pages/SCAN.md:72 +#: ../../source/learn/intrinsics/_pages/TRIM.md:67 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:2 +msgid "new\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:5 +msgid "__new\\_line__(3) - \\[CHARACTER\\] new-line character" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:16 +msgid "__new\\_line(c)__ returns the new-line character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:18 +msgid "Case (i)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:19 +msgid "" +"If __a__ is default _character_ and the character in position __10__ of " +"the ASCII collating sequence is representable in the default character " +"set, then the result is __achar(10)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:23 +msgid "Case (ii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:24 +msgid "" +"If __a__ is an ASCII character or an ISO 10646 character, then the result" +" is __char(10, kind (a))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:27 +msgid "Case (iii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:28 +msgid "" +"Otherwise, the result is a processor-dependent character that represents " +"a newline in output to files connected for formatted stream output if " +"there is such a character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:32 +msgid "Case (iv)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:33 +msgid "Otherwise, the result is the blank character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:37 +msgid "__C__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:38 +msgid "The argument shall be a scalar or array of the type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:42 +msgid "" +"Returns a _character_ scalar of length one with the new-line character of" +" the same kind as parameter __c__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:56 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:55 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:59 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:79 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:121 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:61 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:49 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:66 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:74 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:33 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:57 +msgid "Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:2 +msgid "repeat" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:5 +msgid "__repeat__(3) - \\[CHARACTER\\] Repeated string concatenation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:18 +msgid "Concatenates __ncopies__ copies of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:23 +msgid "" +"The input string to repeatedly generate. Shall be scalar and of type " +"_character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:27 +msgid "" +"Number of copies to make of _string_, greater than or equal to zero (0). " +"Shall be scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:32 +msgid "" +"A new scalar of type _character_ built up from __ncopies__ copies of " +"__string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:64 +msgid "Functions that perform operations on character strings:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:73 +msgid "" +"__Non-elemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:2 +msgid "achar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:5 +msgid "" +"__achar__(3) - \\[CHARACTER:CONVERSION\\] returns a character in a " +"specified position in the ASCII collating sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:16 +msgid "where KIND may be any supported kind value for _integer_ types." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:20 +msgid "" +"__achar(i)__ returns the character located at position __i__ (commonly " +"called the _ADE_ or ASCII Decimal Equivalent) in the ASCII collating " +"sequence." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:23 +msgid "" +"The __achar__(3) function is often used for generating in-band escape " +"sequences to control terminal attributes." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:28 +msgid "will clear the screen on an ANSI-compatible terminal display, for example." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:34 +msgid "" +"the _integer_ value to convert to an ASCII character, in the range 0 to " +"127." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:38 +#: ../../source/learn/intrinsics/_pages/AINT.md:35 +#: ../../source/learn/intrinsics/_pages/ANINT.md:22 +msgid "" +"(optional) an _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:43 +msgid "" +"The return value is the requested character of type _character_ with a " +"length of one. If the __kind__ argument is present, the return value is " +"of the specified kind and of the default kind otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:124 +#: ../../source/learn/intrinsics/_pages/CHAR.md:51 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:83 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:92 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:64 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:72 +msgid "__Note__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:126 +msgid "The ADEs (ASCII Decimal Equivalents) for ASCII are" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:151 +#: ../../source/learn/intrinsics/_pages/INDEX.md:70 +msgid "FORTRAN 77 and later, with KIND argument Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:155 +msgid "[__char__(3)](CHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:159 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:106 +msgid "__Resources__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:161 +msgid "[ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:162 +msgid "" +"[M_attr module](https://github.com/urbanjost/M_attr) for controlling " +"ANSI-compatible terminals" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:2 +msgid "char" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:5 +msgid "__char__(3) - \\[CHARACTER\\] Character conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:18 +msgid "__char(i, kind)__ returns the character represented by the integer __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:26 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:23 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:32 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:27 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:27 +#: ../../source/learn/intrinsics/_pages/REAL.md:21 +#: ../../source/learn/intrinsics/_pages/SCAN.md:33 +msgid "" +"(Optional) An _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:31 +msgid "The return value is of type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:53 +msgid "" +"See [__ichar__(3)](CHAR) for a discussion of converting between numerical" +" values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:123 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:62 +#: ../../source/learn/intrinsics/_pages/AINT.md:81 +#: ../../source/learn/intrinsics/_pages/ANINT.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:58 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:163 +#: ../../source/learn/intrinsics/_pages/CONJG.md:98 +#: ../../source/learn/intrinsics/_pages/COS.md:67 +#: ../../source/learn/intrinsics/_pages/DBLE.md:52 +#: ../../source/learn/intrinsics/_pages/DIM.md:64 +#: ../../source/learn/intrinsics/_pages/DPROD.md:84 +#: ../../source/learn/intrinsics/_pages/EXP.md:84 +#: ../../source/learn/intrinsics/_pages/INT.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:41 +#: ../../source/learn/intrinsics/_pages/LGT.md:41 +#: ../../source/learn/intrinsics/_pages/LLE.md:87 +#: ../../source/learn/intrinsics/_pages/LLT.md:41 +#: ../../source/learn/intrinsics/_pages/LOG.md:49 +#: ../../source/learn/intrinsics/_pages/LOG10.md:57 +#: ../../source/learn/intrinsics/_pages/MAX.md:111 +#: ../../source/learn/intrinsics/_pages/MIN.md:48 +#: ../../source/learn/intrinsics/_pages/MOD.md:72 +#: ../../source/learn/intrinsics/_pages/REAL.md:67 +#: ../../source/learn/intrinsics/_pages/SIGN.md:74 +#: ../../source/learn/intrinsics/_pages/SIN.md:123 +#: ../../source/learn/intrinsics/_pages/SQRT.md:87 +msgid "FORTRAN 77 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:62 +msgid "[__achar__(3)](ACHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:82 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:2 +msgid "iachar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:5 +msgid "" +"__iachar__(3) - \\[CHARACTER:CONVERSION\\] Code in ASCII collating " +"sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:14 +msgid "" +"__iachar__(c) returns the code for the ASCII character in the first " +"character position of C." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:19 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:28 +msgid "__c__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:20 +msgid "Shall be a scalar _character_, with _intent(in)_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:66 +msgid "" +"See [__ichar__(3)](ICHAR) for a discussion of converting between " +"numerical values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:71 +#: ../../source/learn/intrinsics/_pages/SCAN.md:61 +msgid "Fortran 95 and later, with KIND argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:75 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:2 +msgid "ichar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:5 +msgid "" +"__ichar__(3) - \\[CHARACTER:CONVERSION\\] Character-to-integer conversion" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:17 +msgid "" +"__ichar(c)__ returns the code for the character in the system's native " +"character set. The correspondence between characters and their codes is " +"not necessarily the same across different Fortran implementations. For " +"example, a platform using EBCDIC would return different values than an " +"ASCII platform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:23 +msgid "See __iachar__(3) for specifically working with the ASCII character set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:29 +msgid "Shall be a scalar _character_, with __intent(in)__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:37 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:32 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:74 +msgid "" +"No intrinsic exists to convert between a numeric value and a formatted " +"character string representation -- for instance, given the _character_ " +"value '154', obtaining an _integer_ or _real_ value with the value 154, " +"or vice versa. Instead, this functionality is provided by internal-file " +"I/O, as in the following example:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:103 +msgid "Fortran 95 and later, with KIND argument -Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:107 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__iachar__(3)](IACHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:50 +#: ../../source/learn/intrinsics/_pages/LGT.md:52 +#: ../../source/learn/intrinsics/_pages/LLE.md:98 +#: ../../source/learn/intrinsics/_pages/TRIM.md:59 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:119 +#: ../../source/learn/intrinsics/_pages/LGE.md:55 +#: ../../source/learn/intrinsics/_pages/LLE.md:103 +#: ../../source/learn/intrinsics/_pages/TRIM.md:64 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:2 +msgid "index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:5 +msgid "" +"__index__(3) - \\[CHARACTER:SEARCH\\] Position of a substring within a " +"string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:20 +msgid "" +"Returns the position of the start of the leftmost or rightmost occurrence" +" of string __substring__ in __string__, counting from one. If " +"__substring__ is not present in __string__, zero is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:27 +msgid "string to be searched" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:29 +msgid "__substring__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:30 +msgid "string to attempt to locate in __string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:29 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:48 +msgid "__back__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:33 +msgid "" +"If the __back__ argument is present and true, the return value is the " +"start of the rightmost occurrence rather than the leftmost." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:42 +msgid "__START__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:48 +msgid "Example program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:2 +msgid "scan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:5 +msgid "" +"__scan__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the presence of a " +"set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:14 +msgid "Scans a __string__ for any of the characters in a __set__ of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:16 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __STRING__ that is in __set__." +" If __back__ equals __.true.__, the rightmost position is returned. If no" +" character of __set__ is found in __string__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:24 +#: ../../source/learn/intrinsics/_pages/SCAN.md:27 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:43 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:46 +msgid "Shall be of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:26 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:45 +msgid "__set__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:30 +msgid "(Optional) shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:2 +msgid "verify" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:5 +msgid "" +"__verify__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the absence of a" +" set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:20 +msgid "" +"Verifies that all the characters in __string__ belong to the set of " +"characters in __set__ by identifying the first character in the string(s)" +" that is not in the set(s)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:24 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __string__ that is not in " +"__set__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:28 +msgid "If __back__ equals __.true.__, the rightmost position is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:30 +msgid "If all characters of __string__ are found in __set__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:32 +msgid "" +"This makes it easy to verify strings are all uppercase or lowercase, " +"follow a basic syntax, only contain printable characters, and many of the" +" conditions tested for with the C routines __isalnum__(3c), " +"__isalpha__(3c), __isascii__(3c), __isblank__(3c), __iscntrl__(3c), " +"__isdigit__(3c), __isgraph__(3c), __islower__(3c), __isprint__(3c), " +"__ispunct__(3c), __isspace__(3c), __isupper__(3c), and __isxdigit__(3c); " +"but for a string as well an an array of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:49 +msgid "shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:62 +msgid "Sample program I:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:137 +msgid "Sample program II:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:139 +msgid "Determine if strings are valid integer representations" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:187 +msgid "Sample program III:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:189 +msgid "Determine if strings represent valid Fortran symbol names" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:69 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:245 +msgid "Fortran 95 and later, with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:252 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:259 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:2 +msgid "lge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:5 +msgid "__lge__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:14 +msgid "" +"Determines whether one string is lexically greater than or equal to " +"another string, where the two strings are interpreted as containing ASCII" +" character codes. If the String __a__ and String __b__ are not the same " +"length, the shorter is compared as if spaces were appended to it to form " +"a value that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:20 +msgid "" +"In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), " +"__lle__(3), and __llt__(3) differ from the corresponding intrinsic " +"operators .ge., .gt., .le., and .lt., in that the latter use the " +"processor's character ordering (which is not ASCII on some targets), " +"whereas the former always use the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:28 +#: ../../source/learn/intrinsics/_pages/LGT.md:28 +#: ../../source/learn/intrinsics/_pages/LLT.md:28 +msgid "__string\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:29 +#: ../../source/learn/intrinsics/_pages/LGE.md:32 +#: ../../source/learn/intrinsics/_pages/LGT.md:29 +#: ../../source/learn/intrinsics/_pages/LGT.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:29 +#: ../../source/learn/intrinsics/_pages/LLT.md:32 +msgid "Shall be of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:31 +#: ../../source/learn/intrinsics/_pages/LGT.md:31 +#: ../../source/learn/intrinsics/_pages/LLT.md:31 +msgid "__string\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:36 +msgid "" +"Returns .true. if string\\_a \\>= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:45 +msgid "__\\[\\[lgt__(3), __\\[\\[lle__(3), __\\[\\[llt__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:2 +msgid "lgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:5 +msgid "__lgt__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:14 +msgid "" +"Determines whether one string is lexically greater than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the String __a__ and String __b__ are not the same length, the " +"shorter is compared as if spaces were appended to it to form a value that" +" has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:20 +#: ../../source/learn/intrinsics/_pages/LLE.md:26 +#: ../../source/learn/intrinsics/_pages/LLT.md:20 +msgid "" +"In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT " +"differ from the corresponding intrinsic operators .ge., .gt., .le., and " +".lt., in that the latter use the processor's character ordering (which is" +" not ASCII on some targets), whereas the former always use the ASCII " +"ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:36 +msgid "" +"Returns .true. if string\\_a \\> string\\_b, and .false. otherwise, based" +" on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:45 +msgid "[__lge__(3)](LGE), [__lle__(3)](LLE), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:57 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:2 +msgid "lle" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:5 +msgid "__lle__(3) - \\[CHARACTER:COMPARE\\] Lexical less than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:20 +msgid "" +"Determines whether one string is lexically less than or equal to another " +"string, where the two strings are interpreted as containing ASCII " +"character codes. if the __string\\_a__ and __string\\_b__ are not the " +"same length, the shorter is compared as if spaces were appended to it to " +"form a value that has the same length as the longer. Leading spaces are " +"significant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:34 +msgid "__str\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:38 +msgid "variable or array of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:37 +msgid "__str\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:40 +msgid "if __str_a__ and __str_b__ are both arrays they must be of the same shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:45 +msgid "" +"__result__ Returns __.true.__ if __STR\\_A \\<= STR\\_B__, and " +"__.false.__ otherwise, based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:91 +msgid "[__lge__(3)](LGE), [__lgt__(3),](LGT), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:2 +msgid "llt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:5 +msgid "__llt__(3) - \\[CHARACTER:COMPARE\\] Lexical less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:14 +msgid "" +"Determines whether one string is lexically less than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the __string\\_a__ and __string\\_b__ are not the same length, " +"the shorter is compared as if spaces were appended to it to form a value " +"that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:36 +msgid "" +"Returns .true. if string\\_a \\<= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:45 +msgid "[__lge__(3)](LGE), [__lgt__(3)](LGT), [__lle__(3](LLE))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:2 +msgid "adjustl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:5 +msgid "__adjustl__(3) - \\[CHARACTER:WHITESPACE\\] Left-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:17 +msgid "" +"__adjustl(string)__ will left-adjust a string by removing leading spaces." +" Spaces are inserted at the end of the string as needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:23 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:24 +msgid "the type shall be _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:27 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where leading spaces are removed and the same number of spaces" +" are inserted on the end of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:64 +msgid "[__adjustr__(3)](ADJUSTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:2 +msgid "adjustr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:5 +msgid "__adjustr__(3) - \\[CHARACTER:WHITESPACE\\] Right-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:17 +msgid "" +"__adjustr(string)__ right-adjusts a string by removing trailing spaces. " +"Spaces are inserted at the start of the string as needed to retain the " +"original length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:28 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where trailing spaces are removed and the same number of " +"spaces are inserted at the start of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:77 +msgid "[__adjustl__(3)](ADJUSTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:2 +msgid "len\\_trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:5 +msgid "" +"__len\\_trim__(3) - \\[CHARACTER:WHITESPACE\\] Length of a character " +"entity without trailing blank characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:18 +msgid "Returns the length of a character string, ignoring any trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:23 +msgid "" +"The input string whose length is to be measured. Shall be a scalar of " +"type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:84 +msgid "" +"__Nonelemental:__ [__repeat__(3)](REPEAT), [__len__(3)](LEN), " +"[__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:2 +msgid "trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:5 +msgid "" +"__trim__(3) - \\[CHARACTER:WHITESPACE\\] Remove trailing blank characters" +" of a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:14 +msgid "Removes trailing blank characters of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:19 +msgid "Shall be a scalar of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:23 +msgid "" +"A scalar of type _character_ which length is that of __string__ less the " +"number of trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/COMPILER_index.md:1 +msgid "Information about compiler and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:2 +msgid "compiler\\_options" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:5 +msgid "" +"__compiler\\_options__(3) - \\[COMPILER INQUIRY\\] Options passed to the " +"compiler" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:14 +msgid "compiler\\_options returns a string with the options used for compiling." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:18 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:21 +msgid "None." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:22 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the compiler flags used to compile the file, which called the" +" compiler\\_options intrinsic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:52 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:55 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:53 +msgid "Fortran 2008" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:56 +msgid "[__compiler\\_version__(3)](COMPILER_VERSION), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:2 +msgid "compiler\\_version" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:5 +msgid "__compiler\\_version__(3) - \\[COMPILER INQUIRY\\] Compiler version string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:16 +msgid "" +"__compiler\\_version__(3) returns a string containing the name and " +"version of the compiler." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:25 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the name of the compiler and its version number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:59 +msgid "[__compiler\\_options__(3)](COMPILER_OPTIONS), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/C_index.md:1 +msgid "Procedures for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:2 +msgid "c\\_associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:5 +msgid "__c\\_associated__(3) - \\[ISO\\_C\\_BINDING\\] Status of a C pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:14 +msgid "" +"__c\\_associated(c\\_prt\\_1\\[, c\\_ptr\\_2\\])__ determines the status " +"of the C pointer c\\_ptr\\_1 or if c\\_ptr\\_1 is associated with the " +"target c\\_ptr\\_2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:20 +msgid "__c\\_ptr\\_1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:21 +msgid "Scalar of the type c\\_ptr or c\\_funptr." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:23 +msgid "__c\\_ptr\\_2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:24 +msgid "(Optional) Scalar of the same type as c\\_ptr\\_1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:28 +msgid "" +"The return value is of type _logical_; it is .false. if either " +"c\\_ptr\\_1 is a C NULL pointer or if c\\_ptr1 and c\\_ptr\\_2 point to " +"different addresses." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_funloc__(3)](C_FUNLOC), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:2 +msgid "c\\_f\\_pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:5 +msgid "" +"__c\\_f\\_pointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into Fortran " +"pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:14 +msgid "" +"__c\\_f\\_pointer(cptr, fptr\\[, shape\\])__ Assign the target, the C " +"pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:19 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:19 +msgid "__cptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:20 +msgid "scalar of the type c\\_ptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:22 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:22 +msgid "__fptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:23 +msgid "pointer interoperable with __cptr__. it is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:25 +msgid "__shape__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:26 +msgid "" +"(Optional) Rank-one array of type _integer_ with __intent(in)__ . It " +"shall be present if and only if __fptr__ is an array. The size must be " +"equal to the rank of __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:57 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:2 +msgid "c\\_f\\_procpointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:5 +msgid "" +"__c\\_f\\_procpointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into " +"Fortran procedure pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:14 +msgid "" +"__c\\_f\\_procpointer(cptr, fptr)__ assigns the target of the C function " +"pointer __cptr__ to the Fortran procedure pointer __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:20 +msgid "scalar of the type c\\_funptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:23 +msgid "procedure pointer interoperable with __cptr__. It is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_pointer__(3)](C_F_POINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:2 +msgid "c\\_funloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:5 +msgid "" +"__c\\_funloc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of a " +"procedure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:14 +msgid "__c\\_funloc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:23 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:24 +#: ../../source/learn/intrinsics/_pages/AINT.md:31 +#: ../../source/learn/intrinsics/_pages/ASIN.md:27 +#: ../../source/learn/intrinsics/_pages/ASINH.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:28 +#: ../../source/learn/intrinsics/_pages/ATANH.md:18 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:34 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:34 +#: ../../source/learn/intrinsics/_pages/COS.md:27 +#: ../../source/learn/intrinsics/_pages/COSH.md:25 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:19 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:26 +#: ../../source/learn/intrinsics/_pages/DIM.md:24 +#: ../../source/learn/intrinsics/_pages/DPROD.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:32 +#: ../../source/learn/intrinsics/_pages/ERF.md:21 +#: ../../source/learn/intrinsics/_pages/ERFC.md:37 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:24 +#: ../../source/learn/intrinsics/_pages/EXP.md:29 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:20 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/HUGE.md:25 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:28 +#: ../../source/learn/intrinsics/_pages/KIND.md:18 +#: ../../source/learn/intrinsics/_pages/LOG.md:19 +#: ../../source/learn/intrinsics/_pages/LOG10.md:21 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:18 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:19 +#: ../../source/learn/intrinsics/_pages/NINT.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:18 +#: ../../source/learn/intrinsics/_pages/RANGE.md:25 +#: ../../source/learn/intrinsics/_pages/REAL.md:17 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:21 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:28 +#: ../../source/learn/intrinsics/_pages/SINH.md:30 +#: ../../source/learn/intrinsics/_pages/SPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SQRT.md:43 +#: ../../source/learn/intrinsics/_pages/TAN.md:18 +#: ../../source/learn/intrinsics/_pages/TANH.md:18 +#: ../../source/learn/intrinsics/_pages/TINY.md:23 +msgid "__x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:19 +msgid "Interoperable function or pointer to such function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:23 +msgid "" +"The return value is of type c\\_funptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:63 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_loc__(3)](C_LOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:67 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:54 +msgid "[__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), __iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:2 +msgid "c\\_loc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:5 +msgid "__c\\_loc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of an object" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:14 +msgid "__c\\_loc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:19 +msgid "" +"Shall have either the _pointer_ or _target_ attribute. It shall not be a " +"coindexed object. It shall either be a variable with interoperable type " +"and kind type parameters, or be a scalar, nonpolymorphic variable with no" +" length type parameters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:26 +msgid "" +"The return value is of type c\\_ptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:50 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_funloc__(3)](C_FUNLOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:2 +msgid "c\\_sizeof" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:5 +msgid "__c\\_sizeof__(3) - \\[ISO\\_C\\_BINDING\\] Size in bytes of an expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:14 +msgid "" +"__c\\_sizeof(x)__ calculates the number of bytes of storage the " +"expression __x__ occupies." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:20 +msgid "The argument shall be an interoperable data entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:24 +msgid "" +"The return value is of type integer and of the system-dependent kind " +"c\\_size\\_t (from the *iso\\_c\\_binding* module). Its value is the " +"number of bytes occupied by the argument. If the argument has the " +"_pointer_ attribute, the number of bytes of the storage area pointed to " +"is returned. If the argument is of a derived type with _pointer_ or " +"_allocatable_ components, the return value does not account for the sizes" +" of the data pointed to by these components." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:48 +msgid "" +"The example will print .true. unless you are using a platform where " +"default _real_ variables are unusually padded." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:57 +msgid "[__storage\\_size__(3)](STORAGE_SIZE)" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:1 +msgid "GNU Free Documentation License" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:2 +msgid "*Version 1.2, November 2002*" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:9 +msgid "0. PREAMBLE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:11 +msgid "" +"The purpose of this License is to make a manual, textbook, or other " +"functional and useful document \"free\" in the sense of freedom: to " +"assure everyone the effective freedom to copy and redistribute it, with " +"or without modifying it, either commercially or noncommercially. " +"Secondarily, this License preserves for the author and publisher a way to" +" get credit for their work, while not being considered responsible for " +"modifications made by others." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:19 +msgid "" +"This License is a kind of \"copyleft\", which means that derivative works" +" of the document must themselves be free in the same sense. It " +"complements the GNU General Public License, which is a copyleft license " +"designed for free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:24 +msgid "" +"We have designed this License in order to use it for manuals for free " +"software, because free software needs free documentation: a free program " +"should come with manuals providing the same freedoms that the software " +"does. But this License is not limited to software manuals; it can be " +"used for any textual work, regardless of subject matter or whether it is " +"published as a printed book. We recommend this License principally for " +"works whose purpose is instruction or reference." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:33 +msgid "1. APPLICABILITY AND DEFINITIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:35 +msgid "" +"This License applies to any manual or other work, in any medium, that " +"contains a notice placed by the copyright holder saying it can be " +"distributed under the terms of this License. Such a notice grants a " +"world-wide, royalty-free license, unlimited in duration, to use that work" +" under the conditions stated herein. The \"Document\", below, refers to " +"any such manual or work. Any member of the public is a licensee, and is " +"addressed as \"you\". You accept the license if you copy, modify or " +"distribute the work in a way requiring permission under copyright law." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:45 +msgid "" +"A \"Modified Version\" of the Document means any work containing the " +"Document or a portion of it, either copied verbatim, or with " +"modifications and/or translated into another language." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:49 +msgid "" +"A \"Secondary Section\" is a named appendix or a front-matter section of " +"the Document that deals exclusively with the relationship of the " +"publishers or authors of the Document to the Document's overall subject " +"(or to related matters) and contains nothing that could fall directly " +"within that overall subject. (Thus, if the Document is in part a " +"textbook of mathematics, a Secondary Section may not explain any " +"mathematics.) The relationship could be a matter of historical " +"connection with the subject or with related matters, or of legal, " +"commercial, philosophical, ethical or political position regarding them." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:60 +msgid "" +"The \"Invariant Sections\" are certain Secondary Sections whose titles " +"are designated, as being those of Invariant Sections, in the notice that " +"says that the Document is released under this License. If a section does" +" not fit the above definition of Secondary then it is not allowed to be " +"designated as Invariant. The Document may contain zero Invariant " +"Sections. If the Document does not identify any Invariant Sections then " +"there are none." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:68 +msgid "" +"The \"Cover Texts\" are certain short passages of text that are listed, " +"as Front-Cover Texts or Back-Cover Texts, in the notice that says that " +"the Document is released under this License. A Front-Cover Text may be " +"at most 5 words, and a Back-Cover Text may be at most 25 words." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:73 +msgid "" +"A \"Transparent\" copy of the Document means a machine-readable copy, " +"represented in a format whose specification is available to the general " +"public, that is suitable for revising the document straightforwardly with" +" generic text editors or (for images composed of pixels) generic paint " +"programs or (for drawings) some widely available drawing editor, and that" +" is suitable for input to text formatters or for automatic translation to" +" a variety of formats suitable for input to text formatters. A copy made" +" in an otherwise Transparent file format whose markup, or absence of " +"markup, has been arranged to thwart or discourage subsequent modification" +" by readers is not Transparent. An image format is not Transparent if " +"used for any substantial amount of text. A copy that is not " +"\"Transparent\" is called \"Opaque\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:86 +msgid "" +"Examples of suitable formats for Transparent copies include plain ASCII " +"without markup, Texinfo input format, LaTeX input format, SGML or XML " +"using a publicly available DTD, and standard-conforming simple HTML, " +"PostScript or PDF designed for human modification. Examples of " +"transparent image formats include PNG, XCF and JPG. Opaque formats " +"include proprietary formats that can be read and edited only by " +"proprietary word processors, SGML or XML for which the DTD and/or " +"processing tools are not generally available, and the machine-generated " +"HTML, PostScript or PDF produced by some word processors for output " +"purposes only." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:97 +msgid "" +"The \"Title Page\" means, for a printed book, the title page itself, plus" +" such following pages as are needed to hold, legibly, the material this " +"License requires to appear in the title page. For works in formats which" +" do not have any title page as such, \"Title Page\" means the text near " +"the most prominent appearance of the work's title, preceding the " +"beginning of the body of the text." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:104 +msgid "" +"A section \"Entitled XYZ\" means a named subunit of the Document whose " +"title either is precisely XYZ or contains XYZ in parentheses following " +"text that translates XYZ in another language. (Here XYZ stands for a " +"specific section name mentioned below, such as \"Acknowledgements\", " +"\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the " +"Title\" of such a section when you modify the Document means that it " +"remains a section \"Entitled XYZ\" according to this definition." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:112 +msgid "" +"The Document may include Warranty Disclaimers next to the notice which " +"states that this License applies to the Document. These Warranty " +"Disclaimers are considered to be included by reference in this License, " +"but only as regards disclaiming warranties: any other implication that " +"these Warranty Disclaimers may have is void and has no effect on the " +"meaning of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:120 +msgid "2. VERBATIM COPYING" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:122 +msgid "" +"You may copy and distribute the Document in any medium, either " +"commercially or noncommercially, provided that this License, the " +"copyright notices, and the license notice saying this License applies to " +"the Document are reproduced in all copies, and that you add no other " +"conditions whatsoever to those of this License. You may not use " +"technical measures to obstruct or control the reading or further copying " +"of the copies you make or distribute. However, you may accept " +"compensation in exchange for copies. If you distribute a large enough " +"number of copies you must also follow the conditions in section 3." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:132 +msgid "" +"You may also lend copies, under the same conditions stated above, and you" +" may publicly display copies." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:136 +msgid "3. COPYING IN QUANTITY" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:138 +msgid "" +"If you publish printed copies (or copies in media that commonly have " +"printed covers) of the Document, numbering more than 100, and the " +"Document's license notice requires Cover Texts, you must enclose the " +"copies in covers that carry, clearly and legibly, all these Cover Texts: " +"Front-Cover Texts on the front cover, and Back-Cover Texts on the back " +"cover. Both covers must also clearly and legibly identify you as the " +"publisher of these copies. The front cover must present the full title " +"with all words of the title equally prominent and visible. You may add " +"other material on the covers in addition. Copying with changes limited to" +" the covers, as long as they preserve the title of the Document and " +"satisfy these conditions, can be treated as verbatim copying in other " +"respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:151 +msgid "" +"If the required texts for either cover are too voluminous to fit legibly," +" you should put the first ones listed (as many as fit reasonably) on the " +"actual cover, and continue the rest onto adjacent pages." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:156 +msgid "" +"If you publish or distribute Opaque copies of the Document numbering more" +" than 100, you must either include a machine-readable Transparent copy " +"along with each Opaque copy, or state in or with each Opaque copy a " +"computer-network location from which the general network-using public has" +" access to download using public-standard network protocols a complete " +"Transparent copy of the Document, free of added material. If you use the " +"latter option, you must take reasonably prudent steps, when you begin " +"distribution of Opaque copies in quantity, to ensure that this " +"Transparent copy will remain thus accessible at the stated location until" +" at least one year after the last time you distribute an Opaque copy " +"(directly or through your agents or retailers) of that edition to the " +"public." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:169 +msgid "" +"It is requested, but not required, that you contact the authors of the " +"Document well before redistributing any large number of copies, to give " +"them a chance to provide you with an updated version of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:174 +msgid "4. MODIFICATIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:176 +msgid "" +"You may copy and distribute a Modified Version of the Document under the " +"conditions of sections 2 and 3 above, provided that you release the " +"Modified Version under precisely this License, with the Modified Version " +"filling the role of the Document, thus licensing distribution and " +"modification of the Modified Version to whoever possesses a copy of it. " +"In addition, you must do these things in the Modified Version:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:183 +msgid "" +"__A__. Use in the Title Page (and on the covers, if any) a title distinct" +" from that of the Document, and from those of previous versions (which " +"should, if there were any, be listed in the History section of the " +"Document). You may use the same title as a previous version if the " +"original publisher of that version gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:188 +msgid "" +"__B__. List on the Title Page, as authors, one or more persons or " +"entities responsible for authorship of the modifications in the Modified" +" Version, together with at least five of the principal authors of the " +"Document (all of its principal authors, if it has fewer than five), " +"unless they release you from this requirement." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:193 +msgid "" +"__C__. State on the Title page the name of the publisher of the Modified" +" Version, as the publisher." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:195 +msgid "__D__. Preserve all the copyright notices of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:196 +msgid "" +"__E__. Add an appropriate copyright notice for your modifications " +"adjacent to the other copyright notices." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:198 +msgid "" +"__F__. Include, immediately after the copyright notices, a license notice" +" giving the public permission to use the Modified Version under the " +"terms of this License, in the form shown in the Addendum below." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:201 +msgid "" +"__G__. Preserve in that license notice the full lists of Invariant " +"Sections and required Cover Texts given in the Document's license " +"notice." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:203 +msgid "__H__. Include an unaltered copy of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:204 +msgid "" +"__I__. Preserve the section Entitled \"History\", Preserve its Title, and" +" add to it an item stating at least the title, year, new authors, and " +"publisher of the Modified Version as given on the Title Page. If there " +"is no section Entitled \"History\" in the Document, create one stating " +"the title, year, authors, and publisher of the Document as given on its " +"Title Page, then add an item describing the Modified Version as stated " +"in the previous sentence." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:211 +msgid "" +"__J__. Preserve the network location, if any, given in the Document for " +"public access to a Transparent copy of the Document, and likewise the " +"network locations given in the Document for previous versions it was " +"based on. These may be placed in the \"History\" section. You may omit " +"a network location for a work that was published at least four years " +"before the Document itself, or if the original publisher of the version " +"it refers to gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:218 +msgid "" +"__K__. For any section Entitled \"Acknowledgements\" or \"Dedications\"," +" Preserve the Title of the section, and preserve in the section all the" +" substance and tone of each of the contributor acknowledgements and/or " +"dedications given therein." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:222 +msgid "" +"__L__. Preserve all the Invariant Sections of the Document, unaltered in" +" their text and in their titles. Section numbers or the equivalent are " +"not considered part of the section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:225 +msgid "" +"__M__. Delete any section Entitled \"Endorsements\". Such a section may" +" not be included in the Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:227 +msgid "" +"__N__. Do not retitle any existing section to be Entitled " +"\"Endorsements\" or to conflict in title with any Invariant Section." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:229 +msgid "__O__. Preserve any Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:231 +msgid "" +"If the Modified Version includes new front-matter sections or appendices " +"that qualify as Secondary Sections and contain no material copied from " +"the Document, you may at your option designate some or all of these " +"sections as invariant. To do this, add their titles to the list of " +"Invariant Sections in the Modified Version's license notice. These titles" +" must be distinct from any other section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:238 +msgid "" +"You may add a section Entitled \"Endorsements\", provided it contains " +"nothing but endorsements of your Modified Version by various parties--for" +" example, statements of peer review or that the text has been approved by" +" an organization as the authoritative definition of a standard." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:244 +msgid "" +"You may add a passage of up to five words as a Front-Cover Text, and a " +"passage of up to 25 words as a Back-Cover Text, to the end of the list of" +" Cover Texts in the Modified Version. Only one passage of Front-Cover " +"Text and one of Back-Cover Text may be added by (or through arrangements " +"made by) any one entity. If the Document already includes a cover text " +"for the same cover, previously added by you or by arrangement made by the" +" same entity you are acting on behalf of, you may not add another; but " +"you may replace the old one, on explicit permission from the previous " +"publisher that added the old one." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:254 +msgid "" +"The author(s) and publisher(s) of the Document do not by this License " +"give permission to use their names for publicity for or to assert or " +"imply endorsement of any Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:259 +msgid "5. COMBINING DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:261 +msgid "" +"You may combine the Document with other documents released under this " +"License, under the terms defined in section 4 above for modified " +"versions, provided that you include in the combination all of the " +"Invariant Sections of all of the original documents, unmodified, and list" +" them all as Invariant Sections of your combined work in its license " +"notice, and that you preserve all their Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:268 +msgid "" +"The combined work need only contain one copy of this License, and " +"multiple identical Invariant Sections may be replaced with a single copy." +" If there are multiple Invariant Sections with the same name but " +"different contents, make the title of each such section unique by adding " +"at the end of it, in parentheses, the name of the original author or " +"publisher of that section if known, or else a unique number. Make the " +"same adjustment to the section titles in the list of Invariant Sections " +"in the license notice of the combined work." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:277 +msgid "" +"In the combination, you must combine any sections Entitled \"History\" in" +" the various original documents, forming one section Entitled " +"\"History\"; likewise combine any sections Entitled \"Acknowledgements\"," +" and any sections Entitled \"Dedications\". You must delete all sections" +" Entitled \"Endorsements\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:284 +msgid "6. COLLECTIONS OF DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:286 +msgid "" +"You may make a collection consisting of the Document and other documents " +"released under this License, and replace the individual copies of this " +"License in the various documents with a single copy that is included in " +"the collection, provided that you follow the rules of this License for " +"verbatim copying of each of the documents in all other respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:292 +msgid "" +"You may extract a single document from such a collection, and distribute " +"it individually under this License, provided you insert a copy of this " +"License into the extracted document, and follow this License in all other" +" respects regarding verbatim copying of that document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:298 +msgid "7. AGGREGATION WITH INDEPENDENT WORKS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:300 +msgid "" +"A compilation of the Document or its derivatives with other separate and " +"independent documents or works, in or on a volume of a storage or " +"distribution medium, is called an \"aggregate\" if the copyright " +"resulting from the compilation is not used to limit the legal rights of " +"the compilation's users beyond what the individual works permit. When the" +" Document is included in an aggregate, this License does not apply to the" +" other works in the aggregate which are not themselves derivative works " +"of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:309 +msgid "" +"If the Cover Text requirement of section 3 is applicable to these copies " +"of the Document, then if the Document is less than one half of the entire" +" aggregate, the Document's Cover Texts may be placed on covers that " +"bracket the Document within the aggregate, or the electronic equivalent " +"of covers if the Document is in electronic form. Otherwise they must " +"appear on printed covers that bracket the whole aggregate." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:318 +msgid "8. TRANSLATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:320 +msgid "" +"Translation is considered a kind of modification, so you may distribute " +"translations of the Document under the terms of section 4. Replacing " +"Invariant Sections with translations requires special permission from " +"their copyright holders, but you may include translations of some or all " +"Invariant Sections in addition to the original versions of these " +"Invariant Sections. You may include a translation of this License, and " +"all the license notices in the Document, and any Warranty Disclaimers, " +"provided that you also include the original English version of this " +"License and the original versions of those notices and disclaimers. In " +"case of a disagreement between the translation and the original version " +"of this License or a notice or disclaimer, the original version will " +"prevail." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:333 +msgid "" +"If a section in the Document is Entitled \"Acknowledgements\", " +"\"Dedications\", or \"History\", the requirement (section 4) to Preserve " +"its Title (section 1) will typically require changing the actual title." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:339 +msgid "9. TERMINATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:341 +msgid "" +"You may not copy, modify, sublicense, or distribute the Document except " +"as expressly provided for under this License. Any other attempt to copy," +" modify, sublicense or distribute the Document 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." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:350 +msgid "10. FUTURE REVISIONS OF THIS LICENSE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:352 +msgid "" +"The Free Software Foundation may publish new, revised versions of the GNU" +" Free Documentation 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. See http://www.gnu.org/copyleft/." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:358 +msgid "" +"Each version of the License is given a distinguishing version number. If " +"the Document specifies that a particular numbered version of this License" +" \"or any later version\" applies to it, you have the option of following" +" the terms and conditions either of that specified version or of any " +"later version that has been published (not as a draft) by the Free " +"Software Foundation. If the Document does not specify a version number " +"of this License, you may choose any version ever published (not as a " +"draft) by the Free Software Foundation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:368 +msgid "ADDENDUM: How to use this License for your documents" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:370 +msgid "" +"To use this License in a document you have written, include a copy of the" +" License in the document and put the following copyright and license " +"notices just after the title page:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:382 +msgid "" +"If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, " +"replace the \"with...Texts.\" line with this:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:388 +msgid "" +"If you have Invariant Sections without Cover Texts, or some other " +"combination of the three, merge those two alternatives to suit the " +"situation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:392 +msgid "" +"If your document contains nontrivial examples of program code, we " +"recommend releasing these examples in parallel under your choice of free " +"software license, such as the GNU General Public License, to permit their" +" use in free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:397 +msgid "fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/MATH_index.md:1 +#: ../../source/learn/intrinsics/index.md:17 +msgid "General mathematical functions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:2 +msgid "acos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:4 +msgid "" +"__acos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] arccosine (inverse cosine) " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:14 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:19 +msgid "__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:24 +msgid "" +"Must be type _real_ or _complex_. If the type is _real_, the value must " +"satisfy |__x__| <= 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:29 +#, python-format +msgid "" +"The return value is of the same type and kind as __x__. The _real_ part " +"of the result is in radians and lies in the range __0 \\<= acos(x%re) " +"\\<= PI__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:60 +msgid "FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:64 +#: ../../source/learn/intrinsics/_pages/ASIN.md:94 +#: ../../source/learn/intrinsics/_pages/ATAN.md:78 +msgid "" +"[wikipedia: inverse trigonometric " +"functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:66 +msgid "Inverse function: [__cos__(3](COS))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:2 +msgid "acosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:5 +msgid "" +"__acosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic cosine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:15 +#: ../../source/learn/intrinsics/_pages/COS.md:14 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any KIND supported " +"by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:20 +msgid "__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:25 +msgid "the type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:29 +#: ../../source/learn/intrinsics/_pages/EXP.md:36 +#: ../../source/learn/intrinsics/_pages/SIN.md:34 +#: ../../source/learn/intrinsics/_pages/TAN.md:23 +msgid "The return value has the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:31 +msgid "" +"If __x__ is _complex_, the imaginary part of the result is in radians and" +" lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:34 +msgid "__0 \\<= aimag(acosh(x)) \\<= PI__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:58 +#: ../../source/learn/intrinsics/_pages/ASINH.md:57 +#: ../../source/learn/intrinsics/_pages/ATANH.md:51 +#: ../../source/learn/intrinsics/_pages/COSH.md:55 +#: ../../source/learn/intrinsics/_pages/SINH.md:86 +#: ../../source/learn/intrinsics/_pages/TANH.md:52 +msgid "" +"[Wikipedia:hyperbolic " +"functions](https://en.wikipedia.org/wiki/Hyperbolic_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:60 +msgid "Inverse function: [__cosh__(3)](COSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:2 +msgid "asin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:5 +msgid "__asin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arcsine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:14 +msgid "" +"where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:19 +msgid "__asin(x)__ computes the arcsine of its argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:21 +msgid "" +"The arcsine is the inverse function of the sine function. It is commonly " +"used in trigonometry when trying to find the angle when the lengths of " +"the hypotenuse and the opposite side of a right triangle are known." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:28 +msgid "" +"The type shall be either _real_ and a magnitude that is less than or " +"equal to one; or be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:33 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:29 +#: ../../source/learn/intrinsics/_pages/SIN.md:33 +msgid "__result__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:34 +msgid "" +"The return value is of the same type and kind as __x__. The real part of " +"the result is in radians and lies in the range __-PI/2 \\<= asin(x) \\<= " +"PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:40 +msgid "" +"The arcsine will allow you to find the measure of a right angle when you " +"know the ratio of the side opposite the angle to the hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:43 +msgid "" +"So if you knew that a train track rose 1.25 vertical miles on a track " +"that was 50 miles long, you could determine the average angle of incline " +"of the track using the arcsine. Given" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:77 +msgid "" +"The percentage grade is the slope, written as a percent. To calculate the" +" slope you divide the rise by the run. In the example the rise is 1.25 " +"mile over a run of 50 miles so the slope is 1.25/50 = 0.025. Written as a" +" percent this is 2.5 %." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:82 +msgid "" +"For the US, two and 1/2 percent is generally thought of as the upper " +"limit. This means a rise of 2.5 feet when going 100 feet forward. In the " +"US this was the maximum grade on the first major US railroad, the " +"Baltimore and Ohio. Note curves increase the frictional drag on a train " +"reducing the allowable grade." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:90 +#: ../../source/learn/intrinsics/_pages/TANH.md:49 +msgid "FORTRAN 77 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:96 +msgid "Inverse function: [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:2 +msgid "asinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:5 +msgid "" +"__asinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic sine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:15 +#: ../../source/learn/intrinsics/_pages/SINH.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:20 +msgid "__asinh(x)__ computes the inverse hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:25 +#: ../../source/learn/intrinsics/_pages/ATANH.md:19 +#: ../../source/learn/intrinsics/_pages/COSH.md:26 +#: ../../source/learn/intrinsics/_pages/EXP.md:30 +#: ../../source/learn/intrinsics/_pages/LOG.md:20 +#: ../../source/learn/intrinsics/_pages/SINH.md:31 +#: ../../source/learn/intrinsics/_pages/TAN.md:19 +#: ../../source/learn/intrinsics/_pages/TANH.md:19 +msgid "The type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:29 +msgid "" +"The return value is of the same type and kind as __x__. If __x__ is " +"_complex_, the imaginary part of the result is in radians and lies " +"between __-PI/2 \\<= aimag(asinh(x)) \\<= PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:59 +msgid "Inverse function: [__sinh__(3)](SINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:2 +msgid "atan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:5 +msgid "__atan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:15 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type. If __y__ is present __x__ is " +"_real`." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:20 +msgid "__atan(x)__ computes the arctangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:25 +msgid "" +"The type shall be _real_ or _complex_; if __y__ is present, __x__ shall " +"be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:25 +#: ../../source/learn/intrinsics/_pages/DIM.md:27 +#: ../../source/learn/intrinsics/_pages/DPROD.md:25 +#: ../../source/learn/intrinsics/_pages/DPROD.md:36 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:31 +msgid "__y__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:29 +msgid "" +"Shall be of the same type and kind as __x__. If __x__ is zero, __y__ " +"must not be zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:34 +msgid "" +"The returned value is of the same type and kind as __x__. If __y__ is " +"present, the result is identical to __atan2(y,x)__. Otherwise, it is the " +"arc tangent of __x__, where the real part of the result is in radians and" +" lies in the range __-PI/2 \\<= atan(x) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:73 +msgid "" +"FORTRAN 77 and later for a complex argument; and for two arguments " +"Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:80 +msgid "[__atan2__(3)](ATAN2), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:2 +msgid "atan2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:5 +msgid "__atan2__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:13 +msgid "" +"__atan2(y, x)__ computes the arctangent of the complex number ( __x__ + i" +" __y__ ) ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:16 +msgid "" +"This function can be used to transform from Cartesian into polar " +"coordinates and allows to determine the angle in the correct quadrant. To" +" convert from Cartesian Coordinates __(x,y)__ to polar coordinates" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:20 +msgid "" +"(r,theta): $$ \\begin{aligned} r &= \\sqrt{x**2 + y**2} \\\\ \\theta &= " +"\\tan**{__-1__}(y / x) \\end{aligned} $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:20 +#: ../../source/learn/intrinsics/_pages/CEILING.md:23 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:33 +#: ../../source/learn/intrinsics/_pages/ERF.md:22 +#: ../../source/learn/intrinsics/_pages/ERFC.md:38 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:25 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:26 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:29 +msgid "The type shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:29 +msgid "" +"The type and kind type parameter shall be the same as __y__. If __y__ is " +"zero, then __x__ must be nonzero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:34 +msgid "" +"The return value has the same type and kind type parameter as __y__. It " +"is the principal value of the complex number __(x + i, y)__. If x is " +"nonzero, then it lies in the range __-PI \\<= atan(x) \\<= PI__. The sign" +" is positive if __y__ is positive. If __y__ is zero, then the return " +"value is zero if __x__ is strictly positive, __PI__ if __x__ is negative " +"and __y__ is positive zero (or the processor does not handle signed " +"zeros), and __-PI__ if __x__ is negative and __Y__ is negative zero. " +"Finally, if __x__ is zero, then the magnitude of the result is __PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:2 +msgid "atanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:5 +msgid "" +"__atanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic tangent" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:14 +msgid "__atanh(x)__ computes the inverse hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians and lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:26 +msgid "__-PI/2 \\<= aimag(atanh(x)) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:53 +msgid "Inverse function: [__tanh__(3)](TANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:2 +msgid "cos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:5 +msgid "__cos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:19 +msgid "" +"__cos(x)__ computes the cosine of an angle __x__ given the size of the " +"angle in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:22 +msgid "" +"The cosine of a _real_ value is the ratio of the adjacent side to the " +"hypotenuse of a right-angled triangle." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:28 +msgid "The type shall be _real_ or _complex_. __x__ is assumed to be in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:33 +#: ../../source/learn/intrinsics/_pages/TINY.md:30 +msgid "The return value is of the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:35 +msgid "" +"If __x__ is of the type _real_, the return value lies in the range __-1 " +"\\<= cos(x) \\<= 1__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:70 +#: ../../source/learn/intrinsics/_pages/SIN.md:126 +msgid "[Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:72 +msgid "[__acos__(3)](ACOS), [__sin__(3)](SIN), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:2 +msgid "cosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:5 +msgid "__cosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:15 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any supported kind" +" for the associated type. The returned __value__ will be the same type " +"and kind as the input value __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:21 +msgid "__cosh(x)__ computes the hyperbolic cosine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:30 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:33 +msgid "" +"If __x__ is _real_, the return value has a lower bound of one, __cosh(x)" +" \\>= 1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:52 +msgid "FORTRAN 77 and later, for a complex argument - Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:57 +msgid "Inverse function: [__acosh__(3)](ACOSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:2 +msgid "sin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:5 +msgid "__sin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be " +"_real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:19 +msgid "" +"__sin(x)__ computes the sine of an angle given the size of the angle in " +"radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:22 +msgid "" +"The sine of an angle in a right-angled triangle is the ratio of the " +"length of the side opposite the given angle divided by the length of the " +"hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:29 +msgid "The type shall be _real_ or _complex_ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:48 +msgid "__Haversine Formula__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:50 +msgid "From the article on \"Haversine formula\" in Wikipedia:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:58 +msgid "" +"So to show the great-circle distance between the Nashville International " +"Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX)" +" in CA, USA you would start with their latitude and longitude, commonly " +"given as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:68 +msgid "which converted to floating-point values in degrees is:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:80 +msgid "" +"And then use the haversine formula to roughly calculate the distance " +"along the surface of the Earth between the locations:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:128 +msgid "[__asin__(3)](ASIN), [__cos__(3)](COS), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:2 +msgid "sinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:5 +msgid "__sinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:19 +msgid "__sinh(x)__ computes the hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:21 +msgid "The hyperbolic sine of x is defined mathematically as:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:23 +msgid "__sinh(x) = (exp(x) - exp(-x)) / 2.0__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:25 +msgid "" +"If __x__ is of type _complex_ its imaginary part is regarded as a value " +"in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:35 +msgid "The return value has same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:83 +msgid "Fortran 95 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:88 +msgid "[__asinh__(3)](ASINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:2 +msgid "tan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:5 +msgid "__tan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:14 +msgid "__tan(x)__ computes the tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:44 +msgid "FORTRAN 77 and later. For a complex argument, Fortran 2008 or later." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:48 +msgid "[__atan__(3)](ATAN), [__cos__(3)](COS), [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:2 +msgid "tanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:5 +msgid "__tanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:14 +msgid "__tanh(x)__ computes the hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is complex, " +"the imaginary part of the result is in radians. If __x__ is _real_, the " +"return value lies in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:54 +msgid "[__atanh__(3)](ATANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:2 +msgid "random\\_number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:5 +msgid "__random\\_number__(3) - \\[MATHEMATICS:RANDOM\\] Pseudo-random number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:14 +msgid "" +"Returns a single pseudorandom number or an array of pseudorandom numbers " +"from the uniform distribution over the range 0 \\<= x \\< 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:19 +msgid "__harvest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:20 +msgid "Shall be a scalar or an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:87 +msgid "[__random\\_seed__(3)](RANDOM_SEED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:2 +msgid "random\\_seed" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:5 +msgid "" +"__random\\_seed__(3) - \\[MATHEMATICS:RANDOM\\] Initialize a pseudo-" +"random number sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:14 +msgid "" +"Restarts or queries the state of the pseudorandom number generator used " +"by random\\_number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:17 +msgid "" +"If random\\_seed is called without arguments, it is seeded with random " +"data retrieved from the operating system." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:23 +msgid "" +"(Optional) Shall be a scalar and of type default _integer_, with " +"__intent(out)__. It specifies the minimum size of the arrays used with " +"the __put__ and __get__ arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:27 +msgid "__put__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:28 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(in)__ and the size of the array must be larger than or equal " +"to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:32 +msgid "__get__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:33 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(out)__ and the size of the array must be larger than or equal" +" to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:66 +msgid "[__random\\_number__(3)](RANDOM_NUMBER)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:2 +msgid "exp" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:5 +msgid "__exp__(3) - \\[MATHEMATICS\\] Exponential function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:13 +msgid "" +"__exp__(x) computes the base \"_e_\" exponential of __x__ where \"_e_\" " +"is _Euler's constant_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:16 +msgid "" +"If __x__ is of type _complex_, its imaginary part is regarded as a value " +"in radians such that (see _Euler's formula_):" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:19 +msgid "" +"if __cx=(re,im)__ then " +"__exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:24 +msgid "" +"Since __exp__(3) is the inverse function of __log__(3) the maximum valid " +"magnitude of the _real_ component of __x__ is __log(huge(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:34 +msgid "The value of the result is __e\\*\\*x__ where __e__ is Euler's constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:88 +msgid "[__log__(3)](LOG)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:90 +msgid "" +"Wikipedia:[Exponential " +"function](https://en.wikipedia.org/wiki/Exponential_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:92 +#, python-format +msgid "" +"Wikipedia:[Euler's " +"formula](https://en.wikipedia.org/wiki/Euler%27s_formula)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:2 +msgid "log" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:5 +msgid "__log__(3) - \\[MATHEMATICS\\] Logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:14 +msgid "" +"__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to" +" the base \"e\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:24 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is " +"in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:27 +msgid "__-PI__ \\< OMEGA \\<= PI." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:2 +msgid "log10" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:5 +msgid "__log10__(3) - \\[MATHEMATICS\\] Base 10 logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:16 +msgid "" +"__log10(x)__ computes the base 10 logarithm of __x__. This is generally " +"called the \"common logarithm\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:22 +msgid "A _real_ value > 0 to take the log of." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:26 +msgid "" +"The return value is of type _real_ . The kind type parameter is the same " +"as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:2 +msgid "sqrt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:5 +msgid "__sqrt__(3) - \\[MATHEMATICS\\] Square-root function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:15 +msgid "" +"Where TYPE may be _real_ or _complex_ and __KIND__ may be any kind valid " +"for the declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:20 +msgid "__sqrt(x)__ computes the principal square root of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:22 +msgid "" +"In mathematics, a square root of a number __x__ is a number __y__ such " +"that __y*y = x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:25 +msgid "" +"The number whose square root is being considered is known as the " +"_radicand_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:28 +msgid "" +"Every nonnegative number _x_ has two square roots of the same unique " +"magnitude, one positive and one negative. The nonnegative square root is " +"called the principal square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:32 +msgid "" +"The principal square root of 9 is 3, for example, even though (-3)*(-3) " +"is also 9." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:35 +msgid "A _real_, _radicand_ must be positive." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:37 +msgid "" +"Square roots of negative numbers are a special case of complex numbers, " +"where the components of the _radicand_ need not be positive in order to " +"have a valid square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:44 +msgid "" +"If __x__ is real its value must be greater than or equal to zero. The " +"type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:49 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:2 +msgid "hypot" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:5 +msgid "" +"__hypot__(3) - \\[MATHEMATICS\\] returns the distance between the point " +"and the origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:14 +msgid "where __x,y,value__ shall all be of the same __kind__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:18 +msgid "" +"__hypot(x,y)__ is referred to as the Euclidean distance function. It is " +"equal to __sqrt(x**2 + y**2)__, without undue underflow or overflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:21 +msgid "" +"In mathematics, the _Euclidean distance_ between two points in Euclidean " +"space is the length of a line segment between two points." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:24 +msgid "" +"__hypot(x,y)__ returns the distance between the point ____ and the " +"origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:32 +msgid "The type and kind type parameter shall be the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:36 +msgid "The return value has the same type and kind type parameter as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:38 +msgid "" +"The result is the positive magnitude of the distance of the point " +"____ from the origin __<0.0,0.0>__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:2 +msgid "bessel\\_j0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:5 +msgid "" +"__bessel\\_j0__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:14 +msgid "" +"__bessel\\_j0(x)__ computes the Bessel function of the first kind of " +"order __0__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.4027 \\<= " +"bessel(0,x) \\<= 1__. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:52 +msgid "" +"[__bessel\\_j1__(3)](BESSEL_J1), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:2 +msgid "bessel\\_j1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:5 +msgid "" +"__bessel\\_j1__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:14 +msgid "" +"__bessel\\_j1(x)__ computes the Bessel function of the first kind of " +"order __1__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.5818 \\<= " +"bessel(0,x) \\<= 0.5818__ . It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:2 +msgid "bessel\\_jn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:5 +msgid "__bessel\\_jn__(3) - \\[MATHEMATICS\\] Bessel function of the first kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:16 +msgid "" +"__bessel\\_jn(n, x)__ computes the Bessel function of the first kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:20 +msgid "" +"__bessel\\_jn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:25 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:25 +msgid "__n__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:26 +msgid "Shall be a scalar or an array of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:28 +msgid "__n1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:32 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:32 +msgid "Shall be a non-negative scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:31 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:31 +msgid "__n2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_. For __bessel\\_jn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:40 +msgid "" +"The return value is a scalar of type _real_. It has the same kind as " +"__x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:67 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:2 +msgid "bessel\\_y0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:5 +msgid "" +"__bessel\\_y0__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:14 +msgid "" +"__bessel\\_y0(x)__ computes the Bessel function of the second kind of " +"order 0 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:24 +msgid "The return value is of type _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:2 +msgid "bessel\\_y1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:5 +msgid "" +"__bessel\\_y1__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:14 +msgid "" +"__bessel\\_y1(x)__ computes the Bessel function of the second kind of " +"order 1 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:24 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:40 +msgid "The return value is _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:46 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:2 +msgid "bessel\\_yn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:5 +msgid "__bessel\\_yn__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:16 +msgid "" +"__bessel\\_yn(n, x)__ computes the Bessel function of the second kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:20 +msgid "" +"__bessel\\_yn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_; for __bessel\\_yn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:65 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_y1__(3)](BESSEL_Y1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:2 +msgid "erf" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:5 +msgid "__erf__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:14 +msgid "" +"__erf__(x) computes the error function of __x__, defined as $$ " +"\\text{erf}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{__-t__^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:26 +msgid "" +"The return value is of type _real_, of the same kind as __x__ and lies in" +" the range __-1__ \\<= __erf__(x) \\<= 1 ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:50 +#: ../../source/learn/intrinsics/_pages/ERFC.md:68 +msgid "See also" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:52 +msgid "[__erfc__(3)](ERFC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:54 +#: ../../source/learn/intrinsics/_pages/ERFC.md:71 +msgid "[Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:2 +msgid "erfc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:5 +msgid "__erfc__(3) - \\[MATHEMATICS\\] Complementary error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:18 +msgid "" +"__erfc__(x) computes the complementary error function of __x__. Simpy " +"put this is equivalent to __1 - erf(x)__, but __erfc__ is provided " +"because of the extreme loss of relative accuracy if __erf(x)__ is called " +"for large __x__ and the result is subtracted from __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:23 +msgid "__erfc(x)__ is defined as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:31 +msgid "" +"$$ \\text{erfc}(x) = 1 - \\text{erf}(x) = 1 - \\frac{2}{\\sqrt{\\pi}} " +"\\int_x^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:42 +msgid "" +"The return value is of type _real_ and of the same kind as __x__. It lies" +" in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:45 +msgid "0 \\<= __erfc__(x) \\<= 2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:69 +msgid "[__erf__(3)](ERF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:73 +msgid "####### fortran-lang intrinsic descriptions license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:2 +msgid "erfc\\_scaled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:5 +msgid "__erfc\\_scaled__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:14 +msgid "" +"__erfc\\_scaled__(x) computes the exponentially-scaled complementary " +"error function of __x__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:17 +msgid "$$ e^{x^2} \\frac{2}{\\sqrt{\\pi}} \\int_{x}^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:29 +msgid "The return value is of type _real_ and of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:2 +msgid "gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:5 +msgid "" +"__gamma__(3) - \\[MATHEMATICS\\] Gamma function, which yields factorials " +"for positive whole numbers" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:13 +msgid "" +"__gamma(x)__ computes Gamma of __x__. For positive whole number values of" +" __n__ the Gamma function can be used to calculate factorials, as " +"__(n-1)! == gamma(real(n))__. That is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:20 +msgid "" +"$$ \\\\__Gamma__(x) = \\\\int\\_0\\*\\*\\\\infty " +"t\\*\\*{x-1}{\\\\mathrm{e}}\\*\\*{__-t__}\\\\,{\\\\mathrm{d}}t $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:26 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:19 +msgid "Shall be of type _real_ and neither zero nor a negative integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:30 +msgid "The return value is of type _real_ of the same kind as _x_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:124 +msgid "Logarithm of the Gamma function: [__log\\_gamma__(3)](LOG_GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:126 +msgid "[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:2 +msgid "log\\_gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:5 +msgid "__log\\_gamma__(3) - \\[MATHEMATICS\\] Logarithm of the Gamma function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:14 +msgid "" +"__log\\_gamma(x)__ computes the natural logarithm of the absolute value " +"of the Gamma function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:23 +msgid "The return value is of type _real_ of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:46 +msgid "Gamma function: [__gamma__(3)](GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:2 +msgid "norm2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:5 +msgid "__norm2__(3) - \\[MATHEMATICS\\] Euclidean vector norm" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:19 +msgid "" +"Calculates the Euclidean vector norm (L\\_2 norm) of __array__ along " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:25 +msgid "Shall be an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:28 +msgid "" +"shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __rank(array)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:35 +msgid "" +"If __dim__ is absent, a scalar with the square root of the sum of squares" +" of the elements of __array__ is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:38 +msgid "" +"Otherwise, an array of rank __n-1__, where __n__ equals the rank of " +"__array__, and a shape similar to that of __array__ with dimension DIM " +"dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:87 +msgid "[__product__(3)](PRODUCT), [__sum__(3)](SUM), [__hypot__(3)](HYPOT)" +msgstr "" + +#: ../../source/learn/intrinsics/MODEL_index.md:1 +msgid "Controlling and querying the current numeric model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:2 +msgid "exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:5 +msgid "__exponent__(3) - \\[MODEL\\_COMPONENTS\\] Exponent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:14 +msgid "" +"__exponent__(x) returns the value of the exponent part of __x__. If __x__" +" is zero the value returned is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:24 +msgid "The return value is of type default _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:2 +msgid "fraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:5 +msgid "" +"__fraction__(3) - \\[MODEL\\_COMPONENTS\\] Fractional part of the model " +"representation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:14 +msgid "" +"__fraction(x)__ returns the fractional part of the model representation " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:21 +#: ../../source/learn/intrinsics/_pages/SCALE.md:22 +msgid "The type of the argument shall be a _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:25 +msgid "" +"The return value is of the same type and kind as the argument. The " +"fractional part of the model representation of __x__ is returned; it is " +"__x \\* radix(x)\\*\\*(-exponent(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:2 +msgid "nearest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:5 +msgid "__nearest__(3) - \\[MODEL\\_COMPONENTS\\] Nearest representable number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:14 +msgid "" +"__nearest(x, s)__ returns the processor-representable number nearest to " +"__x__ in the direction indicated by the sign of __s__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/SPACING.md:20 +#: ../../source/learn/intrinsics/_pages/TINY.md:24 +msgid "Shall be of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:22 +msgid "__s__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:23 +msgid "Shall be of type _real_ and not equal to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:27 +msgid "" +"The return value is of the same type as __x__. If __s__ is positive, " +"__nearest__ returns the processor-representable number greater than __x__" +" and nearest to it. If __s__ is negative, __nearest__ returns the " +"processor-representable number smaller than __x__ and nearest to it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:67 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:2 +msgid "rrspacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:5 +msgid "" +"__rrspacing__(3) - \\[MODEL\\_COMPONENTS\\] Reciprocal of the relative " +"spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:14 +msgid "" +"__rrspacing(x)__ returns the reciprocal of the relative spacing of model " +"numbers near __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:24 +msgid "" +"The return value is of the same type and kind as __x__. The value " +"returned is equal to __abs(fraction(x)) \\* " +"float(radix(x))\\*\\*digits(x)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:33 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:2 +msgid "scale" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:5 +msgid "" +"__scale__(3) - \\[MODEL\\_COMPONENTS\\] Scale a real value by a whole " +"power of the radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:17 +msgid "__scale(x,i)__ returns x \\* __radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:25 +msgid "The type of the argument shall be a _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:29 +msgid "" +"The return value is of the same type and kind as __x__. Its value is __x" +" \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:57 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:2 +msgid "set\\_exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:5 +msgid "" +"__set\\_exponent__(3) - \\[MODEL\\_COMPONENTS\\] Set the exponent of the " +"model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:14 +msgid "" +"__set\\_exponent(x, i)__ returns the real number whose fractional part is" +" that of __x__ and whose exponent part is __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:27 +msgid "" +"The return value is of the same type and kind as __x__. The real number " +"whose fractional part is that that of __x__ and whose exponent part if " +"__i__ is returned; it is __fraction(x) \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:53 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__spacing__(3)](SPACING), [__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:2 +msgid "spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:5 +msgid "" +"__spacing__(3) - \\[MODEL\\_COMPONENTS\\] Smallest distance between two " +"numbers of a given type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:14 +msgid "" +"Determines the distance between the argument __x__ and the nearest " +"adjacent number of the same type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:24 +msgid "The result is of the same type as the input argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set\\_exponent__(3)](SET_EXPONENT), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:2 +msgid "digits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:5 +msgid "__digits__(3) - \\[NUMERIC MODEL\\] Significant digits function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:14 +msgid "" +"where TYPE may be _integer_ or _real_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:19 +msgid "" +"__digits(x)__ returns the number of significant digits of the internal " +"model representation of __x__. For example, on a system using a 32-bit " +"floating point representation, a default real number would likely return " +"24." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:27 +msgid "The type may be a scalar or array of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:31 +msgid "The return value is of type _integer_ of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:63 +msgid "" +"[__epsilon__(3)](EPSILON), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:2 +msgid "epsilon" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:5 +msgid "__epsilon__(3) - \\[NUMERIC MODEL\\] Epsilon function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:13 +msgid "" +"__epsilon(x)__ returns the floating point relative accuracy. It is the " +"nearly negligible number relative to __1__ such that __1+ little_number__" +" is not equal to __1__; or more precisely" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:20 +msgid "" +"It may be thought of as the distance from 1.0 to the next largest " +"floating point number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:23 +msgid "" +"One use of __epsilon__(3) is to select a _delta_ value for algorithms " +"that search until the calculation is within _delta_ of an estimate." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:26 +msgid "" +"If _delta_ is too small the algorithm might never halt, as a computation " +"summing values smaller than the decimal resolution of the data type does " +"not change." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:37 +msgid "The return value is of the same type as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:112 +msgid "" +"[__digits__(3)](DIGITS), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:2 +msgid "huge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:5 +msgid "__huge__(3) - \\[NUMERIC MODEL\\] Largest number of a type and kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:15 +msgid "" +"where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported" +" associated _kind_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:20 +msgid "" +"__huge(x)__ returns the largest number that is not an infinity for the " +"kind and type of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:26 +msgid "" +"Shall be an arbitrary value of type _real_ or _integer_. The value is " +"used merely to determine what _kind_ and _type_ of scalar is being " +"queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:32 +msgid "" +"The return value is of the same type and kind as _x_ and is the largest " +"value supported by the specified model." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:91 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:2 +msgid "maxexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:5 +msgid "__maxexponent__(3) - \\[NUMERIC MODEL\\] Maximum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:14 +msgid "" +"__maxexponent(x)__ returns the maximum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:2 +msgid "minexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:5 +msgid "__minexponent__(3) - \\[NUMERIC MODEL\\] Minimum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:14 +msgid "" +"__minexponent(x)__ returns the minimum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:2 +msgid "precision" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:5 +msgid "__precision__(3) - \\[NUMERIC MODEL\\] Decimal precision of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:14 +msgid "" +"__precision(x)__ returns the decimal precision in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:26 +msgid "Shall be of type _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:2 +msgid "radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:5 +msgid "__radix__(3) - \\[NUMERIC MODEL\\] Base of a model number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:14 +msgid "__radix(x)__ returns the base of the model representing the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:19 +msgid "Shall be of type _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:23 +#: ../../source/learn/intrinsics/_pages/RADIX.md:23 +msgid "" +"The return value is a scalar of type _integer_ and of the default integer" +" kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:2 +msgid "range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:5 +msgid "__range__(3) - \\[NUMERIC MODEL\\] Decimal exponent range of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:16 +msgid "" +"where TYPE is _real_ or _complex_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:20 +msgid "" +"__range(x)__ returns the decimal exponent range in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:58 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:2 +msgid "tiny" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:5 +msgid "__tiny__(3) - \\[NUMERIC MODEL\\] Smallest positive number of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:14 +msgid "where KIND may be any kind supported by type _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:18 +msgid "" +"__tiny(x)__ returns the smallest positive (non zero) number of the type " +"and kind of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:28 +msgid "The smallest positive value for the _real_ type of the specified kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:54 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set_exponent__(3)](SET_EXPONENT), " +"[__spacing__(3)](SPACING)" +msgstr "" + +#: ../../source/learn/intrinsics/NUMERIC_index.md:1 +#: ../../source/learn/intrinsics/index.md:20 +msgid "Manipulation and properties of numeric values" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:2 +msgid "abs" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:5 +msgid "__abs__(3) - \\[NUMERIC\\] Absolute value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:15 +msgid "" +"where the TYPE and KIND is determined by the type and type attributes of " +"__a__, which may be any _real_, _integer_, or _complex_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:18 +msgid "" +"If the type of __a__ is _cmplx_ the type returned will be _real_ with the" +" same kind as the _real_ part of the input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:21 +msgid "Otherwise the returned type will be the same type as __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:25 +msgid "__abs(a)__ computes the absolute value of numeric argument __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:27 +msgid "" +"In mathematics, the absolute value or modulus of a real number __x__, " +"denoted __|x|__, is the magnitude of __x__ without regard to its sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:30 +msgid "" +"The absolute value of a number may be thought of as its distance from " +"zero, which is the definition used by __abs__(3) when dealing with " +"_complex_ values (_see below_)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:37 +msgid "" +"the type of the argument shall be an _integer_, _real_, or _complex_ " +"scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:42 +msgid "" +"If __a__ is of type _integer_ or _real_, the value of the result is " +"__|a|__ and of the same type and kind as the input argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:45 +msgid "" +"(Take particular note) if __a__ is _complex_ with value __(x, y)__, the " +"result is a _real_ equal to a processor-dependent approximation to " +"__sqrt(x\\*\\*2 + y\\*\\*2)__ computed without undue overflow or " +"underflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:2 +msgid "aint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:5 +msgid "__aint__(3) - \\[NUMERIC\\] Truncate to a whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:16 +msgid "or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:27 +msgid "__aint(x, kind)__ truncates its argument to a whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:32 +#: ../../source/learn/intrinsics/_pages/ANINT.md:19 +msgid "the type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:40 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If the magnitude of __x__ is less " +"than one, __aint(x)__ returns zero. If the magnitude is equal to or " +"greater than one then it returns the largest whole number that does not " +"exceed its magnitude. The sign is the same as the sign of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:85 +msgid "" +"[__anint__(3)](ANINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:2 +msgid "anint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:5 +msgid "__anint__(3) - \\[NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:14 +msgid "__anint(a \\[, kind\\])__ rounds its argument to the nearest whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:27 +msgid "" +"The return value is of type real with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If __a__ is greater than zero, " +"__anint(a)__ returns __aint(a + 0.5)__. If __a__ is less than or equal to" +" zero then it returns __aint(a - 0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:75 +msgid "" +"[__aint__(3)](AINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:2 +msgid "ceiling" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:5 +msgid "__ceiling__(3) - \\[NUMERIC\\] Integer ceiling function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:18 +msgid "__ceiling(a)__ returns the least integer greater than or equal to __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:31 +msgid "" +"The return value is of type __integer__(kind) if __kind__ is present and " +"a default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:34 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:49 +#: ../../source/learn/intrinsics/_pages/NINT.md:44 +msgid "" +"The result is undefined if it cannot be represented in the specified " +"integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:69 +msgid "[__floor__(3)](FLOOR), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:73 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:85 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:2 +msgid "conjg" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:5 +msgid "__conjg__(3) - \\[NUMERIC\\] Complex conjugate of a complex value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:14 +msgid "where __K__ is the kind of the parameter __z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:18 +msgid "__conjg(z)__ returns the complex conjugate of the _complex_ value __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:20 +msgid "" +"In mathematics, the complex conjugate of a complex_ number is the number " +"with an equal real part and an imaginary part equal in magnitude but " +"opposite in sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:24 +msgid "That is, If __z__ is __(x, y)__ then the result is __(x, -y)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:26 +msgid "" +"For matrices of complex numbers, __conjg(array)__ represents the element-" +"by-element conjugation of __array__; not the conjugate transpose of " +"__array__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:22 +#: ../../source/learn/intrinsics/_pages/CONJG.md:32 +msgid "__z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:33 +msgid "The type shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:37 +msgid "The return value is of type _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:2 +msgid "dim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:5 +msgid "__dim__(3) - \\[NUMERIC\\] Positive difference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:16 +#: ../../source/learn/intrinsics/_pages/SIGN.md:16 +msgid "" +"where TYPE may be _real_ or _integer_ and KIND is any supported kind for " +"the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:19 +msgid "" +"__dim(x,y)__ returns the difference __x - y__ if the result is positive; " +"otherwise it returns zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:25 +msgid "The type shall be _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:28 +msgid "The type shall be the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:32 +msgid "" +"The return value is the same type and kind as the input arguments __x__ " +"and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:2 +msgid "dprod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:5 +msgid "__dprod__(3) - \\[NUMERIC\\] Double product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:14 +msgid "" +"__dprod(x,y)__ produces a higher _doubleprecision_ product of default " +"_real_ numbers __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:17 +msgid "" +"The result has a value equal to a processor-dependent approximation to " +"the product of __x__ and __y__. It is recommended that the processor " +"compute the product in double precision, rather than in single precision " +"and then converted to double precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:23 +#: ../../source/learn/intrinsics/_pages/DPROD.md:26 +msgid "shall be default real." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:28 +msgid "" +"The setting of compiler options specifying _real_ size can affect this " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:34 +msgid "Must be of default _real(kind=kind(0.0))_ type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:37 +msgid "Must have the same type and kind parameters as __x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:41 +msgid "The return value is of type _real(kind=kind(0.0d0))_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:2 +msgid "floor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:5 +msgid "" +"__floor__(3) - \\[NUMERIC\\] function to return largest integral value " +"not greater than argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:19 +msgid "" +"__floor(a)__ returns the greatest integer less than or equal to __a__. " +"That is, it picks the whole number at or to the left of the value on the " +"scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:29 +msgid "" +"(Optional) A scalar _integer_ constant initialization expression " +"indicating the kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:34 +msgid "" +"The return value is of type _integer(kind)_ if __kind__ is present and of" +" default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:81 +msgid "[__ceiling__(3)](CEILING), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:2 +msgid "max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:5 +msgid "__max__(3) - \\[NUMERIC\\] Maximum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:13 +msgid "Returns the argument with the largest (most positive) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:17 +#: ../../source/learn/intrinsics/_pages/MIN.md:18 +msgid "__a1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:18 +#: ../../source/learn/intrinsics/_pages/MIN.md:19 +msgid "The type shall be _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:20 +msgid "__a2,a3,...__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:21 +msgid "An expression of the same type and kind as __a1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:25 +msgid "" +"The return value corresponds to the maximum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:28 +msgid "" +"The function is both elemental and allows for an arbitrary number of " +"arguments. This means if some elements are scalar and some are arrays " +"that all the arrays must be of the same size, and the returned value will" +" be an array that is the result as if multiple calls were made with all " +"scalar values with a single element of each array used in each call. If " +"called with all arrays the returned array is the same as if multiple " +"calls were made with __max(arr1(1),arr2(1), ...)__ to " +"__max(arr1(N),arr2(N))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:115 +msgid "[__maxloc__(3)](MAXLOC), [__maxval__(3)](MAXVAL), [__min__(3)](MIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:2 +msgid "min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:5 +msgid "__min__(3) - \\[NUMERIC\\] Minimum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:14 +msgid "Returns the argument with the smallest (most negative) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:21 +msgid "__a2, a3, \\`\\`\\`__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:22 +msgid "An expression of the same type and kind as __A1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:26 +msgid "" +"The return value corresponds to the minimum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:52 +msgid "[__max__(3)](MAX), [__minloc__(3)](MINLOC), [__minval__(3)](MINVAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:2 +msgid "mod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:5 +msgid "__mod__(3) - \\[NUMERIC\\] Remainder function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:14 +msgid "__mod__(a,p) computes the remainder of the division of __a__ by __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:19 +#: ../../source/learn/intrinsics/_pages/MODULO.md:19 +msgid "Shall be a scalar of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:21 +#: ../../source/learn/intrinsics/_pages/MODULO.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:20 +msgid "__p__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__ and not equal to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:27 +msgid "" +"The return value is the result of __a - (int(a/p) \\* p)__. The type and " +"kind of the return value is the same as that of the arguments. The " +"returned value has the same sign as __a__ and a magnitude less than the " +"magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:76 +msgid "[__modulo__(3)](MODULO)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:2 +msgid "modulo" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:5 +msgid "__modulo__(3) - \\[NUMERIC\\] Modulo function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:14 +msgid "__modulo(a,p)__ computes the __a__ modulo __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__. It shall not be " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:27 +msgid "The type and kind of the result are those of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:29 +msgid "" +"If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value " +"of __a - floor (real(a) / real(p)) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:32 +msgid "" +"If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of " +"__a - floor (a / p) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:35 +msgid "" +"The returned value has the same sign as __p__ and a magnitude less than " +"the magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:70 +msgid "[__mod__(3)](MOD)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:2 +msgid "sign" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:5 +msgid "__sign__(3) - \\[NUMERIC\\] Sign copying function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:76 +msgid "####### fortran-lang intrinsic descriptions (license: MIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:2 +msgid "cshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:5 +msgid "__cshift__(3) - \\[TRANSFORMATIONAL\\] Circular shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:14 +msgid "" +"__cshift(array, shift \\[, dim\\])__ performs a circular shift on " +"elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= dim \\<= n__, where \"n\" is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are shifted back in the other end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:36 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:49 +msgid "Returns an array of same type and rank as the __array__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:2 +msgid "dot\\_product" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:5 +msgid "__dot\\_product__(3) - \\[TRANSFORMATIONAL\\] Dot product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:14 +msgid "" +"__dot\\_product(vector\\_a, vector\\_b)__ computes the dot product " +"multiplication of two vectors vector\\_a and vector\\_b. The two vectors " +"may be either numeric or logical and must be arrays of rank one and of " +"equal size. If the vectors are _integer_ or _real_, the result is " +"__sum(vector\\_a\\*vector\\_b)__. If the vectors are _complex_, the " +"result is __sum(conjg(vector\\_a)\\*vector\\_b)__. If the vectors are " +"_logical_, the result is __any(vector\\_a .and. vector\\_b)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:24 +msgid "__vector\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:25 +msgid "The type shall be numeric or _logical_, rank 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:27 +msgid "__vector\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:28 +msgid "" +"The type shall be numeric if vector\\_a is of numeric type or _logical_ " +"if vector\\_a is of type _logical_. vector\\_b shall be a rank-one array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:34 +msgid "" +"If the arguments are numeric, the return value is a scalar of numeric " +"type, _integer_, _real_, or _complex_. If the arguments are _logical_, " +"the return value is .true. or .false.." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:2 +msgid "eoshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:5 +msgid "__eoshift__(3) - \\[TRANSFORMATIONAL\\] End-off shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:14 +msgid "" +"__eoshift(array, shift\\[, boundary, dim\\])__ performs an end-off shift " +"on elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= DIM \\<= n__ where __\"n\"__ is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are dropped. If __boundary__ is present then the corresponding " +"value of from __boundary__ is copied back in the other end. If " +"__boundary__ is not present then the following are copied in depending on" +" the type of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:25 +msgid "\\*Array Type\\* - \\*Boundary Value\\*" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:27 +msgid "Numeric 0 of the type and kind of __array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:29 +msgid "Logical .false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:31 +msgid "__Character(len)__ LEN blanks" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:36 +msgid "May be any type, not scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:41 +msgid "__boundary__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:42 +msgid "Same type as ARRAY." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:2 +msgid "matmul" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:5 +msgid "__matmul__(3) - \\[TRANSFORMATIONAL\\] matrix multiplication" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:14 +msgid "Performs a matrix multiplication on numeric or logical arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:18 +msgid "__matrix\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:19 +msgid "" +"An array of _integer_, _real_, _complex_, or _logical_ type, with a rank " +"of one or two." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:22 +msgid "__matrix\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:23 +msgid "" +"An array of _integer_, _real_, or _complex_ type if __matrix\\_a__ is of " +"a numeric type; otherwise, an array of _logical_ type. The rank shall be " +"one or two, and the first (or only) dimension of __matrix\\_b__ shall be " +"equal to the last (or only) dimension of __matrix\\_a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:30 +msgid "" +"The matrix product of __matrix\\_a__ and __matrix\\_b__. The type and " +"kind of the result follow the usual type and kind promotion rules, as for" +" the \\* or .and. operators." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:2 +msgid "parity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:5 +msgid "__parity__(3) - \\[TRANSFORMATIONAL\\] Reduction with exclusive __OR__()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:17 +msgid "where KIND and LKIND are any supported kind for the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:2 +msgid "null" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:5 +msgid "" +"__null__(3) - \\[TRANSFORMATIONAL\\] Function that returns a " +"disassociated pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:15 +msgid "Returns a disassociated pointer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:17 +msgid "" +"If __mold__ is present, a disassociated pointer of the same type is " +"returned, otherwise the type is determined by context." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:20 +msgid "" +"In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ " +"includes cases where it is required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:26 +msgid "__mold__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:25 +msgid "(Optional) shall be a pointer of any association status and of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:30 +msgid "A disassociated pointer or an unallocated allocatable entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:116 +msgid "[__associated__(3)](ASSOCIATED)" +msgstr "" + +#: ../../source/learn/intrinsics/PARALLEL_index.md:1 +msgid "Parallel programming using co\\_arrays and co\\_indexed arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:2 +msgid "co\\_broadcast" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:5 +msgid "" +"__co\\_broadcast__(3) - \\[COLLECTIVE\\] Copy a value to all images the " +"current set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:14 +msgid "" +"__co\\_broadcast(3)__ copies the value of argument __a__ on the image " +"with image index source\\_image to all images in the current team. __a__ " +"becomes defined as if by intrinsic assignment. If the execution was " +"successful and __stat__ is present, it is assigned the value zero. If the" +" execution failed, __stat__ gets assigned a nonzero value and, if " +"present, __errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:24 +msgid "" +"__intent(inout)__ argument; shall have the same dynamic type and type " +"parameters on all images of the current team. If it is an array, it shall" +" have the same shape on all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:28 +msgid "__source\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:29 +msgid "" +"a scalar integer expression. It shall have the same the same value on all" +" images and refer to an image of the current team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:32 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:32 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:34 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:34 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:51 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:34 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:30 +msgid "__stat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:33 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:35 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:52 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:35 +msgid "(optional) a scalar integer variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:37 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:54 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:37 +msgid "__errmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:36 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:38 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:38 +msgid "(optional) a scalar character variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:56 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_reduce__(3)](CO_REDUCE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:2 +msgid "co\\_lbound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:5 +msgid "__co\\_lbound__(3) - \\[COLLECTIVE\\] Lower codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:14 +msgid "" +"Returns the lower bounds of a coarray, or a single lower cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:20 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:20 +msgid "Shall be an coarray, of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:23 +msgid "(Optional) Shall be a scalar _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:31 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:31 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind. If __dim__ is " +"absent, the result is an array of the lower cobounds of __coarray__. If " +"__dim__ is present, the result is a scalar corresponding to the lower " +"cobound of the array along that codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:43 +msgid "[__co\\_ubound__(3)](CO_UBOUND), [__lbound__(3)](LBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:2 +msgid "co\\_max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:5 +msgid "" +"__co\\_max__(3) - \\[COLLECTIVE\\] Maximal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:14 +msgid "" +"co\\_max determines element-wise the maximal value of __a__ on all images" +" of the current team. If result\\_image is present, the maximum values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:26 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:26 +msgid "" +"shall be an integer, real or character variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:29 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:29 +msgid "__result\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:30 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:30 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:47 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:30 +msgid "" +"(optional) a scalar integer expression; if present, it shall have the " +"same the same value on all images and refer to an image of the current " +"team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:50 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:62 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:58 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:92 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:63 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:54 +msgid "TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:66 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:2 +msgid "co\\_min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:5 +msgid "" +"__co\\_min__(3) - \\[COLLECTIVE\\] Minimal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:14 +msgid "" +"co\\_min determines element-wise the minimal value of __a__ on all images" +" of the current team. If result\\_image is present, the minimal values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:62 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:2 +msgid "co\\_reduce" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:5 +msgid "" +"__co\\_reduce__(3) - \\[COLLECTIVE\\] Reduction of values on the current " +"set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:14 +msgid "" +"co\\_reduce determines element-wise the reduction of the value of __a__ " +"on all images of the current team. The pure function passed as " +"__operation__ is used to pairwise reduce the values of __a__ by passing " +"either the value of __a__ of different images or the result values of " +"such a reduction as argument. If __a__ is an array, the reduction is done" +" element wise. If result\\_image is present, the result values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:30 +msgid "" +"is an __intent(inout)__ argument and shall be nonpolymorphic. If it is " +"allocatable, it shall be allocated; if it is a pointer, it shall be " +"associated. __a__ shall have the same type and type parameters on all " +"images of the team; if it is an array, it shall have the same shape on " +"all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:36 +msgid "__operation__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:37 +msgid "" +"pure function with two scalar nonallocatable arguments, which shall be " +"nonpolymorphic and have the same type and type parameters as __a__. The " +"function shall return a nonallocatable scalar of the same type and type " +"parameters as __a__. The function shall be the same on all images and " +"with regards to the arguments mathematically commutative and associative." +" Note that OPERATION may not be an elemental" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:44 +msgid "__function, unless it is an intrinsic function.__ result\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:85 +msgid "" +"While the rules permit in principle an intrinsic function, none of the " +"intrinsics in the standard fulfill the criteria of having a specific " +"function, which takes two arguments of the same type and returning that " +"type as a result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:96 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_max__(3)](CO_MAX), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:2 +msgid "co\\_sum" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:5 +msgid "" +"__co\\_sum__(3) - \\[COLLECTIVE\\] Sum of values on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:14 +msgid "" +"co\\_sum sums up the values of each element of __a__ on all images of the" +" current team. If result\\_image is present, the summed-up values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:26 +msgid "" +"shall be an integer, real or complex variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:67 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:2 +msgid "co\\_ubound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:5 +msgid "__co\\_ubound__(3) - \\[COLLECTIVE\\] Upper codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:14 +msgid "" +"Returns the upper cobounds of a coarray, or a single upper cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:43 +msgid "" +"[__co\\_lbound__(3)](CO_LBOUND), [__lbound__(3)](LBOUND), " +"[__ubound__(3)](UBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:2 +msgid "event\\_query" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:5 +msgid "" +"__event\\_query__(3) - \\[COLLECTIVE\\] Query whether a coarray event has" +" occurred" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:14 +msgid "" +"__event\\_query__ assigns the number of events to __count__ which have " +"been posted to the __event__ variable and not yet been removed by calling" +" __event\\_wait__. When __stat__ is present and the invocation was " +"successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value and __count__ is " +"assigned the value __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:22 +msgid "__event__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:23 +msgid "" +"(intent(in)) Scalar of type event\\_type, defined in iso\\_fortran\\_env;" +" shall not be coindexed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:25 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:26 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:42 +msgid "__count__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:27 +msgid "" +"(intent(out))Scalar integer with at least the precision of default " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:31 +msgid "(OPTIONAL) Scalar default-kind _integer_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:2 +msgid "image\\_index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:5 +msgid "" +"__image\\_index__(3) - \\[COLLECTIVE\\] Cosubscript to image index " +"conversion" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:14 +msgid "Returns the image index belonging to a cosubscript." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:23 +msgid "__coarray__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:19 +msgid "Coarray of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:21 +msgid "__sub__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:22 +msgid "default integer rank-1 array of a size equal to the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:27 +msgid "" +"Scalar default integer with the value of the image index which " +"corresponds to the cosubscripts. For invalid cosubscripts the result is " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:50 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__num\\_images__(3)](NUM_IMAGES)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:2 +msgid "num\\_images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:5 +msgid "__num\\_images__(3) - \\[COLLECTIVE\\] Number of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:14 +msgid "Returns the number of images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:19 +msgid "__distance__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:19 +msgid "(optional, __intent(in)__) Nonnegative scalar integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:21 +msgid "__failed__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:22 +msgid "(optional, __intent(in)__) Scalar logical expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:26 +msgid "" +"Scalar default-kind _integer_. If __distance__ is not present or has " +"value 0, the number of images in the current team is returned. For values" +" smaller or equal distance to the initial team, it returns the number of " +"images index on the ancestor team which has a distance of __distance__ " +"from the invoking team. If __distance__ is larger than the distance to " +"the initial team, the number of images of the initial team is returned. " +"If __failed__ is not present the total number of images is returned; if " +"it has the value .true., the number of failed images is returned, " +"otherwise, the number of images which do have not the failed status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:59 +msgid "" +"Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or " +"later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:63 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__image\\_index__(3)](THIS_INDEX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:2 +msgid "this\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:5 +msgid "__this\\_image__(3) - \\[COLLECTIVE\\] Cosubscript index of this image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:15 +msgid "Returns the cosubscript for this image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:20 +msgid "" +"(optional, __intent(in)__) Nonnegative scalar integer (not permitted " +"together with __coarray__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:24 +msgid "Coarray of any type (optional; if __dim__ present, required)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:27 +msgid "" +"default integer scalar (optional). If present, __dim__ shall be between " +"one and the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:32 +msgid "" +"Default integer. If __coarray__ is not present, it is scalar; if " +"__distance__ is not present or has value __0__, its value is the image " +"index on the invoking image for the current team, for values smaller or " +"equal distance to the initial team, it returns the image index on the " +"ancestor team which has a distance of __distance__ from the invoking " +"team. If __distance__ is larger than the distance to the initial team, " +"the image index of the initial team is returned. Otherwise when the " +"__coarray__ is present, if __dim__ is not present, a rank-1 array with " +"corank elements is returned, containing the cosubscripts for __coarray__ " +"specifying the invoking image. If __dim__ is present, a scalar is " +"returned, with the value of the __dim__ element of " +"__this\\_image(coarray)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:66 +msgid "" +"! ! Check whether the current image is the initial image if " +"(this_image(huge(1)) /= this_image()) error stop \"something is rotten " +"here\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:2 +msgid "atomic\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:5 +msgid "" +"__atomic\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise AND " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:14 +msgid "" +"__atomic\\_and(atom, value)__ atomically defines __atom__ with the " +"bitwise __and__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value 0. If it is present and the invocation has failed, it is assigned " +"a positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:24 +msgid "__atom__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:25 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:28 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:32 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:34 +msgid "__value__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:29 +msgid "" +"Scalar of the same type as __atom__. If the kind is different, the value " +"is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:42 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:33 +msgid "(optional) Scalar default-kind integer variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:53 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:2 +msgid "atomic\\_fetch\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:5 +msgid "" +"__atomic\\_fetch\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise AND operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:14 +msgid "" +"__atomic\\_fetch\\_and(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise AND between " +"the values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:33 +msgid "__old__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:34 +msgid "Scalar of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:65 +msgid "[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:2 +msgid "atomic\\_fetch\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:5 +msgid "" +"__atomic\\_fetch\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise" +" OR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:14 +msgid "" +"__atomic\\_fetch\\_or(atom, value, old)__ atomically stores the value of " +"__atom__ in __old__ and defines __atom__ with the bitwise OR between the " +"values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), [__atomic\\_or__(3)](ATOMIC_OR)," +" [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:2 +msgid "atomic\\_fetch\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:5 +msgid "" +"__atomic\\_fetch\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise XOR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:14 +msgid "" +"__atomic\\_fetch\\_xor(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise __xor__ " +"between the values of __atom__ and __value__. When __stat__ is present " +"and the invocation was successful, it is assigned the value __0__. If it " +"is present and the invocation has failed, it is assigned a positive " +"value; in particular, for a coindexed __atom__, if the remote image has " +"stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_xor__(3)](ATOMIC_XOR), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:65 +msgid "[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:2 +msgid "atomic\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:5 +msgid "" +"__atomic\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:14 +msgid "" +"__atomic\\_or(atom, value)__ atomically defines __atom__ with the bitwise" +" __or__ between the values of __atom__ and __value__. When __stat__ is " +"present and the invocation was successful, it is assigned the value " +"__0__. If it is present and the invocation has failed, it is assigned a " +"positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:57 +msgid "" +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:61 +msgid "[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:2 +msgid "atomic\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:5 +msgid "" +"__atomic\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:14 +msgid "" +"__atomic\\_xor(atom, value)__ atomically defines __atom__ with the " +"bitwise __xor__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value __0__. If it is present and the invocation has failed, it is " +"assigned a positive value; in particular, for a coindexed __atom__, if " +"the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH), " +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:2 +msgid "atomic\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:5 +msgid "__atomic\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:13 +msgid "" +"__atomic\\_ad(atom, value)__ atomically adds the value of VAR to the " +"variable __atom__. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed ATOM, if the remote image has stopped, it is assigned the" +" value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote " +"image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:53 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR) __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:2 +msgid "atomic\\_cas" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:5 +msgid "__atomic\\_cas__(3) - \\[ATOMIC\\] Atomic compare and swap" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:14 +msgid "" +"atomic\\_cas compares the variable __atom__ with the value of " +"__compare__; if the value is the same, __atom__ is set to the value of " +"__new__. Additionally, __old__ is set to the value of __atom__ that was " +"used for the comparison. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:29 +msgid "" +"Scalar coarray or coindexed variable of either integer type with " +"atomic\\_int\\_kind kind or logical type with atomic\\_logical\\_kind " +"kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:34 +msgid "__compare__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:35 +msgid "Scalar variable of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:37 +msgid "__new__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:38 +msgid "" +"Scalar variable of the same type as __atom__. If kind is different, the " +"value is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:63 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__iso\\_fortran\\_env__(3)]()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:2 +msgid "atomic\\_define" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:5 +msgid "__atomic\\_define__(3) - \\[ATOMIC\\] Setting a variable atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:19 +msgid "" +"__atomic\\_define(atom, value)__ defines the variable __atom__ with the " +"value __value__ atomically. When __stat__ is present and the invocation " +"was successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:55 +msgid "Fortran 2008 and later; with __stat__, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:59 +msgid "" +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:2 +msgid "atomic\\_fetch\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:5 +msgid "" +"__atomic\\_fetch\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation with " +"prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:14 +msgid "" +"__atomic\\_fetch\\_add(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and adds the value of __var__ to the variable " +"__atom__. When __stat__ is present and the invocation was successful, it " +"is assigned the value __0__. If it is present and the invocation has " +"failed, it is assigned a positive value; in particular, for a coindexed " +"__atom__, if the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:26 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind. atomic\\_logical\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_add__(3)](ATOMIC_ADD), __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:62 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:2 +msgid "atomic\\_ref" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:5 +msgid "" +"__atomic\\_ref__(3) - \\[ATOMIC\\] Obtaining the value of a variable " +"atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:14 +msgid "" +"__atomic\\_ref(value, atom)__ atomically assigns the value of the " +"variable __atom__ to __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's " +"__stat\\_stopped\\_image__ and if the remote image has failed, the value " +"__stat\\_failed\\_image__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:57 +msgid "Fortran 2008 and later; with STAT, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:61 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_cas__(3)](ATOMIC_CAS), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:65 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:68 +msgid "" +"[__atomic\\_fetch\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/STATE_index.md:1 +msgid "General and miscellaneous intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:2 +msgid "associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:5 +msgid "__associated__(3) - \\[STATE\\] Status of a pointer or pointer/target pair" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:14 +msgid "" +"__associated(pointer \\[, target\\])__ determines the status of the " +"pointer __pointer__ or if __pointer__ is associated with the target " +"__target__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:19 +msgid "__pointer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:20 +msgid "__pointer__ shall have the _pointer_ attribute and it can be of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:22 +msgid "__target__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:23 +msgid "" +"(Optional) __target__ shall be a pointer or a target. It must have the " +"same type, kind type parameter, and array rank as __pointer__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:26 +msgid "" +"The association status of neither __pointer__ nor __target__ shall be " +"undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:30 +msgid "" +"__associated(pointer)__ returns a scalar value of type _logical_. There " +"are several cases:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:33 +msgid "" +"When the optional __target__ is not present then __associated(pointer)__ " +"is true if __pointer__ is associated with a target; otherwise, it returns" +" false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:37 +msgid "" +"If __target__ is present and a scalar target, the result is true if " +"__target__ is not a zero-sized storage sequence and the target associated" +" with __pointer__ occupies the same storage units. If __pointer__ is " +"disassociated, the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:42 +msgid "" +"If __target__ is present and an array target, the result is true if " +"__target__ and __pointer__ have the same shape, are not zero-sized " +"arrays, are arrays whose elements are not zero-sized storage sequences, " +"and __target__ and __pointer__ occupy the same storage units in array " +"element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:48 +msgid "As in case 2, the result is false, if __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:50 +msgid "" +"If __target__ is present and an scalar pointer, the result is true if " +"__target__ is associated with __pointer__, the target associated with " +"__target__ are not zero-sized storage sequences and occupy the same " +"storage units." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:55 +msgid "" +"The result is __.false.__, if either __target__ or __pointer__ is " +"disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:57 +msgid "" +"If __target__ is present and an array pointer, the result is true if " +"target associated with __pointer__ and the target associated with " +"__target__ have the same shape, are not zero-sized arrays, are arrays " +"whose elements are not zero-sized storage sequences, and __target__ and " +"__pointer__ occupy the same storage units in array element order. The " +"result is false, if either __target__ or __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:86 +msgid "[__null__(3)](NULL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:2 +msgid "extends\\_type\\_of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:5 +msgid "" +"__extends\\_type\\_of__(3) - \\[STATE\\] determine if the dynamic type of" +" __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:14 +msgid "" +"__extends\\_type\\_of__(3) is __.true.__ if and only if the dynamic type " +"of __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:17 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:27 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:25 +msgid "__Options__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:20 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:24 +msgid "" +"shall be an object of extensible type. If it is a pointer, it shall not " +"have an undefined association status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:30 +msgid "Default logical scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:33 +msgid "" +"If __mold__ is unlimited polymorphic and is either a disassociated " +"pointer or unallocated allocatable variable, the result is true; " +"otherwise if __a__ is unlimited polymorphic and is either a disassociated" +" pointer or unallocated allocatable variable, the result is false; " +"otherwise the result is true if and only if the dynamic type of __a__ is " +"an extension type of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:40 +msgid "" +"The dynamic type of a disassociated pointer or unallocated allocatable " +"variable is its declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:2 +msgid "is\\_iostat\\_end" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:5 +msgid "__is\\_iostat\\_end__(3) - \\[STATE\\] Test for end-of-file value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:17 +msgid "" +"is\\_iostat\\_end(3) tests whether a variable (assumed returned as a " +"status from an I/O statement) has the \"end of file\" I/O status value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:20 +msgid "" +"The function is equivalent to comparing the variable with the " +"__iostat\\_end__ parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:26 +msgid "An _integer_ status value to test if indicating end of file." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:30 +msgid "" +"Returns a _logical_ of the default kind, __.true.__ if __i__ has the " +"value which indicates an end of file condition for __iostat=__ " +"specifiers, and is __.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:2 +msgid "is\\_iostat\\_eor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:5 +msgid "__is\\_iostat\\_eor__(3) - \\[STATE\\] Test for end-of-record value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:14 +msgid "" +"is\\_iostat\\_eor tests whether an variable has the value of the I/O " +"status \"end of record\". The function is equivalent to comparing the " +"variable with the iostat\\_eor parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:22 +msgid "Shall be of the type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:26 +msgid "" +"Returns a _logical_ of the default kind, which .true. if __i__ has the " +"value which indicates an end of file condition for iostat= specifiers, " +"and is .false. otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:2 +msgid "move\\_alloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:5 +msgid "__move\\_alloc__(3) - \\[\\] Move allocation from one object to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:14 +msgid "" +"__move\\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC " +"will become deallocated in the process." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:19 +msgid "__src__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:20 +msgid "allocatable, __intent(inout)__, may be of any type and kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:22 +msgid "__dest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:23 +msgid "" +"allocatable, __intent(out)__, shall be of the same type, kind and rank as" +" SRC." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:28 +msgid "Basic Sample program to allocate a bigger grid" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:70 +msgid "[__allocated__(3)](ALLOCATED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:2 +msgid "present" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:5 +msgid "" +"__present__(3) - [STATE\\] Determine whether an optional dummy argument" +" is specified" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:17 +msgid "Determines whether an optional dummy argument is present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:22 +msgid "" +"May be of any type and may be a pointer, scalar or array value, or a " +"dummy procedure. It shall be the name of an optional dummy argument " +"accessible within the current subroutine or function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:28 +msgid "" +"Returns either __.true.__ if the optional argument __a__ is present, or " +"__.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:2 +msgid "same\\_type\\_as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:5 +msgid "__same\\_type\\_as__(3) - \\[STATE\\] Query dynamic types for equality" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:14 +msgid "Query dynamic types for equality." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:19 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:23 +msgid "Shall be an object of extensible declared type or unlimited polymorphic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:22 +msgid "__b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:28 +msgid "" +"The return value is a scalar of type default logical. It is true if and " +"only if the dynamic type of __a__ is the same as the dynamic type of " +"__b__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:37 +msgid "[__extends\\_type\\_of__(3)](EXTENDS_TYPE_OF)" +msgstr "" + +#: ../../source/learn/intrinsics/SYSTEM_index.md:1 +msgid "Accessing external system information" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:2 +msgid "command\\_argument\\_count" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:5 +msgid "" +"__command\\_argument\\_count__(3) - \\[SYSTEM:COMMAND LINE\\] Get number " +"of command line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:16 +msgid "" +"__command\\_argument\\_count()__ returns the number of arguments passed" +" on the command line when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:21 +msgid "None" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:26 +msgid "" +"The return value is of type default _integer_. It is the number of " +"arguments passed on the command line when the program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:42 +msgid "Sample output:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:60 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:2 +msgid "get\\_command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:5 +msgid "" +"__get\\_command__(3) - \\[SYSTEM:COMMAND LINE\\] Get the entire command " +"line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:18 +msgid "Retrieve the entire command line that was used to invoke the program." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:20 +msgid "" +"Note that what is typed on the command line is often processed by a " +"shell. The shell typically processes special characters and white space " +"before passing it to the program. The processing can typically be turned " +"off by turning off globbing or quoting the command line arguments and/or " +"changing the default field separators, but this should rarely be " +"necessary." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:42 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:29 +msgid "__command__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:30 +msgid "" +"Shall be of type _character_ and of default kind. If __command__ is " +"present, stores the entire command line that was used to invoke the " +"program in __command__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:42 +msgid "__length__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:35 +msgid "" +"Shall be of type _integer_ and of default kind. If __length__ is present," +" it is assigned the length of the command line." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:38 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:48 +msgid "__status__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:39 +msgid "" +"Shall be of type _integer_ and of default kind. If __status__ is present," +" it is assigned 0 upon success of the command, __-1__ if __command__ is " +"too short to store the command line, or a positive value in case of an " +"error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:83 +msgid "" +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:2 +msgid "get\\_command\\_argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:5 +msgid "" +"__get\\_command\\_argument__(3) - \\[SYSTEM:COMMAND LINE\\] Get command " +"line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:19 +msgid "" +"Retrieve the __number__-th argument that was passed on the command line " +"when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:22 +msgid "" +"There is not anything specifically stated about what an argument is but " +"in practice the arguments are split on whitespace unless the arguments " +"are quoted and IFS values (Internal Field Separators) used by common " +"shells are ignored." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:29 +msgid "__number__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:30 +msgid "" +"Shall be a scalar of type __integer__, __number \\>= 0__. If __number = " +"0__, __value__ is set to the name of the program (on systems that support" +" this feature)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:36 +msgid "" +"__value__ :Shall be a scalar of type _character_ and of default kind. " +"After get\\_command\\_argument returns, the __value__ argument holds the " +"__number__-th command line argument. If __value__ can not hold the " +"argument, it is truncated to fit the length of __value__. If there are " +"less than __number__ arguments specified at the command line, __value__ " +"will be filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:44 +msgid "" +"__length__ :(Optional) Shall be a scalar of type _integer_. The " +"__length__ argument contains the length of the __number__-th command line" +" argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:48 +msgid "" +"__status__ :(Optional) Shall be a scalar of type _integer_. If the " +"argument retrieval fails, __status__ is a positive number; if __value__ " +"contains a truncated command line argument, __status__ is __-1__; and " +"otherwise the __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:125 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:2 +msgid "cpu\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:5 +msgid "__cpu\\_time__(3) - \\[SYSTEM:TIME\\] return CPU processor time in seconds" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:14 +msgid "" +"Returns a _real_ value representing the elapsed CPU time in seconds. This" +" is useful for testing segments of code to determine execution time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:17 +msgid "" +"The exact definition of time is left imprecise because of the variability" +" in what different processors are able to provide." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:20 +msgid "If no time source is available, TIME is set to a negative value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:22 +msgid "" +"Note that TIME may contain a system dependent, arbitrary offset and may " +"not start with 0.0. For cpu\\_time the absolute value is meaningless. " +"Only differences between subsequent calls, as shown in the example below," +" should be used." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:27 +msgid "" +"A processor for which a single result is inadequate (for example, a " +"parallel processor) might choose to provide an additional version for " +"which time is an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:33 +msgid "__TIME__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:34 +msgid "" +"The type shall be _real_ with __intent(out)__. It is assigned a " +"processor-dependent approximation to the processor time in seconds. If " +"the processor cannot return a meaningful time, a processor-dependent " +"negative value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:39 +msgid "" +"__is returned.__ The start time is left imprecise because the purpose is " +"to time sections of code, as in the example. This might or might not " +"include system overhead time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:71 +msgid "" +"[__system\\_clock__(3)](SYSTEM_CLOCK), " +"[__date\\_and\\_time__(3)](DATE_AND_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:2 +msgid "date\\_and\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:5 +msgid "__date\\_and\\_time__(3) - \\[SYSTEM:TIME\\] gets current time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:18 +msgid "" +"__date\\_and\\_time(date, time, zone, values)__ gets the corresponding " +"date and time information from the real-time system clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:21 +msgid "Unavailable time and date _character_ parameters return blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:25 +msgid "__date__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:26 +msgid "" +"A character string of default kind of the form CCYYMMDD, of length 8 or " +"larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:28 +msgid "__time__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:29 +msgid "" +"A character string of default kind of the form HHMMSS.SSS, of length 10 " +"or larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:31 +msgid "__zone__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:32 +msgid "" +"A character string of default kind of the form (+-)HHMM, of length 5 or " +"larger, representing the difference with respect to Coordinated Universal" +" Time (UTC)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:35 +msgid "__values__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:36 +msgid "An _integer_ array of eight elements that contains:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:38 +msgid "__values__(1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:39 +msgid ": The year" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:40 +msgid "__values__(2)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:41 +msgid ": The month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:42 +msgid "__values__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:43 +msgid ": The day of the month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:44 +msgid "__values__(4)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:45 +msgid ": Time difference with UTC in minutes" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:46 +msgid "__values__(5)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:47 +msgid ": The hour of the day" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:48 +msgid "__values__(6)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:49 +msgid ": The minutes of the hour" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:50 +msgid "__values__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:51 +msgid ": The seconds of the minute" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:52 +msgid "__values__(8)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:53 +msgid ": The milliseconds of the second" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:103 +msgid "[__cpu\\_time__(3)](CPU_TIME), [__system\\_clock__(3)](SYSTEM_CLOCK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:107 +msgid "date and time conversion, formatting and computation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:109 +msgid "[M_time](https://github.com/urbanjost/M_time)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:110 +msgid "[datetime](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:111 +msgid "[datetime-fortran](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:2 +msgid "system_clock" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:5 +msgid "" +"__system\\_clock__(3) - \\[SYSTEM:TIME\\] Return numeric data from a " +"real-time clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:20 +msgid "" +"__system\\_clock__ lets you measure durations of time with the precision " +"of the smallest time increment generally available on a system by " +"returning processor-dependent values based on the current value of the " +"processor clock. The __clock__ value is incremented by one for each clock" +" count until the value __count\\_max__ is reached and is then reset to " +"zero at the next count. __clock__ therefore is a modulo value that lies " +"in the range __0 to count\\_max__. __count\\_rate__ and __count\\_max__ " +"are assumed constant (even though CPU rates can vary on a single " +"platform)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:29 +msgid "" +"__count\\_rate__ is system dependent and can vary depending on the kind " +"of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:32 +msgid "" +"If there is no clock, or querying the clock fails, __count__ is set to " +"__-huge(count)__, and __count\\_rate__ and __count\\_max__ are set to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:35 +msgid "" +"__system\\_clock__ is typically used to measure short time intervals " +"(system clocks may be 24-hour clocks or measure processor clock ticks " +"since boot, for example). It is most often used for measuring or tracking" +" the time spent in code blocks in lieu of using profiling tools." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:43 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned a processor-" +"dependent value based on the current value of the processor clock, or " +"__-huge(count)__ if there is no clock. The processor-dependent value is " +"incremented by one for each clock count until the value __count\\_max__ " +"is reached and is reset to zero at the next count. It lies in the range " +"__0__ to __count\\_max__ if there is a clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:51 +msgid "__count\\_rate__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:52 +msgid "" +"(optional) shall be an _integer_ or _real_ scalar. It is assigned a " +"processor-dependent approximation to the number of processor clock counts" +" per second, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:56 +msgid "__count\\_max__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:57 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned the maximum value" +" that __COUNT__ can have, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:82 +msgid "" +"If the processor clock is a 24-hour clock that registers time at " +"approximately 18.20648193 ticks per second, at 11:30 A.M. the reference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:87 +msgid "defines" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:100 +msgid "[__date\\_and\\_time__(3)](DATE_AND_TIME), [__cpu\\_time__(3)](CPU_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:2 +msgid "execute\\_command\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:5 +msgid "" +"__execute\\_command\\_line__(3) - \\[SYSTEM:PROCESSES\\] Execute a shell " +"command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:20 +msgid "" +"The __command__ argument is passed to the shell and executed. (The shell " +"is generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If " +"__wait__ is present and has the value __.false.__, the execution of the " +"command is asynchronous if the system supports it; otherwise, the command" +" is executed synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:26 +msgid "" +"The three last arguments allow the user to get status information. After " +"synchronous execution, __exitstat__ contains the integer exit code of the" +" command, as returned by __system__. __cmdstat__ is set to zero if the " +"command line was executed (whatever its exit status was). __cmdmsg__ is " +"assigned an error message if an error has occurred." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:32 +msgid "" +"Note that the system call need not be thread-safe. It is the " +"responsibility of the user to ensure that the system is not called " +"concurrently if required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:36 +msgid "" +"When the command is executed synchronously, __execute\\_command\\_line__ " +"returns after the command line has completed execution. Otherwise, " +"__execute\\_command\\_line__ returns without waiting." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:43 +msgid "" +"a default _character_ scalar containing the command line to be executed. " +"The interpretation is programming-environment dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:46 +msgid "__wait__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:47 +msgid "" +"(Optional) a default _logical_ scalar. If __wait__ is present with the " +"value .false., and the processor supports asynchronous execution of the " +"command, the command is executed asynchronously; otherwise it is executed" +" synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:52 +msgid "__exitstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:53 +msgid "" +"(Optional) an _integer_ of the default kind with __intent(inout)__. If " +"the command is executed synchronously, it is assigned the value of the " +"processor-dependent exit status. Otherwise, the value of __exitstat__ is " +"unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:58 +msgid "__cmdstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:59 +msgid "" +"(Optional) an _integer_ of default kind with __intent(inout)__. If an " +"error condition occurs and __cmdstat__ is not present, error termination " +"of execution of the image is initiated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:63 +msgid "" +"It is assigned the value __-1__ if the processor does not support command" +" line execution, a processor-dependent positive value if an error " +"condition occurs, or the value __-2__ if no error condition occurs but " +"__wait__ is present with the value false and the processor does not " +"support asynchronous execution. Otherwise it is assigned the value 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:70 +msgid "__cmdmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:71 +msgid "" +"(Optional) a _character_ scalar of the default kind. It is an __intent " +"(inout)__ argument.If an error condition occurs, it is assigned a " +"processor-dependent explanatory message.Otherwise, it is unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:94 +msgid "" +"Because this intrinsic is making a system call, it is very system " +"dependent. Its behavior with respect to signaling is processor dependent." +" In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT " +"signals will be ignored, and the SIGCHLD will be blocked. As such, if the" +" parent process is terminated, the child process might not be terminated " +"alongside." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:2 +msgid "get\\_environment" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:5 +msgid "" +"__get\\_environment\\_variable__(3) - \\[SYSTEM:ENVIRONMENT\\] Get an " +"environmental variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:19 +msgid "Get the __value__ of the environmental variable __name__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:21 +msgid "" +"Note that __get\\_environment\\_variable__(3) need not be thread-safe. It" +" is the responsibility of the user to ensure that the environment is not " +"being updated concurrently." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:22 +msgid "__name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:28 +msgid "The name of the environment variable to query." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:30 +msgid "Shall be a scalar of type _character_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:35 +msgid "The value of the environment variable being queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:37 +msgid "" +"Shall be a scalar of type _character_ and of default kind. The value of " +"__name__ is stored in __value__. If __value__ is not large enough to hold" +" the data, it is truncated. If __name__ is not set, __value__ will be " +"filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:43 +msgid "" +"Argument __length__ contains the length needed for storing the " +"environment variable __name__ or zero if it is not present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:46 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:54 +msgid "Shall be a scalar of type _integer_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:49 +msgid "" +"__status__ is __-1__ if __value__ is present but too short for the " +"environment variable; it is __1__ if the environment variable does not " +"exist and __2__ if the processor does not support environment variables; " +"in all other cases __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:56 +msgid "__trim\\_name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:57 +msgid "" +"If __trim\\_name__ is present with the value __.false.__, the trailing " +"blanks in __name__ are significant; otherwise they are not part of the " +"environment variable name." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:61 +msgid "Shall be a scalar of type _logical_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/TRANSFORM_index.md:1 +msgid "Matrix multiplication, dot product, and array shifts" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:1 +msgid "Types and kinds" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:3 +msgid "" +"These intrinsics allow for explicitly casting one type of variable to " +"another or can be used to conditionally execute code blocks based on " +"variable types when working with polymorphic variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:7 +msgid "Fortran Data Types" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:9 +msgid "Fortran provides five basic intrinsic data types:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:11 +msgid "Integer type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:12 +msgid "The integer types can hold only whole number values." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:13 +msgid "Real type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:14 +msgid "Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:15 +msgid "Complex type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:16 +msgid "" +"A complex number has two parts, the real part and the imaginary part. Two" +" consecutive floating point storage units store the two parts." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:19 +msgid "Logical type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:20 +msgid "There are only two logical values: .true. and .false." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:21 +msgid "Character type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:22 +msgid "" +"The character type stores strings. The length of the string can be " +"specified by the __len__ specifier. If no length is specified, it is 1." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:25 +msgid "" +"These \"types\" can be of many \"kinds\". Often different numeric kinds " +"take up different storage sizes and therefore can represent different " +"ranges; but a different kind can have other meanings. A _character_ " +"variable might represent ASCII characters or UTF-8 or Unicode characters," +" for example." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:31 +msgid "You can derive your own data types from these fundamental types as well." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:33 +msgid "Implicit Typing" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:35 +msgid "" +"Fortran allows a feature called implicit typing, i.e., you do not have to" +" declare some variables before use. By default if a variable is not " +"declared, then the first letter of its name will determine its type:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:39 +msgid "" +"Variable names starting with __i-n__ (the first two letters of " +"\"integer\") specify _integer_ variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:42 +msgid "All other variable names default to _real_." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:45 +msgid "" +"However, in most circles it is considered good programming practice to " +"declare all the variables. For that to be enforced, you start your " +"variable declaration section with a statement that turns off implicit " +"typing: the statement" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:52 +msgid "For more information refer to the __implicit__ statement." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:2 +msgid "aimag" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:5 +msgid "__aimag__(3) - \\[TYPE:NUMERIC\\] Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:18 +msgid "__aimag(z)__ yields the imaginary part of complex argument __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:23 +msgid "The type of the argument shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:27 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:2 +msgid "cmplx" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:5 +msgid "__cmplx__(3) - \\[TYPE:NUMERIC\\] Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:19 +msgid "" +"To convert numeric variables to complex, use the __cmplx__(3) function. " +"Constants can be used to define a complex variable using the syntax" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:26 +msgid "" +"but this will not work for variables. You must use the __cmplx__(3) " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:28 +msgid "" +"__cmplx(x \\[, y \\[, kind\\]\\])__ returns a complex number where __x__ " +"is converted to the _real_ component. If __x__ is _complex_ then __y__ " +"must not be present. If __y__ is present it is converted to the imaginary" +" component. If __y__ is not present then the imaginary component is set " +"to __0.0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:33 +msgid "__cmplx(3) and double precision__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:35 +msgid "" +"The Fortran 90 language defines __cmplx__(3) as always returning a result" +" that is type __complex(kind=KIND(0.0))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:38 +msgid "" +"This means \\`__cmplx(d1,d2)__', where __\\`d1'__ and __\\`d2'__ are " +"_doubleprecision_, is treated as: fortran" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:45 +msgid "_doubleprecision complex_ numbers require specifying a precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:47 +msgid "" +"It was necessary for Fortran 90 to specify this behavior for " +"_doubleprecision_ arguments, since that is the behavior mandated by " +"FORTRAN 77." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:51 +msgid "" +"So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra " +"argument used to specify the desired kind of complex result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:75 +msgid "" +"F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity " +"can be accessed independently with a component-like syntax in f2018:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:78 +msgid "A complex-part-designator is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:80 +msgid "``fortran designator % RE or designator % IM." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:103 +msgid "__x__ The type may be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:106 +msgid "" +"__y__ (Optional; only allowed if __x__ is not _complex_.). May be " +"_integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:110 +msgid "" +"__kind__ (Optional) An _integer_ initialization expression indicating the" +" kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:116 +msgid "" +"The return value is of _complex_ type, with a kind equal to __kind__ if " +"it is specified. If __kind__ is not specified, the result is of the " +"default _complex_ kind, regardless of the kinds of __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:153 +msgid "[__aimag__(3)](AIMAG) - Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:155 +msgid "[__cmplx__(3)](CMPLX) - Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:157 +msgid "[__conjg__(3)](CONJG) - Complex conjugate function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:159 +msgid "[__real__(3)](REAL) - Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:2 +msgid "int" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:4 +msgid "" +"__int__(3) - \\[TYPE:NUMERIC\\] Convert to integer type by truncating " +"towards zero" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:16 +msgid "Convert to integer type by truncating towards zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:21 +msgid "" +"Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-" +"constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:27 +msgid "If not present the returned type is that of default integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:31 +msgid "returns an _integer_ variable or array applying the following rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:33 +msgid "__Case__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:35 +msgid "If __a__ is of type _integer_, __int__(a) = a" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:37 +msgid "" +"If __a__ is of type _real_ and __|a| \\< 1, int(a)__ equals __0__. If " +"__|a| \\>= 1__, then __int(a)__ equals the integer whose magnitude does " +"not exceed __a__ and whose sign is the same as the sign of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:41 +msgid "" +"If __a__ is of type _complex_, rule 2 is applied to the _real_ part of " +"__a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:43 +msgid "" +"If _a_ is a boz-literal constant, it is treated as an _integer_ with the " +"_kind_ specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:46 +msgid "" +"The interpretation of a bit sequence whose most significant bit is __1__ " +"is processor dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:118 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:2 +msgid "nint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:5 +msgid "__nint__(3) - \\[TYPE:NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:15 +msgid "" +"__nint(x)__ rounds its argument to the nearest whole number with its sign" +" preserved." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:18 +msgid "" +"The user must ensure the value is a valid value for the range of the " +"__kind__ returned. If the processor cannot represent the result in the " +"kind specified, the result is undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:22 +msgid "If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:24 +msgid "" +"If __x__ is less than or equal to zero, __nint(x)__ has the value " +"__int(a-0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:30 +msgid "The type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:33 +msgid "" +"(Optional) A constant _integer_ expression indicating the kind parameter " +"of the result. Otherwise, the kind type parameter is that of default " +"_integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:39 +msgid "__answer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:40 +msgid "" +"The result is the integer nearest __x__, or if there are two integers " +"equally near __x__, the result is whichever such _integer_ has the " +"greater magnitude." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:112 +msgid "FORTRAN 77 and later, with KIND argument - Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:116 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:2 +msgid "real" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:4 +msgid "__real__(3) - \\[TYPE:NUMERIC\\] Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:13 +msgid "__real(x, kind)__ converts its argument __x__ to a real type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:18 +msgid "Shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:26 +msgid "" +"These functions return a _real_ variable or array under the following " +"rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:29 +msgid "" +"__real__(x) is converted to a default _real_ type if __x__ is an " +"_integer_ or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:32 +msgid "" +"__real__(x) is converted to a real type with the kind type parameter of " +"__x__ if __x__ is a _complex_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:35 +msgid "" +"__real(x, kind)__ is converted to a _real_ type with kind type parameter " +"__kind__ if __x__ is a _complex_, _integer_, or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:71 +msgid "[__dble__(3)](DBLE), [__float__(3)](FLOAT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:2 +msgid "dble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:5 +msgid "__dble__(3) - \\[TYPE:NUMERIC\\] Double conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:16 +msgid "" +"where TYPE may be _integer_, _real_, or _complex_ and KIND any kind " +"supported by the TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:20 +msgid "__dble(a)__ Converts __a__ to double precision _real_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:25 +msgid "The type shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:29 +msgid "" +"The return value is of type _doubleprecision_. For _complex_ input, the " +"returned value has the magnitude and sign of the real component of the " +"input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:56 +msgid "[__float__(3)](FLOAT), [__real__(3)](REAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:2 +msgid "transfer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:5 +msgid "__transfer__(3) - \\[TYPE:MOLD\\] Transfer bit patterns" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:14 +msgid "" +"Interprets the bitwise representation of __source__ in memory as if it is" +" the representation of a variable or array of the same type and type " +"parameters as __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:18 +msgid "" +"This is approximately equivalent to the C concept of \\*casting\\* one " +"type to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:27 +msgid "Shall be a scalar or an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:30 +msgid "(Optional) shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:34 +msgid "" +"The result has the same type as __mold__, with the bit level " +"representation of __source__. If __size__ is present, the result is a " +"one-dimensional array of length __size__. If __size__ is absent but " +"__mold__ is an array (of any size or shape), the result is a one-" +"dimensional array of the minimum length needed to contain the entirety of" +" the bitwise representation of __source__. If __size__ is absent and " +"__mold__ is a scalar, the result is a scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:41 +msgid "" +"If the bitwise representation of the result is longer than that of " +"__source__, then the leading bits of the result correspond to those of " +"__source__ and any trailing bits are filled arbitrarily." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:45 +msgid "" +"When the resulting bit representation does not correspond to a valid " +"representation of a variable of the same type as __mold__, the results " +"are undefined, and subsequent operations on the result cannot be " +"guaranteed to produce sensible behavior. For example, it is possible to " +"create _logical_ variables for which __var__ and .not. var both appear to" +" be true." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:80 +msgid "__Comments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:82 +msgid "_Joe Krahn_: Fortran uses __molding__ rather than __casting__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:84 +msgid "" +"Casting, as in C, is an in-place reinterpretation. A cast is a device " +"that is built around an object to change its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:87 +msgid "" +"Fortran TRANSFER reinterprets data out-of-place. It can be considered " +"__molding__ rather than casting. A __mold__ is a device that confers a " +"shape onto an object placed into it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:91 +msgid "" +"The advantage of molding is that data is always valid in the context of " +"the variable that holds it. For many cases, a decent compiler should " +"optimize TRANSFER into a simple assignment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:95 +msgid "" +"There are disadvantages of this approach. It is problematic to define a " +"union of data types because you must know the largest data object, which " +"can vary by compiler or compile options. In many cases, an EQUIVALENCE " +"would be far more effective, but Fortran Standards committees seem " +"oblivious to the benefits of EQUIVALENCEs when used sparingly." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:103 +msgid "Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:2 +msgid "logical" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:5 +msgid "" +"__logical__(3) - \\[TYPE:LOGICAL\\] Converts one kind of _logical_ " +"variable to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:18 +msgid "Converts one kind of _logical_ variable to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:23 +msgid "__l__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:24 +msgid "The type shall be _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:32 +msgid "" +"The return value is a _logical_ value equal to __l__, with a kind " +"corresponding to __kind__, or of the default logical kind if __kind__ is " +"not given." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:61 +msgid "Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:65 +msgid "[__int__(3)](INT), [__real__(3)](REAL), [__cmplx__(3)](CMPLX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:2 +msgid "kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:5 +msgid "__kind__(3) - \\[KIND INQUIRY\\] Kind of an entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:14 +msgid "__kind(x)__ returns the kind value of the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:19 +msgid "Shall be of type _logical_, _integer_, _real_, _complex_ or _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:2 +msgid "selected\\_char\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:5 +msgid "" +"__selected\\_char\\_kind__(3) - \\[KIND\\] Choose character kind such as " +"\"Unicode\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:14 +msgid "" +"__selected\\_char\\_kind(name)__ returns the kind value for the character" +" set named NAME, if a character set with such a name is supported, or " +"__-1__ otherwise. Currently, supported character sets include \"ASCII\" " +"and \"DEFAULT\" (iwhich are equivalent), and \"ISO\\_10646\" (Universal " +"Character Set, UCS-4) which is commonly known as \"Unicode\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:23 +msgid "Shall be a scalar and of the default character type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:2 +msgid "selected\\_int\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:5 +msgid "__selected\\_int\\_kind__(3) - \\[KIND\\] Choose integer kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:14 +msgid "" +"__selected\\_int\\_kind(r)__ return the kind value of the smallest " +"integer type that can represent all values ranging from __-10\\*\\*r__ " +"(exclusive) to __10\\*\\*r__ (exclusive). If there is no integer kind " +"that accommodates this range, selected\\_int\\_kind returns __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:23 +msgid "__r__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:22 +msgid "Shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:55 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__nint__(3)](NINT), [__ceiling__(3)](CEILING), [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:2 +msgid "selected\\_real\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:5 +msgid "__selected\\_real\\_kind__(3) - \\[KIND\\] Choose real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:14 +msgid "" +"__selected\\_real\\_kind(p, r, radix)__ return the kind value of a real " +"data type with decimal precision of at least __p__ digits, exponent range" +" of at least __r__, and with a radix of __radix__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:27 +msgid "(Optional) shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:26 +msgid "__radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:29 +msgid "" +"Before __Fortran 2008__, at least one of the arguments __r__ or __p__ " +"shall be present; since __Fortran 2008__, they are assumed to be zero if " +"absent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:35 +msgid "" +"selected\\_real\\_kind returns the value of the kind type parameter of a " +"real data type with decimal precision of at least __p__ digits, a decimal" +" exponent range of at least R, and with the requested __radix__. If the " +"__radix__ parameter is absent, real kinds with any radix can be returned." +" If more than one real data type meet the criteria, the kind of the data " +"type with the smallest decimal precision is returned. If no real data " +"type matches the criteria, the result is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:43 +msgid "" +"__-1__ if the processor does not support a real data type with a " +"precision greater than or equal to __p__, but the __r__ and __radix__ " +"requirements can be fulfilled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:47 +msgid "" +"__-2__ if the processor does not support a real type with an exponent " +"range greater than or equal to __r__, but __p__ and __radix__ are " +"fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:51 +msgid "__-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:53 +msgid "__-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:55 +msgid "__-5__ if there is no real type with the given __radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:84 +msgid "Fortran 95 and later; with RADIX - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:88 +msgid "" +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__radix__(3)](RADIX)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:7 +msgid "Fortran Intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:9 +msgid "" +"This is a collection of extended descriptions of the Fortran intrinsics " +"based on the reference document \"[Current F2018 Working Document as of " +"April " +"2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)\"." +" Vendor-specific extensions are not included." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:14 +msgid "☛[Array Operations](ARRAY_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:16 +msgid "☛[Mathematics](MATH_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:18 +msgid "☛[Type and Kind](TYPE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:19 +msgid "☛[Numeric](NUMERIC_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:21 +msgid "☛[Transformational](TRANSFORM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:22 +msgid "Matrix multiplication, Dot product, array shifts," +msgstr "" + +#: ../../source/learn/intrinsics/index.md:23 +msgid "☛[General State](STATE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:24 +msgid "General and miscellaneous intrinsics on state of variables and I/O" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:25 +msgid "☛[Character](CHARACTER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:26 +msgid "basic procedures specifically for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:27 +msgid "☛[System Environment](SYSTEM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:28 +msgid "" +"accessing external system information such as environmental variables, " +"command line arguments, date and timing data ..." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:29 +msgid "☛[C Interface](C_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:30 +msgid "procedures useful for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:31 +msgid "☛[Bit-level](BIT_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:32 +msgid "bit-level manipulation and inquiry of values0" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:33 +msgid "☛[Parallel Programming](PARALLEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:34 +msgid "Parallel programming using co-arrays and co-indexing" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:35 +msgid "☛[Numeric Model](MODEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:36 +msgid "numeric compiler-specific numeric model information" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:37 +msgid "☛[Compiler Information](COMPILER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:38 +msgid "information about compiler version and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:40 +msgid "Overview" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:41 +msgid "" +"The standard documents and most vendor-supplied descriptions of the " +"intrinsics are often very brief and concise to the point of the " +"functionality of the intrinsics being obscure, particularly to someone " +"unfamiliar with the procedure." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:46 +msgid "By describing the procedures here" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:47 +msgid "in greater detail" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:48 +msgid "with a working example" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:49 +msgid "" +"providing links to additional resources (including additional documents " +"at fortran-lang.org and related discussions in Fortran Discourse)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:53 +msgid "these documents strive to be a valuable asset for Fortran programmers." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:55 +msgid "" +"This is a community-driven resource and everyone is encouraged to " +"contribute to the documents. For contribution guidelines see " +"[MINIBOOKS](https://github.com/fortran-lang/fortran-" +"lang.org/blob/master/MINIBOOKS.md) and the following Copyright " +"guidelines." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:60 +msgid "See Also" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:61 +msgid "The [Fortran stdlib](https://stdlib.fortran-lang.org/) project" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:62 +msgid "" +"[fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which " +"are general-purpose libraries/modules" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:64 +msgid "Experimental" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:66 +msgid "" +"[review by procedure " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:68 +msgid "" +"[review by header " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:70 +msgid "" +"[fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A " +"self-contained Fortran program that lets you view the non-graphical plain" +" ASCII portions of the documentation from a terminal interface. Compile " +"the program and enter \"./fman --help\" for directions." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:75 +msgid "" +"[man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) " +"A gzipped tar(1) file containing early versions of man-pages derived from" +" the markdown documents." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:78 +msgid "" +"Typical installation on a Linux platform as an administrator ( but it " +"varies) :" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:110 +msgid "Text Content Copyrights" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:112 +msgid "" +"Many of the documents presented here are modified versions of man-pages " +"from the [Fortran Wiki](https://fortranwiki.org) and as such are " +"available under the terms of the GNU Free Documentation License " +"[__GFDL__](GNU_Free_Documentation_License.md) with no invariant sections," +" front-cover texts, or back-cover texts." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:118 +msgid "" +"If you contribute to this site by modifying the files marked as GFDL, you" +" thereby agree to license the contributed material to the public under " +"the GFDL (version 1.2 or any later version published by the Free Software" +" Foundation, with no invariant sections, front-cover texts, or back-cover" +" texts)." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:124 +msgid "" +"If you contribute new material you thereby agree to release it under the " +"MIT license, and should indicate this by placing MIT on the specially-" +"formatted last line. For example, change" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:130 +msgid "to" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:135 +msgid "" +"Written in [Markdown](https://github.com/adam-p/markdown-here/wiki" +"/Markdown-Cheatsheet) " +"[kramdown](https://kramdown.gettalong.org/syntax.html)" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:8 +msgid "Choosing a compiler" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:10 +msgid "" +"A comprehensive list of available compilers is provided " +"[here]({{site.baseurl}}/compilers). In this guide, we will focus only on " +"those that are free to install and use." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:12 +msgid "" +"Of those listed at the link above, open source and free are GFortran " +"(with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their " +"compilers for free and as of the latest update of this tutorial, " +"NVFortran (NVIDIA) is available only for Linux systems, while Intel " +"oneAPI is available for Linux, Windows and macOS systems. Both are well " +"documented and readers can find detailed information about installing and" +" using them on their websites respectively." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:14 +msgid "" +"In the next chapter, we use GFortran for the tutorial as it is a mature " +"open source compiler. We encourage users to also try other open source " +"and commercial compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:8 +msgid "IDEs" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:10 +msgid "" +"An IDE (Integrated Development Environment) refers to a complete software" +" development environment, where, all those packages that come as external" +" plug-ins in Text-Editors, are already integrated within the software. An" +" IDE is usually optimized towards a specific set of languages. For " +"example it is very common for IDEs to advertise themselves towards either" +" compiled or interpreted languages, or even towards a single language, or" +" depending on the application developed, like scientific or web " +"development. IDEs are recommended for beginner programmers, since it is " +"possible to start coding with minimum effort after installation. However," +" it is quite common, in professional environments, individual developers " +"and teams alike, to choose an IDE for large projects because of some " +"unique features that they may offer over a Text-Editor." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:13 +msgid "" +"A list of popular IDEs that provide good Fortran support is provided in " +"alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:14 +msgid "" +"[AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-" +"ide/): commercial product, cross-platform, comes with Absoft's own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:15 +msgid "" +"[Code::Blocks](http://www.codeblocks.org/): free product, cross-platform " +"and supports multiple compilers. Plenty of tutorials online on how to " +"install it and add a Fortran Compiler. As well as a recent presentation, " +"[here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon)," +" of its capabilities and future prospects at the International Fortran " +"Conference 2020 by its main developer." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:16 +msgid "" +"[Eclipse-Photran](https://marketplace.eclipse.org/content/photran-" +"fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran " +"based on Eclipse and the C/C++ Development Tools*. A free product, cross-" +"platform and supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:17 +msgid "" +"[Geany](https://www.geany.org/): a free product, cross platform and " +"supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:18 +msgid "" +"[NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) " +"is a commercial product, available in Windows and MacOS and supports " +"NAG's own Fortran Compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:19 +msgid "" +"[Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial " +"product, cross-platform, comes with Silverfrost's Fortran FTN95 own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:20 +msgid "" +"[SimplyFortran](https://simplyfortran.com/) is a commercial product, " +"cross-platform with support of the GNU Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:21 +msgid "" +"[Visual Studio](https://visualstudio.microsoft.com/) its *Community " +"Edition 2019* is a free product, available in Windows and macOS and " +"supports only Intel's Fortran compiler, now bundled with many other free-" +"to-use HPC tools under *Intel oneAPI*." +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "choose compiler" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "text editors" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "ides" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "install gfortran" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "tips" +msgstr "" + +#: ../../source/learn/os_setup/index.md:7 +msgid "

" +msgstr "" + +#: ../../source/learn/os_setup/index.md:12 +msgid "" +"*Authors: Stavros Meskos, " +"Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:14 +msgid "" +"*Last update: " +"16-Feb-2021*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:18 +msgid "Setting up your OS" +msgstr "" + +#: ../../source/learn/os_setup/index.md:20 +msgid "" +"In this mini-book we address the very first problem that many new Fortran" +" programmers encounter. Before everything, you will need to choose a " +"compiler and install it. Then you will need a text editor or perhaps an " +"IDE (Integrated Development Environment). There are many options, most of" +" them available in all major OSs (operating systems). However, the " +"process to install and configure them greatly differs between Windows, " +"Linux, and macOS. There are several Fortran compilers. Here, we pick " +"those that meet certain criteria and provide a guide on how to install " +"them in all the aforementioned OSs. A list of popular text editors and " +"IDEs and information on how to choose between them is presented as well." +msgstr "" + +#: ../../source/learn/os_setup/index.md:24 +msgid "" +"If you have already set up your environment, you may skip this tutorial " +"and move forward with the Quickstart Fortran Tutorial to start coding " +"your first `Hello World` program or with the Building programs mini-book " +"to understand how a compiler works." +msgstr "" + +#: ../../source/learn/os_setup/index.md:28 +msgid "" +"*The choice of text editors and IDEs has been controversial among the " +"developers. What you choose is a matter of personal taste. Every solution" +" comes with its own pros and cons. For that reason, in this guide, we " +"will not push the reader towards one or another direction. We will, " +"however, present a list of the most popular tools.*" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:8 +msgid "Installing GFortran" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:10 +msgid "" +"GFortran is the name of the [GNU Fortran " +"project](https://gcc.gnu.org/fortran/). The main " +"[wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links " +"about GFortran, as well as Fortran in general. In this guide, the " +"installation process for GFortran on Windows, Linux, macOS and OpenBSD is" +" presented in a beginner-friendly format based on the information from " +"[GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries)." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:12 +msgid "Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:15 +msgid "" +"Three sources provide quick and easy way to install GFortran compiler on " +"Windows:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:16 +msgid "" +"[http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran)," +" provides 32 and 64-bit x86 executables of the latest (10.2) gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:18 +msgid "" +"[TDM GCC](https://jmeubank.github.io/tdm-" +"gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 " +"executables of the 9.2 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:19 +msgid "" +"[MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides" +" a 64-bit x86 executable of the 8.1.0 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:21 +msgid "" +"In all the above choices, the process is straightforward—just download " +"the installer and follow the installation wizard." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:23 +msgid "Unix-like development on Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:24 +msgid "" +"For those familiar with a unix-like development environment, several " +"emulation options are available on Windows each of which provide packages" +" for gfortran:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:26 +msgid "" +"__Cygwin:__ A runtime environment that provides POSIX compatibility to " +"Windows;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:27 +msgid "" +"__MSYS2:__ A collection of Unix-like development tools, based on modern " +"Cygwin and MinGW-w64;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:28 +msgid "" +"__Windows Subsystem for Linux (WSL):__ An official compatibility layer " +"for running Linux binary executables on Windows. With [Windows Subsystem " +"for Linux GUI](https://github.com/microsoft/wslg) one can run text " +"editors and other graphical programs." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:30 +msgid "" +"All of the above approaches provide access to common shells such as bash " +"and development tools including GNU coreutils, Make, CMake, autotools, " +"git, grep, sed, awk, ssh, etc." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:32 +msgid "" +"We recommend the WSL environment for those looking for a Unix-like " +"development environment on Windows." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:34 +msgid "Linux" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:37 +msgid "Debian-based (Debian, Ubuntu, Mint, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:38 +msgid "Check whether you have gfortran already installed" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:42 +msgid "" +"If nothing is returned then gfortran is not installed. To install " +"gfortran type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:47 +msgid "to check what version was installed type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:51 +msgid "" +"You can install multiple versions up to version 9 by typing the version " +"number immediately after \"gfortran\", e.g.:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:55 +msgid "" +"To install the latest version 10 you need first to add / update the " +"following repository and then install:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:61 +#, python-format +msgid "" +"Finally, you can switch between different versions or set the default one" +" with the **update-alternatives** ([see " +"manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-" +"alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.))." +" There are many online tutorials on how to use this feature. A well " +"structured one using as an example C and C++ can be found " +"[here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g" +"-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the " +"same logic by replacing either `gcc` or `g++` with `gfortran`." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:63 +msgid "RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:68 +msgid "Since Fedora 22, `dnf` is the default package manager for Fedora:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:73 +msgid "Arch-based (Arch Linux, Antergos, Manjaro, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:78 +msgid "macOS" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:79 +msgid "Xcode" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:80 +msgid "If you have Xcode installed, open a terminal window and type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:84 +msgid "Binaries" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:85 +msgid "" +"Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert" +"/gfortran-for-macOS/releases) to directly install binaries." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:86 +msgid "Homebrew" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:90 +msgid "Fink" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:91 +msgid "" +"GNU-gcc Package " +"[link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:92 +msgid "MacPorts" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:93 +msgid "Search for available gcc versions:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:97 +msgid "Install a gcc version:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:102 +msgid "OpenBSD" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:107 +msgid "" +"On OpenBSD, the GFortran executable is named `egfortran`. To test it, " +"type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:113 +msgid "OpenCoarrays" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:115 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software " +"project that produces an application binary interface (ABI) used by the " +"GNU Compiler Collection (GCC) Fortran front-end to build executable " +"programs that leverage the parallel programming features of Fortran 2018." +" Since OpenCoarrays is not a separate compiler, we include it here, under" +" gfortran." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:117 +msgid "" +"While with gfortran you can compile perfectly valid code using coarrays, " +"the generated binaries will only run in a single image (_image_ is a " +"Fortran term for a parallel process), that is, in serial mode. " +"OpenCoarrays allows running code in parallel on shared- and distributed-" +"memory machines, similar to MPI:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:122 +msgid "" +"The process of installation is provided in a clear and comprehensive " +"manner on the official site." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:124 +msgid "" +"We emphasize that native installation on Windows is not possible. It is " +"only possible through WSL." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:8 +msgid "Text Editors" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:10 +msgid "" +"After you have installed your compiler, you will need a text editor to " +"write your code. Any text editor can serve this purpose, even the built-" +"in Notepad on Windows. However, there are specialized editors for " +"programming languages. These editors come with many useful features like " +"auto-complete, syntax-highlighting, auto-indentation, brace-matching, and" +" many more, with few of them pre-installed and the majority in form of " +"external plug-ins. This means that by default these features are not " +"installed in the editor, but it's up to you to search for them through a " +"package manager and install and configure them manually." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:12 +msgid "" +"Here's a list of the most popular text editors that support Fortran " +"syntax, in alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:13 +msgid "[Atom](https://atom.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:14 +msgid "[Emacs](https://www.gnu.org/software/emacs/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:15 +msgid "[NotePad++](https://notepad-plus-plus.org/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:16 +msgid "[SublimeText](https://www.sublimetext.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:17 +msgid "[Vim](https://www.vim.org/) and [Neovim](https://neovim.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:18 +msgid "[Visual Studio Code](https://code.visualstudio.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:20 +msgid "" +"A comprehensive list with more choices is provided in " +"[fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:22 +msgid "Things to consider before choosing a text editor:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:23 +msgid "" +"**Ergonomics:** This is purely subjective and concerns how easy, " +"uninterrupted the UI (User Interface) feels to the developer while using " +"the editor." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:24 +msgid "" +"**Extensibility:** As mentioned above, text editors come with many " +"features as external packages. The variety, the installation process, the" +" documentation, and user-friendliness of the packages all fall under this" +" category." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:25 +msgid "" +"**Speed:** With how powerful modern hardware can be, the speed of editors" +" is becoming of minor importance. However, for the less powerful systems," +" you may want to consider this as well. Heavyweight editors may impact " +"the writing performance. For example, you can expect Atom and VSCode to " +"run slower than the lightweight editors like Vim or Emacs." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:26 +msgid "" +"**Learning curve:** Last but not least, new users should consider how " +"easy it is to get used to a new editor. Vim and Emacs have a steep " +"learning curve and are notoriously difficult for newcomers. They offer a " +"uniquely different experience than any other editor by forcing you to use" +" the keyboard for all editing tasks." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:28 +msgid "Configuring VS Code" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:30 +msgid "" +"With the editor opened, at the main UI, at the buttoned-column on the " +"left, there is a *four-square-shaped* icon to open the Marketplace for " +"extensions. Install [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm" +".linter-gfortran) for syntax highlighting, linting and Language Server " +"support and formatting." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:33 +msgid "Additional Tools" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:35 +msgid "" +"The following extensions are not essential but most users might find them" +" useful:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:37 +msgid "" +"[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)" +" for advanced Git visualization and operations." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:38 +msgid "" +"[CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode" +".cmake-tools) for full-featured CMake integration in VS Code." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:39 +msgid "" +"[Remote Development](https://marketplace.visualstudio.com/items?itemName" +"=ms-vscode-remote.vscode-remote-extensionpack) for working with " +"containers, on a remote machines, or in the Windows Subsystem for Linux " +"(WSL)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:40 +msgid "" +"[Even Better TOML by " +"tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe" +".even-better-toml). For Fortran developers that are using the new " +"[fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a " +"TOML language support might come in handy." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:42 +msgid "Configuring SublimeText" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:44 +msgid "" +"A well structured gist that provides instructions on how to set up " +"SublimeText for Fortran developement is given " +"[here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:46 +msgid "Configuring Atom" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:48 +msgid "" +"Atom's configuration process is similar to VSCode one. At the main " +"interface, if the *Welcome Guide* page is already opened for you, just " +"click the **Install a Package** option, otherwise you can find the same " +"option through the navigation bar at the top by clicking *Packages*. In " +"doing so a new page under *Settings* opens where you can just start " +"typing the package you want to install." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:50 +msgid "" +"One package that includes many Fortran features is [IDE-FORTRAN by " +"hansec](https://atom.io/packages/ide-fortran). It needs the following " +"packages to be installed:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:51 +msgid "[atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:52 +msgid "[language-fortran by dparkins](https://atom.io/packages/language-fortran)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:54 +msgid "" +"Additionally just like in VSCode it needs " +"[Python](https://www.python.org/) and [Fortran Language " +"Server](https://github.com/hansec/fortran-language-server) to be " +"installed." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:56 +msgid "" +"For version control a very popular package is [Git-Plus by " +"akonwi](https://atom.io/packages/git-plus)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:8 +msgid "Smart Tips" +msgstr "" + +#: ../../source/learn/os_setup/tips.md:10 +msgid "" +"To conclude, we give a few tips that may help you to choose a compiler " +"and an editor or an IDE." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:12 +msgid "" +"Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) " +"for a comprehensive comparison of Fortran compilers." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:13 +msgid "" +"Since NVFortran version 17.1, the support for compute capability 2.0 " +"(Fermi) and lower has been removed. This is important because, at any " +"time, only the latest compiler version is free to download. Users with " +"older GPUs will not be able to run CUDA Fortran with the current (20.7) " +"or future versions. Read [this " +"wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your " +"GPU's compute capability and cross-check with the latest CUDA SDK that " +"supports it." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:14 +msgid "" +"There are many online Fortran compilers. These are websites that offer a " +"basic text editor and allow you to compile and run your code on a remote " +"server. They are particularly useful for quick prototyping and testing. " +"Although we promised neutrality, we recommend that you check out the " +"open-source and free [Compiler Explorer](https://godbolt.org/), an " +"amazing tool with unique features." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:15 +msgid "" +"Arguably the most popular text editor, according to recent online " +"surveys, is the Visual Studio Code, developed by Microsoft." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:16 +msgid "" +"The most popular free IDEs are the Code::Blocks and Geany. Many " +"commercial IDEs give up to 30 days of free trial. Keep in mind that the " +"prices of commercial IDEs may vary, and some may be quite affordable. " +"Finally, if you are a student, an open-source developer, or a …hobbyist " +"*Fortraner* do not hesitate to contact those companies and request a " +"discount. There have been cases, e.g., in r/fortran, where " +"representatives, from at least one company, have offered discount codes " +"to individuals looking for affordable complete solutions (IDE + " +"compiler)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:17 +msgid "" +"Finally, please join us on [Fortran Discourse](https://fortran-" +"lang.discourse.group/) and do not hesitate to post your questions and " +"request for further information." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:9 +msgid "" +"More often than not, we need to store and operate on long lists of " +"numbers as opposed to just the single scalar variables that we have been " +"using so far; in computer programming such lists are called _arrays_." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:12 +msgid "" +"Arrays are _multidimensional_ variables that contain more than one value " +"where each value is accessed using one or more indices." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:15 +msgid "" +"Arrays in Fortran are _one-based_ by default; this means that the first " +"element along any dimension is at index 1." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:19 +msgid "Array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:21 +msgid "" +"We can declare arrays of any type. There are two common notations for " +"declaring array variables: using the `dimension` attribute or by " +"appending the array dimensions in parentheses to the variable name." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:24 +msgid "__Example:__ static array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:45 +msgid "Array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:47 +msgid "" +"A powerful feature of the Fortran language is its built-in support for " +"array operations; we can perform operations on all or part of an array " +"using array _slicing_ notation:" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:50 +msgid "__Example:__ array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:72 +msgid "" +"Fortran arrays are stored in _column-major_ order; the first index varies" +" fastest." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:75 +msgid "Allocatable (dynamic) arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:77 +msgid "" +"So far we have specified the size of our array in our program code---this" +" type of array is known as a _static_ array since its size is fixed when " +"we compile our program." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:81 +msgid "" +"Quite often, we do not know how big our array needs to be until we run " +"our program, for example, if we are reading data from a file of unknown " +"size." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:83 +msgid "" +"For this problem, we need `allocatable` arrays. These are _allocated_ " +"while the program is running once we know how big the array needs to be." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:86 +msgid "__Example:__ allocatable arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:105 +msgid "" +"Allocatable local arrays are deallocated automatically when they go out " +"of scope." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:109 +msgid "Character strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:112 +msgid "__Example:__ static character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:132 +msgid "__Example:__ allocatable character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:153 +msgid "Array of strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:155 +msgid "" +"An array of strings can be expressed in Fortran as an array of " +"`character` variables. All elements in a `character` array have equal " +"length. However, strings of varying lengths can be provided as input to " +"the array constructor, as shown in the example below. They will be " +"truncated or right-padded with spaces if they are longer or shorter, " +"respectively, than the declared length of the `character` array. Finally," +" we use the intrinsic function `trim` to remove any excess spaces when " +"printing the values to the standard output." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:162 +msgid "__Example:__ string array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:6 +msgid "Derived Types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:7 +msgid "" +"As discussed previously in [Variables](variables), there are five built-" +"in data types in Fortran. A _derived type_ is a special form of data type" +" that can encapsulate other built-in types as well as other derived " +"types. It could be considered equivalent to _struct_ in the C and C++ " +"programming languages." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:9 +msgid "A quick take on derived types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:11 +msgid "Here's an example of a basic derived type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:20 +msgid "" +"The syntax to create a variable of type `t_pair` and access its members " +"is:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:29 +msgid "The percentage symbol `%` is used to access the members of a derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:31 +msgid "" +"In the above snippet, we declared an instance of a derived type and " +"initialized its members explicitly. You can also initialize derived type " +"members by invoking the derived type constructor." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:35 +msgid "Example using the derived type constructor:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:42 +msgid "Example with default initialization:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:55 +msgid "Derived types in detail" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:57 +msgid "" +"The full syntax of a derived type with all optional properties is " +"presented below:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:69 +msgid "Options to declare a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:71 +msgid "`attribute-list` may refer to the following:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:73 +msgid "_access-type_ that is either `public` or `private`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:74 +msgid "`bind(c)` offers interoperability with C programming language" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:75 +msgid "" +"`extends(`_parent_`)`, where _parent_ is the name of a previously " +"declared derived type from which the current derived type will inherit " +"all its members and functionality" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:76 +msgid "" +"`abstract` -- an object oriented feature that is covered in the advanced " +"programming tutorial" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:78 +msgid "" +"If the attribute `bind(c)` or the statement `sequence` is used, then a " +"derived type cannot have the attribute `extends` and vice versa." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:80 +msgid "" +"The `sequence` attribute may be used only to declare that the following " +"members should be accessed in the same order as they are defined within " +"the derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:82 +msgid "Example with `sequence`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:93 +msgid "" +"The use of the statement `sequence` presupposes that the data types " +"defined below are neither of `allocatable` nor of `pointer` type. " +"Furthermore, it does not imply that these data types will be stored in " +"memory in any particular form, i.e., there is no relation to the " +"`contiguous` attribute." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:95 +msgid "" +"The _access-type_ attributes `public` and `private`, if used, declare " +"that all member-variables declared below will be automatically assigned " +"the attribute accordingly." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:97 +msgid "" +"The attribute `bind(c)` is used to achieve compatibility between " +"Fortran's derived type and C's struct." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:99 +msgid "Example with `bind(c)`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:111 +msgid "matches the following C struct type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:117 +msgid "" +"A fortran derived type with the attribute `bind(c)` cannot have the " +"`sequence` and `extends` attributes. Furthermore it cannot contain any " +"Fortran `pointer` or `allocatable` types." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:119 +msgid "" +"`parameterized-declaration-list` is an optional feature. If used, then " +"the parameters must be listed in place of `[parameterized-definition-" +"statements]` and must be either `len` or `kind` parameters or both." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:121 +msgid "" +"Example of a derived type with `parameterized-declaration-list` and with " +"the attribute `public`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:143 +msgid "" +"In this example the parameter `k` has already been assigned a default " +"value of `kind(0.0)` (single-precision floating-point). Therefore, it can" +" be omitted, as is the case here in the declaration inside the main " +"program." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:145 +msgid "" +"By default, derived types and their members are public. However, in this " +"example, the attribute `private` is used at the beginning of the module. " +"Therefore, everything within the module will be by default `private` " +"unless explicitly declared as `public`. If the type `t_matrix` was not " +"given the attribute `public` in the above example, then the compiler " +"would throw an error inside `program test`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:147 +msgid "" +"The attribute `extends` was added in the F2003 standard and introduces an" +" important feature of the object oriented paradigm (OOP), namely " +"inheritance. It allows code reusability by letting child types derive " +"from extensible parent types: `type, extends(parent) :: child`. Here, " +"`child` inherits all the members and functionality from `type :: parent`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:149 +msgid "Example with the attribute `extends`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:209 +msgid "Options to declare members of a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:211 +msgid "" +"`[member-variables]` refers to the declaration of all the member data " +"types. These data types can be of any built-in data type, and/or of other" +" derived types, as already showcased in the above examples. However, " +"member-variables can have their own extensive syntax, in form of: `type " +"[,member-attributes] :: name[attr-dependent-spec][init]`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:214 +msgid "`type`: any built-in type or other derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:216 +msgid "`member-attributes` (optional):" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:218 +msgid "`public` or `private` access attributes" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:219 +msgid "`protected` access attribute" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:220 +msgid "`allocatable` with or without `dimension` to specify a dynamic array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:221 +msgid "`pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:223 +msgid "Examples of common cases:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:245 +msgid "" +"The following attributes: `pointer`, `codimension`, `contiguous`, " +"`volatile`, `asynchronous` are advanced features that will not be " +"addressed in the *Quickstart* tutorial. However, they are presented here," +" in order for the readers to know that these features do exist and be " +"able to recognize them. These features will be covered in detail in the " +"upcoming *Advanced programing* mini-book." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:247 +msgid "Type-bound procedures" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:249 +msgid "" +"A derived type can contain functions or subroutines that are *bound* to " +"it. We'll refer to them as _type-bound procedures_. Type-bound procedures" +" follow the `contains` statement that, in turn, follows all member " +"variable declarations." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:251 +msgid "" +"It is impossible to describe type-bound procedures in full without " +"delving into OOP features of modern Fortran. For now we'll focus on a " +"simple example to show their basic use." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:253 +msgid "Here's an example of a derived type with a basic type-bound procedure:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:296 +msgid "What is new:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:298 +msgid "" +"`self` is an arbitrary name that we chose to represent the instance of " +"the derived type `t_square` inside the type-bound function. This allows " +"us to access its members and to automatically pass it as an argument when" +" we invoke a type-bound procedure." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:299 +msgid "" +"We now use `class(t_square)` instead of `type(t_square)` in the interface" +" of the `area` function. This allows us to invoke the `area` function " +"with any derived type that extends `t_square`. The keyword `class` " +"introduces the OOP feature polymorphism." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:301 +msgid "" +"In the above example, the type-bound procedure `area` is defined as a " +"function and can be invoked only in an expression, for example `x = " +"sq%area()` or `print *, sq%area()`. If you define it instead as a " +"subroutine, you can invoke it from its own `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:319 +msgid "" +"In contrast to the example with the type-bound function, we now have two " +"arguments:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:321 +msgid "" +"`class(t_square), intent(in) :: self` -- the instance of the derived type" +" itself" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:322 +msgid "" +"`real, intent(out) :: x` -- used to store the calculated area and return " +"to the caller" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:7 +msgid "" +"In this part of the tutorial, we will write our first Fortran program: " +"the ubiquitous [\"Hello, " +"World!\"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) " +"example." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:10 +msgid "" +"However, before we can write our program, we need to ensure that we have " +"a Fortran compiler set up." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:13 +msgid "" +"Fortran is a *compiled language*, which means that, once written, the " +"source code must be passed through a compiler to produce a machine " +"executable that can be run." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:17 +msgid "Compiler setup" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:19 +msgid "" +"In this tutorial, we'll work with the free and open source [GNU Fortran " +"compiler (gfortran)](https://gcc.gnu.org/fortran/), which is part of the" +" [GNU Compiler Collection (GCC)](https://gcc.gnu.org/)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:24 +msgid "" +"To install gfortran on Linux, use your system package manager. On macOS, " +"you can install gfortran using [Homebrew](https://brew.sh/) or " +"[MacPorts](https://www.macports.org/). On Windows, you can get native " +"binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:28 +msgid "" +"To check if you have _gfortran_ setup correctly, open a terminal and run " +"the following command:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:34 +msgid "this should output something like:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:43 +msgid "Hello world" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:45 +msgid "" +"Once you have set up your compiler, open a new file in your favourite " +"code editor and enter the following:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:54 +msgid "" +"Having saved your program to `hello.f90`, compile at the command line " +"with:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:59 +msgid "" +"`.f90` is the standard file extension for modern Fortran source files. " +"The 90 refers to the first modern Fortran standard in 1990." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:62 +msgid "To run your compiled program:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:68 +msgid "" +"Congratulations, you've written, compiled and run your first Fortran " +"program! In the next part of this tutorial, we will introduce variables " +"for storing data." +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "arrays strings" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "hello world" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "operators control_flow" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "variables" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "derived types" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "organising code" +msgstr "" + +#: ../../source/learn/quickstart/index.md:7 +msgid "Quickstart" +msgstr "" + +#: ../../source/learn/quickstart/index.md:9 +msgid "" +"This quickstart tutorial gives an overview of the Fortran programming " +"language and its syntax for common structured programming concepts " +"including: types, variables, arrays, control flow and functions." +msgstr "" + +#: ../../source/learn/quickstart/index.md:13 +msgid "" +"The contents of this tutorial are shown in the navigation bar on the left" +" with the current page highlighted bold." +msgstr "" + +#: ../../source/learn/quickstart/index.md:15 +msgid "" +"Use the _Next_ button at the bottom to start the tutorial with a _Hello " +"World_ example." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:7 +msgid "" +"One of the powerful advantages of computer algorithms, compared to simple" +" mathematical formulae, comes in the form of program _branching_ whereby " +"the program can decide which instructions to execute next based on a " +"logical condition." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:11 +msgid "There are two main forms of controlling program flow:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:13 +msgid "" +"_Conditional_ (if): choose program path based on a boolean (true or " +"false) value" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:15 +msgid "_Loop_: repeat a portion of code multiple times" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:19 +msgid "Logical operators" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:20 +msgid "" +"Before we use a conditional branching operator, we need to be able to " +"form a logical expression." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:23 +msgid "" +"To form a logical expression, the following set of relational operators " +"are available:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Operator  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Alternative  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Description" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`==`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eq.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests for equality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`/=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ne.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Test for inequality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`> `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.gt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly greater than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`< `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.lt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly less than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`>=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ge.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is greater than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`<=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.le.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is less than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:36 +msgid "as well as the following logical operators:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.and.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if both left and right operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.or.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if either left or right or both operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.not.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if right operand is FALSE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has same logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.neqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has the opposite logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:49 +msgid "Conditional construct (`if`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:51 +msgid "" +"In the following examples, a conditional `if` construct is used to print " +"out a message to describe the nature of the `angle` variable:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:54 +msgid "__Example:__ single branch `if`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:62 +msgid "" +"In this first example, the code within the `if` construct is _only " +"executed if_ the test expression (`angle < 90.0`) is true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:66 +msgid "" +"It is good practice to indent code within constructs such as `if` and " +"`do` to make code more readable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:70 +#, python-format +msgid "" +"{% include tip.html content=\"It is good practice to indent code within " +"constructs such as `if` and `do` to make code more readable.\" %}" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:73 +msgid "" +"We can add an alternative branch to the construct using the `else` " +"keyword:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:75 +msgid "__Example:__ two-branch `if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:85 +msgid "" +"Now there are two _branches_ in the `if` construct, but _only one branch " +"is executed_ depending on the logical expression following the `if` " +"keyword." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:88 +msgid "" +"We can actually add any number of branches using `else if` to specify " +"more conditions:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:90 +msgid "__Example:__ multi-branch `if`-`else if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:101 +msgid "" +"When multiple conditional expressions are used, each conditional " +"expression is tested only if none of the previous expressions have " +"evaluated to true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:104 +msgid "Loop constructs (`do`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:106 +msgid "" +"In the following example, a `do` loop construct is used to print out the " +"numbers in a sequence. The `do` loop has an integer _counter_ variable " +"which is used to track which iteration of the loop is currently " +"executing. In this example we use a common name for this counter " +"variable: `i`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:111 +msgid "" +"When we define the start of the `do` loop, we use our counter variable " +"name followed by an equals (`=`) sign to specify the start value and " +"final value of our counting variable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:114 +msgid "__Example:__ `do` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:124 +msgid "__Example:__ `do` loop with skip" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:134 +msgid "Conditional loop (`do while`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:136 +msgid "" +"A condition may be added to a `do` loop with the `while` keyword. The " +"loop will be executed while the condition given in `while()` evaluates to" +" `.true.`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:139 +msgid "__Example:__ `do while()` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:152 +msgid "Loop control statements (`exit` and `cycle`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:154 +msgid "" +"Most often than not, loops need to be stopped if a condition is met. " +"Fortran provides two executable statements to deal with such cases." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:157 +msgid "" +"`exit` is used to quit the loop prematurely. It is usually enclosed " +"inside an `if`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:159 +msgid "__Example:__ loop with `exit`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:173 +msgid "" +"On the other hand, `cycle` skips whatever is left of the loop and goes " +"into the next cycle." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:175 +msgid "__Example:__ loop with `cycle`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:189 +msgid "" +"When used within nested loops, the `cycle` and `exit` statements operate " +"on the innermost loop." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:192 +msgid "Nested loop control: tags" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:194 +msgid "" +"A recurring case in any programming language is the use of nested loops. " +"Nested loops refer to loops that exist within another loop. Fortran " +"allows the programmer to _tag_ or _name_ each loop. If loops are tagged, " +"there are two potential benefits:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:195 +msgid "" +"The readability of the code may be improved (when the naming is " +"meaningful)." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:196 +msgid "" +"`exit` and `cycle` may be used with tags, which allows for very fine-" +"grained control of the loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:198 +msgid "__Example:__ tagged nested loops" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:213 +msgid "Parallelizable loop (`do concurrent`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:215 +msgid "" +"The `do concurrent` loop is used to explicitly specify that the _inside " +"of the loop has no interdependencies_; this informs the compiler that it " +"may use parallelization/_SIMD_ to speed up execution of the loop and " +"conveys programmer intention more clearly. More specifically, this means " +"that any given loop iteration does not depend on the prior execution of " +"other loop iterations. It is also necessary that any state changes that " +"may occur must only happen within each `do concurrent` loop. These " +"requirements place restrictions on what can be placed within the loop " +"body." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:221 +msgid "" +"Simply replacing a `do` loop with a `do concurrent` does not guarantee " +"parallel execution. The explanation given above does not detail all the " +"requirements that need to be met in order to write a correct `do " +"concurrent` loop. Compilers are also free to do as they see fit, meaning " +"they may not optimize the loop (e.g., a small number of iterations doing " +"a simple calculation, like the >below example). In general, compiler " +"flags are required to activate possible parallelization for `do " +"concurrent` loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:227 +msgid "__Example:__ `do concurrent()` loop" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:6 +msgid "Organising Code" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:8 +msgid "" +"Most programming languages allow you to collect commonly-used code into " +"_procedures_ that can be reused by _calling_ them from other sections of " +"code." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:11 +msgid "Fortran has two forms of procedure:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:13 +msgid "__Subroutine__: invoked by a `call` statement" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:14 +msgid "" +"__Function__: invoked within an expression or assignment to which it " +"returns a value" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:16 +msgid "" +"Both subroutines and functions have access to variables in the parent " +"scope by _argument association_; unless the `value` attribute is " +"specified, this is similar to call by reference." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:19 +msgid "Subroutines" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:21 +msgid "" +"The subroutine input arguments, known as _dummy arguments_, are specified" +" in parentheses after the subroutine name; the dummy argument types and " +"attributes are declared within the body of the subroutine just like local" +" variables." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:24 +#: ../../source/learn/quickstart/organising_code.md:118 +#: ../../source/learn/quickstart/variables.md:134 +msgid "__Example:__" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:44 +msgid "" +"Note the additional `intent` attribute when declaring the dummy " +"arguments; this optional attribute signifies to the compiler whether the " +"argument is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) " +"or ''read-write'' (`intent(inout)`) within the procedure. In this " +"example, the subroutine does not modify its arguments, hence all " +"arguments are `intent(in)`." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:48 +msgid "" +"It is good practice to always specify the `intent` attribute for dummy " +"arguments; this allows the compiler to check for unintentional errors and" +" provides self-documentation." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:52 +msgid "We can call this subroutine from a program using a `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:66 +msgid "" +"This example uses a so-called _explicit-shape_ array argument since we " +"have passed additional variables to describe the dimensions of the array " +"`A`; this will not be necessary if we place our subroutine in a module as" +" described later." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:70 +msgid "Functions" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:84 +msgid "In production code, the intrinsic function `norm2` should be used." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:86 +msgid "To execute this function:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:102 +msgid "" +"It is good programming practice for functions not to modify their " +"arguments---that is, all function arguments should be `intent(in)`. Such " +"functions are known as `pure` functions. Use subroutines if your " +"procedure needs to modify its arguments." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:107 +msgid "Modules" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:109 +msgid "" +"Fortran modules contain definitions that are made accessible to programs," +" procedures, and other modules through the `use` statement. They can " +"contain data objects, type definitions, procedures, and interfaces." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:112 +msgid "" +"Modules allow controlled scoping extension whereby entity access is made " +"explicit" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:113 +msgid "" +"Modules automatically generate explicit interfaces required for modern " +"procedures" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:115 +msgid "" +"It is recommended to always place functions and subroutines within " +"modules." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:147 +msgid "" +"Compare this `print_matrix` subroutine with that written outside of a " +"module we no longer have to explicitly pass the matrix dimensions and can" +" instead take advantage of _assumed-shape_ arguments since the module " +"will generate the required explicit interface for us. This results in a " +"much simpler subroutine interface." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:152 +msgid "To `use` the module within a program:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:167 +msgid "__Example:__ explicit import list" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:173 +msgid "__Example:__ aliased import" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:179 +msgid "" +"Each module should be written in a separate `.f90` source file. Modules " +"need to be compiled prior to any program units that `use` them." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:7 +msgid "" +"Variables store information that can be manipulated by the program. " +"Fortran is a _strongly typed_ language, which means that each variable " +"must have a type." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:11 +msgid "There are 5 built-in data types in Fortran:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:13 +msgid "`integer` -- for data that represent whole numbers, positive or negative" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:14 +msgid "`real` -- for floating-point data (not a whole number)" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:15 +msgid "`complex` -- pair consisting of a real part and an imaginary part" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:16 +msgid "`character` -- for text data" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:17 +msgid "`logical` -- for data that represent boolean (true or false) values" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:19 +msgid "" +"Before we can use a variable, we must _declare_ it; this tells the " +"compiler the variable type and any other variable attributes." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:22 +msgid "" +"Fortran is a _statically typed_ language, which means the type of each " +"variable is fixed when the program is compiled---variable types cannot " +"change while the program is running." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:25 +msgid "Declaring variables" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:27 +msgid "The syntax for declaring variables is:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:33 +msgid "" +"where `` is one of the built-in variable types listed " +"above and `` is the name that you would like to call your " +"variable." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:36 +msgid "" +"Variable names must start with a letter and can consist of letters, " +"numbers and underscores. In the following example we declare a variable " +"for each of the built-in types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:39 +msgid "__Example:__ variable declaration" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:54 +msgid "" +"Fortran code is __case-insensitive__; you don't have to worry about the " +"capitalisation of your variable names, but it's good practice to keep it " +"consistent." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:57 +msgid "" +"Note the additional statement at the beginning of the program: `implicit " +"none`. This statement tells the compiler that all variables will be " +"explicitly declared; without this statement variables will be implicitly" +" typed according to the letter they begin with." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:61 +msgid "" +"Always use the `implicit none` statement at the beginning of each program" +" and procedure. Implicit typing is considered bad practice in modern " +"programming since it hides information leading to more program errors." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:66 +msgid "" +"Once we have declared a variable, we can assign and reassign values to it" +" using the assignment operator `=`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:68 +msgid "__Example:__ variable assignment" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:78 +msgid "Characters are surrounded by either single (`'`) or double quotes (`\"`)." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:80 +msgid "Logical or boolean values can be either `.true.` or `.false.`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:82 +msgid "" +"Watch out\" content=\"for assignment at declaration: `integer :: amount =" +" 1`. __This is NOT a normal initialisation;__ it implies the `save` " +"attribute which means that the variable retains its value between " +"procedure calls. Good practice is to initialise your variables separately" +" to their declaration." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:87 +msgid "Standard input / output" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:89 +msgid "" +"In our _Hello World_ example, we printed text to the command window. This" +" is commonly referred to as writing to `standard output` or `stdout`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:92 +msgid "" +"We can use the `print` statement introduced earlier to print variable " +"values to `stdout`:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:102 +msgid "" +"In a similar way, we can read values from the command window using the " +"`read` statement:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:118 +msgid "This input source is commonly referred to as `standard input` or `stdin`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:121 +msgid "Expressions" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:122 +msgid "" +"The usual set of arithmetic operators are available, listed in order or " +"precedence:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`**`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Exponent" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`*`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Multiplication" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`/ `" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Division" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`+`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Addition" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`-`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Subtraction" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:170 +msgid "Floating-point precision" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:172 +msgid "" +"The desired floating-point precision can be explicitly declared using a " +"`kind` parameter. The `iso_fortran_env` intrinsic module provides `kind` " +"parameters for the common 32-bit and 64-bit floating-point types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:175 +msgid "__Example:__ explicit real `kind`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:190 +msgid "Always use a `kind` suffix for floating-point literal constants." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:192 +msgid "__Example:__ C-interoperable `kind`s" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:204 +msgid "" +"In the next part we will learn how to use arrays for storing more than " +"one value in a variable." +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/news.po b/locale/fr/LC_MESSAGES/news.po new file mode 100644 index 000000000..8440304f9 --- /dev/null +++ b/locale/fr/LC_MESSAGES/news.po @@ -0,0 +1,13945 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/news.rst:2 +msgid "News - The Fortran Programming Language" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:8 +msgid "" +"The J3 Fortran Committee meeting took place in Las Vegas, NV, on February" +" 24-28, 2020." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:11 +msgid "Attendance" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:13 +msgid "The following people / companies attended:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:15 +msgid "Voting members:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:17 +msgid "Intel: Jon Steidel" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:18 +msgid "HPE/Cray: Bill Long" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:19 +msgid "NVIDIA: Peter Klausler, Gary Klimowicz" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:20 +msgid "IBM: Daniel Chen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:21 +msgid "ARM: Srinath Vadlamani" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:22 +msgid "NCAR: Dan Nagle, Magne Haveraaen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:23 +msgid "NASA: Tom Clune" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:24 +msgid "JPL: Van Sneider" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:25 +msgid "LANL: Zach Jibben, Ondřej Čertík" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:26 +msgid "ORNL: Reuben Budiardja" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:27 +msgid "LBNL: Brian Friesen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:28 +msgid "Sandia: Damian Rouson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:29 +msgid "Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:30 +msgid "Corbett: Bob Corbett" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:32 +msgid "Others:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:34 +msgid "AMD: Richard Bleikamp" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:35 +msgid "WG23: Stephen Michell (convenor), Erhard Ploedereder (member)" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:36 +msgid "Structural Integrity: Brad Richardson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:38 +msgid "Proposals Discussed at Plenary" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:40 +msgid "Monday 2/24" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:42 +msgid "Tuesday 2/25" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:44 +msgid "" +"[#22] : Default values of optional arguments " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:46 +msgid "Wednesday 2/26" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:48 +msgid "" +"[#157] : Rank-agnostic array element and section denotation " +"(, " +")" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:49 +msgid "" +"[#158] : TYPEOF and CLASSOF " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:50 +msgid "" +"[#1] : Namespace for modules " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:51 +msgid "" +"Interpretation: FORM TEAM and failed images " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:52 +msgid "" +"Interpretation: Collective subroutines and STAT= " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:54 +msgid "Thursday 2/27" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:56 +msgid "" +"Interpretation: events that cause variables to become undefined " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:57 +msgid "" +"Edits for SIMPLE procedures " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:58 +msgid "BFLOAT16 ()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:59 +msgid "" +"[#146] : Interpretation: allocatable component finalization " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:61 +msgid "Friday 2/28" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:63 +msgid "" +"[#157] : Rank-agnostic syntax " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:64 +msgid "" +"[#156] : Protected components " +"(). Withdrawn to address " +"conflicting interests." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:65 +msgid "" +"[#160] : Edits for auto-allocate characters " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:66 +msgid "" +"Edits for procedure pointer association " +"(). Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:67 +msgid "" +"[#157] : Edits for rank-agnostic bounds " +"(). Withdrawn because some" +" edits were missing and need to be added. There were concerns about " +"fitting into the framework of generics later on." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:68 +msgid "" +"[#157] : Edits for rank-agnostic array element and section denotation " +"(). Failed (5 v 7). " +"Missing edits, and disagreement on types vs rank-1 integers, the options " +"need to be explored more." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:69 +msgid "" +"[#157] : Edits for rank-agnostic allocation and pointer assignment " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:70 +msgid "" +"Interpretation: Public namelist and private variable " +"(). Straw vote (0 yes, 8 " +"no, 9 undecided). Passed unanimously with \"no\" alternative." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:71 +msgid "" +"Interpretation F18/015 ()." +" Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:74 +msgid "Skipped" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:76 +msgid "This was on the plan but we did not get to it:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:78 +msgid "" +"[#5] : US 27 POINTER dummy arguments, INTENT, and target modification " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:79 +msgid "[#19] : Short-circuiting proposal" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:81 +msgid "More Details" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:83 +msgid "" +"More details available at [j3-fortran/fortran_proposals " +"#155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at " +"the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt)" +" from the meeting." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:8 +msgid "" +"FortranCon 2020, the first international conference targeting the Fortran" +" programming language, will take place on July 2-4, 2020, in Zürich, " +"Switzerland." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:13 +msgid "" +"FortranCon aims to bring together developers of Fortran libraries, " +"applications, and language itself to share their experience and ideas. " +"The conference is organized in two full days of speaker presentations on" +" July 2 and 3, and a half-day workshop with lectures and hands-on " +"sessions on July 4. Click " +"[here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit an " +"abstract." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:21 +msgid "" +"The keynote presentation will be delivered by Steve Lionel " +"([@doctorfortran](https://twitter.com/doctorfortran)), convener of the " +"US Fortran Standards Committee." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:25 +msgid "" +"The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/)" +" is **free of charge**, with June 1, 2020 as the deadline. Virtual " +"participation will be enabled for speakers and attendees unable to " +"travel." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:30 +msgid "" +"Read more about FortranCon 2020 " +"[here](https://tcevents.chem.uzh.ch/event/12/)." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:8 +msgid "" +"Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and " +"Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) " +"spoke yesterday about the future of Fortran in Episode 40 of the Open " +"Source Directions Webinar. We discussed the current state of the " +"language, how it's currently developed, and what we can do today to " +"build the Fortran community, ecosystem of packages, and developer tools." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:16 +msgid "Watch the episode now:" +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:20 +msgid "" +"Special thanks to our hosts Melissa Mendonça " +"([@melissawm](https://twitter.com/melissawm)) and Madicken Munk " +"([@munkium](https://twitter.com/munkium)), as well as " +"[OpenTeams](https://openteams.com) and " +"[QuanSight](https://www.quansight.com/) for having us." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:26 +msgid "" +"You can find all previous episodes of the Open Source Directions webinar" +" [here](https://www.quansight.com/open-source-directions)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:13 +msgid "" +"Welcome to the first monthly Fortran newsletter. It will come out on the " +"first calendar day of every month, detailing Fortran news from the " +"previous month." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:17 +msgid "[This website](#this-website)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:18 +msgid "[Standard Library](#standard-library)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:19 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:16 +msgid "[Package Manager](#package-manager)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:20 +msgid "[WG5 Convenor candidates](#wg5-convenor-candidates)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:21 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:17 +msgid "[Events](#events)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:22 +msgid "[Who's hiring?](#whos-hiring)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:24 +msgid "This website" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:26 +msgid "" +"If you came to this newsletter from elsewhere, welcome to the new Fortran" +" website. We built this site mid-April and hope for it to be _the_ home " +"of Fortran on the internet, which traditionally there hasn't been any to " +"date. Look around and [let us know](https://github.com/fortran-lang" +"/fortran-lang.github.io/issues) if you have any suggestions for " +"improvement. Specifically, [Learn](/learn) and [Packages](/packages) are " +"the pages that we'll be focusing on in the coming months. Please help " +"us make them better!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:35 +msgid "Standard Library" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:37 +msgid "Here's what's new in Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:39 +msgid "" +"[#172](https://github.com/fortran-lang/stdlib/pull/172) New function " +"`cov` in the `stdlib_experimental_stats` module to compute covariance of " +"array elements. Read the full specification [here](https://github.com" +"/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov" +"---covariance-of-array-elements)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:43 +msgid "" +"[#168](https://github.com/fortran-lang/stdlib/pull/168) Specify " +"recommended order of attributes for dummy arguments in the [Stdlib style" +" guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:47 +msgid "[#173](https://github.com/fortran-lang/stdlib/pull/173) Minor bug fix." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:50 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) WIP: Addition of " +"`diag`, `eye`, and `trace` functions to make working with matrices " +"easier." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:54 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:75 +msgid "Package Manager" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:56 +msgid "" +"In the past month we've seen the first working implementation of the " +"[Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). " +"Specifically:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:59 +msgid "FPM supports three commands:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:60 +msgid "`fpm build`--compiles and links your application and/or library." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:61 +msgid "`fpm test`--runs tests if your package has any test programs." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:62 +msgid "`fpm run`--runs the application if your package has an executable program." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:63 +msgid "FPM can build an executable program, a library, or a combination of both." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:64 +msgid "" +"Currently only gfortran is supported as the compiler backend. FPM will " +"suport other compilers soon." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:66 +msgid "" +"Read the [FPM packaging guide](https://github.com/fortran-" +"lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with " +"FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:69 +msgid "" +"FPM is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:72 +msgid "Try to use it. Does it work? No? Let us know!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:73 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:90 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:82 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:75 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:58 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:95 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:93 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:100 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:178 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:126 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:119 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:160 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:141 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:123 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:157 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:172 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:143 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:208 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:137 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:152 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:165 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:143 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:124 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:136 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:154 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:138 +msgid "" +"Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and " +"see if you can help implement any fixes or features." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:74 +msgid "Adapt your Fortran package for FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:75 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:92 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:84 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:77 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:60 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:97 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:95 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:102 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:180 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:128 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:121 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:162 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:143 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:125 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:159 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:174 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:145 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:210 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:139 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:154 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:145 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:126 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:138 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:156 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:140 +msgid "Improve the documentation." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:77 +msgid "" +"The short term goal of FPM is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are " +"created and published with ease." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:81 +msgid "WG5 Convenor candidates" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:83 +msgid "" +"Last month was also the deadline for the [WG5](https://wg5-fortran.org/) " +"convenor candidates to apply for the next 3-year term (2021-2024). There " +"are two candidates:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:87 +msgid "" +"[Steve Lionel](https://stevelionel.com), who is also the current WG5 " +"convenor, announced running for another term. Read Steve's " +"[post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-" +"forward) about how he has guided the standardization process over the " +"past three years and his direction for the future." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:92 +msgid "" +"[Ondřej Čertík](https://ondrejcertik.com) has also announced announced to" +" run for the WG5 convenor. Read Ondřej's " +"[announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5" +"-convenor-announcement/) and " +"[platform](https://github.com/certik/wg5_platform_2020) that detail " +"current issues with Fortran language development and how to overcome them" +" going forward." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:99 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:105 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:90 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:140 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:141 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:176 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:166 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:161 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:215 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:174 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:163 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:260 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:215 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:165 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:181 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:207 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:279 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:296 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:231 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:232 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:284 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:249 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:261 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:369 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:470 +msgid "Events" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:101 +msgid "" +"[OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com)" +" hosted Ondřej Čertík and Milan Curcic in the Episode 40 of the Open " +"Source Directions Webinar. They talked about the current state and future" +" of Fortran, as well as about building the Fortran community and " +"developer tools. Read more about it and watch the video " +"[here](/newsletter/2020/04/18/Fortran-Webinar/)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:105 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:108 +msgid "" +"J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, " +"Nevada. You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:112 +msgid "Who's hiring?" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:114 +msgid "" +"[Intel Corporation (Santa Clara, CA): Software Engineer, " +"Fortran](https://g.co/kgs/aogdeh)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:115 +msgid "" +"[Intel Corporation (Hillsboro, OR): Software Engineer, " +"Fortran](https://g.co/kgs/5X3d2Y)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:116 +msgid "[Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:117 +msgid "" +"[American Cybersystems, Inc. (Binghamton, NY): Software Engineer " +"(Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:118 +msgid "[BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:119 +msgid "" +"[Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and" +" Topology Optimization](https://g.co/kgs/eYftiA)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:9 +msgid "" +"Welcome to the June 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:13 +msgid "[fortran-lang.org](#fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:14 +msgid "[Fortran Discourse](#fortran-discourse)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:15 +msgid "[Standard Library](#fortran-standard-library)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:18 +msgid "[Contributors](#contributors)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:20 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:15 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:15 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:15 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:15 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:15 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:15 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:16 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:15 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:15 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:15 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:15 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:15 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:15 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:15 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:15 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:15 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:16 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:15 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:16 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:15 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:15 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:15 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:15 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:15 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:22 +msgid "" +"The Fortran website has been up since mid-April, and we've already got " +"great feedback from the community. In the past month we've updated the " +"[Compilers](/compilers) page which is now comprehensive and includes all " +"major open source and commercial compilers. The [Learn](/learn) page has " +"also seen significant updates—it's been reorganized for easier navigation" +" and currently features a quickstart tutorial, Fortran books, and other " +"online resources." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:30 +msgid "" +"If you haven't yet, please explore the website and [let us " +"know](https://github.com/fortran-lang/fortran-lang.org/issues) if you " +"have any suggestions for improvement. Specifically, we'll be focusing on " +"the [Learn](/learn) page and its mini-books in the coming months. Please " +"help us make them better!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:36 +msgid "Here are some specific items that we worked on:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:38 +msgid "" +"[#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) WIP: " +"Mini-book on building programs" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:40 +msgid "" +"[#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) Improving" +" the structure and navigation of the [Learn](/learn) pages" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:42 +msgid "" +"[#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) Build " +"website previews from pull requests" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:45 +msgid "Fortran Discourse" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:47 +msgid "" +"On May 4 we launched the [Fortran Discourse](https://fortran-" +"lang.discourse.group), an online discussion board for anything and " +"everything Fortran related. You can use it discuss the Fortran language, " +"ask for help, announce events and/or personal projects, or just lurk " +"around. There are already quite a few interesting discussions going on. " +"Join us!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:54 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:41 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:40 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:32 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:32 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:47 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:34 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:47 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:34 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:44 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:45 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:36 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:40 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:44 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:56 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:36 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:64 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:42 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:35 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:44 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:35 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:35 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:41 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:59 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:45 +msgid "Fortran Standard Library" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:56 +msgid "" +"Recently we launched a [website](https://stdlib.fortran-lang.org) for the" +" API documentation of the Fortran Standard Library. The " +"[website](https://stdlib.fortran-lang.org) is automaticaly generated by " +"[FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). [Code of" +" Conduct](https://stdlib.fortran-" +"lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib" +".fortran-lang.org/page/License.html), and [workflow](https://stdlib" +".fortran-lang.org/page/contributing/Workflow.html) for contributing to " +"the Fortran Standard Library can also be found on the " +"[website](https://stdlib.fortran-lang.org/)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:60 +msgid "Here's what's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:62 +msgid "" +"[#191](https://github.com/fortran-lang/stdlib/pull/191) WIP: Function for" +" computing Pearson correlations among elements of an array in the " +"`stdlib_experimental_stats` module" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:65 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) WIP: Procedures " +"for sparse matrices operations. Ongoing discussion on the API can be " +"found [here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-" +"matrix-API)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:68 +msgid "" +"[#183](https://github.com/fortran-lang/stdlib/pull/183) Automatic API-doc" +" generation and deployment of this [stdlib website](https://stdlib" +".fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:70 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) Addition of the " +"new functions `diag`, `eye`, and `trace` functions to make working with " +"matrices easier. Read the full specifications [here](https://stdlib" +".fortran-lang.org/page/specs/stdlib_experimental_linalg.html)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:77 +msgid "" +"In this past month support for dependencies between packages has been " +"added to the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/fpm). You can specify either a path to another folder on your " +"machine with an fpm package, or a git repository (and optionally a " +"specific branch, tag or commit) that contains the package. fpm will then " +"take care of fetching the dependency for you (if necessary) and any " +"packages it depends on, and compiling and linking it into your project. " +"Check out an example [hello world " +"package](https://gitlab.com/everythingfunctional/hello_fpm) that uses " +"this functionality." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:86 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:78 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:71 +msgid "" +"fpm is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:89 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:81 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:74 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:57 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:94 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:92 +msgid "" +"Try to use it. Does it work? No? Let us know! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:91 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:83 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:76 +msgid "Adapt your Fortran package for fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:94 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:86 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:79 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:62 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:99 +msgid "" +"The short term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:98 +msgid "Specific items that are new this month:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:100 +msgid "" +"[#82](https://github.com/fortran-lang/fpm/pull/82) You can now add remote" +" git repositories as Fortran dependencies to your project." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:102 +msgid "" +"[#73](https://github.com/fortran-lang/fpm/pull/73) Improved output " +"messages for the user" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:107 +msgid "" +"We hosted the very first Fortran Monthly call on May 14. The turnout was " +"astonishing--over 23 people joined. You can read the notes from the call " +"[here](https://fortran-lang.discourse.group/t/fortran-monthly-call-" +"may-2020). We'll have another one this month. Subscribe to the [mailing " +"list](https://groups.io/g/fortran-lang) and/or join the [Discourse](https" +"://fortran-lang.discourse.group) to stay tuned." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:113 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020. There are quite a few submissions from the fortran-lang community: " +"A talk on [stdlib](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, one " +"about the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, a talk on " +"[LFortran " +"compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by " +"Ondřej Čertík, as well as one about [building the Fortran " +"community](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-community) by Milan Curcic." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:122 +msgid "" +"J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, " +"Nevada, has been " +"[cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html)." +" However, the work on proposals for the Fortran Standard doesn't stop. " +"You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:127 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:104 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:157 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:151 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:186 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:179 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:173 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:230 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:189 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:188 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:290 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:227 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:186 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:202 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:224 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:296 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:310 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:252 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:247 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:303 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:266 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:282 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:257 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:379 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:485 +msgid "Contributors" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:129 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories [fortran-" +"lang/stdlib](https://github.com/fortran-lang/stdlib), [fortran-" +"lang/fpm](https://github.com/fortran-lang/fpm), [fortran-lang/fortran-" +"lang.org](https://github.com/fortran-lang/fortran-lang.org), " +"[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:136 +msgid "" +"Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), Laurence Kedward " +"([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas " +"([@jvdp1](https://github.com/jvdp1)), Brad Richardson " +"([@everythingfunctional](https://github.com/everythingfunctional)), Izaak" +" \"Zaak\" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin " +"Diehl ([@MarDiehl](https://github.com/MarDiehl)), " +"[@arjenmarkus](https://github.com/arjenmarkus), Van Snyder " +"([@vansnyder](https://github.com/vansnyder)), " +"[@FortranFan](https://github.com/FortranFan), " +"[@epagone](https://github.com/epagone), Ivan ([@ivan-" +"pi](https://github.com/ivan-pi)), Neil Carlson " +"([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu " +"([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima " +"([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler " +"([@klausler](https://github.com/klausler)), Chris MacMackin " +"([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa " +"([@p-costa](https://github.com/p-costa)), [@mobius-" +"eng](https://github.com/mobius-eng), Salvatore Filippone " +"([@sfilippone](https://github.com/sfilippone)), " +"[@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar " +"([@aktech](https://github.com/aktech)), Bálint Aradi " +"([@aradi](https://github.com/aradi)), Melissa Weber Mendonça " +"([@melissawm](https://github.com/melissawm)), Jacob Williams " +"([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami " +"([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi " +"([@shahmoradi](https://github.com/shahmoradi)), Bill Long " +"([@longb](https://github.com/longb))." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:9 +msgid "" +"Welcome to the July 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:17 +msgid "" +"Work has continued on the Fortran-lang website, including a new community" +" page and additional tutorial content:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:19 +msgid "" +"[#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated " +"the [Quickstart mini-book](https://fortran-" +"lang.org/learn/quickstart/derived_types) tutorial with a comprehensive " +"overview of derived types;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:21 +msgid "" +"[#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a " +"second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) " +"page on building compiled programs and libraries;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:23 +msgid "" +"[#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added " +"a new top-level web-page for Fortran-lang community projects. The page " +"gives useful information and links for new contributors, as well as " +"acknowledging each of our many existing contributors. Check it out at " +"." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:27 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:27 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:22 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:22 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:37 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:26 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:35 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:22 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:34 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:35 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:26 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:28 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:30 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:46 +msgid "Ongoing work:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:29 +msgid "" +"[#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code" +" style for Fortran examples in the tutorials. See the corresponding " +"community poll and discussion on [Discourse](https://fortran-" +"lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a" +"-consistent-style-for-code-listings/134);" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:32 +msgid "" +"[#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan" +" for core language tutorials." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:34 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:36 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:29 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:29 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:44 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:31 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:44 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:31 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:41 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:42 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:33 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:37 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:41 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:33 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:58 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:35 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:29 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:38 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:29 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:29 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:35 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:53 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:39 +msgid "" +"[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if" +" you have any suggestions for the website and its content. We welcome any" +" new contributors to the website and the tutorials page in particular - " +"see the [contributor guide](https://github.com/fortran-lang/fortran-" +"lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:37 +msgid "" +"__Did you know__ you don't need to know HTML or any fancy languages to " +"contribute to the website; all of the online tutorials and most of the " +"website content are written in [markdown](https://github.com/adam-p" +"/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for " +"formatting text - don't worry if you haven't used it before, it's very " +"easy to pick up!" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:43 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:42 +msgid "What's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:45 +msgid "" +"[#209](https://github.com/fortran-lang/stdlib/pull/209) Implements " +"Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the " +"quadrature module (`stdlib_experimental_quadrature`)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:48 +msgid "" +"[#205](https://github.com/fortran-lang/stdlib/pull/205) Tests for and " +"improved standard conformance." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:51 +msgid "Some miscellaneous fixes and improvements:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:53 +msgid "" +"[#208](https://github.com/fortran-lang/stdlib/pull/208) Fixes to support " +"Intel Fortran compilers" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:55 +msgid "" +"[#210](https://github.com/fortran-lang/stdlib/pull/210) Fixes to support " +"NAG compiler" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:57 +msgid "" +"[#207](https://github.com/fortran-lang/stdlib/pull/207) " +"[#211](https://github.com/fortran-lang/stdlib/pull/211) Other minor fixes" +" and improvements" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:61 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:51 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:47 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:63 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:67 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:99 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:96 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:81 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:102 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:94 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:94 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:116 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:137 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:108 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:158 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:102 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:108 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:135 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:88 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:82 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:96 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:114 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:104 +msgid "Fortran Package Manager" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:63 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:53 +msgid "What's new in fpm:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:65 +msgid "" +"[#99](https://github.com/fortran-lang/fpm/pull/99) fpm now lets you " +"specify a custom build script or a Makefile to use. This will help " +"building packages that use a custom structure and/or external " +"dependencies in other languages." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:69 +msgid "" +"[#89](https://github.com/fortran-lang/fpm/pull/89) Allow specifying " +"specific tests or executables to run via command-line arguments." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:71 +msgid "" +"[#85](https://github.com/fortran-lang/fpm/pull/85) Enables having " +"specific dependencies for tests and executables." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:73 +msgid "" +"[#97](https://github.com/fortran-lang/fpm/pull/97) " +"[#100](https://github.com/fortran-lang/fpm/pull/100) " +"[#101](https://github.com/fortran-lang/fpm/pull/101) Minor improvements " +"to the README." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:92 +msgid "" +"We had our second Fortran Monthly call on June 19. You can read watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:97 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:153 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:148 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:183 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:176 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:170 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:222 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:186 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:185 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:287 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:224 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:183 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:199 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:221 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:293 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:307 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:249 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:244 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:300 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:263 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:279 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:254 +msgid "" +"As usual, subscribe to the [mailing list](https://groups.io/g/fortran-" +"lang) and/or join the [Discourse](https://fortran-lang.discourse.group) " +"to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:100 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today " +"(July 2), with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:106 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:159 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:109 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:162 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:156 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:191 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:110 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:163 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:157 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:192 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:111 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:164 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:159 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:194 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:112 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:165 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:161 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:196 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:9 +msgid "" +"Welcome to the August 2020 edition of the monthly Fortran newsletter. The" +" newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:17 +msgid "We continued the work on the Fortran-lang website, including:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:19 +msgid "" +"[#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): " +"updates to the Quickstart tutorial on loop control and syntax" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:21 +msgid "" +"[#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): " +"updated the [Book section](https://fortran-lang.org/learn/) with a " +"comprehensive list of books about Fortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:25 +msgid "" +"[#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), " +"[#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), " +"[#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), " +"[#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): " +"additional packages added to the Fortran-lang.org [packages](https" +"://fortran-lang.org/packages) page" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:29 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:43 +msgid "" +"[#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of" +" the Fortran Standard Library has been modified for clarity and ease of " +"use. With these changes, both experimental and stable procedures will " +"reside together in the same modules. The status of the procedures " +"(experimental vs stable) are documented in the code, in the specs, and in" +" the [API docs](https://stdlib.fortran-lang.org/)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:45 +msgid "Main ongoing discussions:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:46 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:47 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:48 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:39 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:55 +msgid "" +"[#221](https://github.com/fortran-lang/stdlib/issues/221): API for a " +"bitset data type" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:49 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:40 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:56 +msgid "" +"[#201](https://github.com/fortran-lang/stdlib/issues/201): API for file " +"system operations" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:54 +msgid "" +"We created the [fpm-registry](https://github.com/fortran-lang/fpm-" +"registry) repository, which serves as a registry of fpm-enabled Fortran " +"packages. Please see the README there to learn how to contribute a " +"package. For now, the registry is simply a list of fpm-enabled Fortran " +"packages that you can use as a dependency in your `fpm.toml` file. Soon, " +"this registry will be used to generate detailed metadata that will be " +"used by fpm to allow you to search for packages from the command-line, " +"e.g. `fpm search ` or similar." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:59 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the " +"design of the new Fortran implementation of fpm in a video call. We " +"agreed on the need for an intermediate package model which will allow for" +" clean separation of fpm frontends (user interface, parsing, and " +"semantics) and fpm backends (fpm itself, CMake, Make, etc.)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:60 +msgid "" +"[#131](https://github.com/fortran-lang/fpm/pull/131), " +"[#132](https://github.com/fortran-lang/fpm/pull/132), " +"[#139](https://github.com/fortran-lang/fpm/pull/139), " +"[#140](https://github.com/fortran-lang/fpm/pull/140), " +"[#142](https://github.com/fortran-lang/fpm/pull/142), " +"[#145](https://github.com/fortran-lang/fpm/pull/145), " +"[#147](https://github.com/fortran-lang/fpm/pull/147), " +"[#148](https://github.com/fortran-lang/fpm/pull/148), " +"[#151](https://github.com/fortran-lang/fpm/pull/151): We merged several " +"pull requests toward the Fortran fpm implementation. The Haskell " +"implementation has moved to the `fpm/bootstrap` directory, and the " +"Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of " +"course, an fpm package itself so it can be built by the Haskell fpm. " +"Soon, it will be able to be build by itself." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:83 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:66 +msgid "Fortran benchmarks" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:85 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:68 +msgid "" +"We created the [benchmarks repository](https://github.com/fortran-" +"lang/benchmarks) with the goal to design and implement a comprehensive " +"set of benchmarks. The benchmarks will aim to compare the performance of " +"various Fortran compilers, as well as the performance of canonical " +"algorithms implemented in Fortran and different languages. If you'd like " +"to contribute in any way, be it the design, implementation, or testing of" +" benchmarks, please join the ongoing discussion [here](https://github.com" +"/fortran-lang/benchmarks/issues)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:89 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:84 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:106 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:103 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:110 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:188 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:136 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:170 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:151 +msgid "Classic Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:91 +msgid "" +"We've begun to evaluate pull requests and merge them into the original " +"Flang compiler again. There is now a biweekly call to discuss issues and " +"plans for Classic Flang. The next call will be Wednesday, August 12, 8:30" +" AM Pacific time. The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:97 +msgid "" +"In the last call, AMD reviewed their outstanding pull requests for " +"Fortran debug metadata enhancements." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:100 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:100 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:131 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:125 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:134 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:196 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:156 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:196 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:162 +msgid "LLVM Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other test suites that use F77." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:106 +msgid "" +"We cominue upstreaming the lowering code from the fir-dev fork (MLIR-" +"based Fortran IR) into the llvm-project repository. Arm is working on " +"changes to support a driver program to replace the throwaway driver we " +"currently have." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:110 +msgid "" +"AMD has been contributing parser and semantic processing for OpenMP " +"constructs like task wait, barrier and parallel constructs." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:113 +msgid "" +"Changes have been made to default parse/unparse/compile processing to " +"default to gfortran (not NVIDIA Fortran)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:116 +msgid "Valentin Clement has been committing initial changes for OpenACC support." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:119 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:118 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:152 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:148 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:129 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:235 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:204 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:134 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:168 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:182 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:211 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:267 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:218 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:214 +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:131 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:269 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:196 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:251 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:237 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:236 +msgid "LFortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:121 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:120 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:154 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:150 +msgid "What's new in LFortran:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:123 +msgid "" +"The initial prototype C++ backend can translate Fortran's `do concurrent`" +" to C++'s `Kokkos::parallel_for`: " +"[https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:124 +msgid "" +"LFortran has a Twitter account for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:125 +msgid "" +"Work is progressing on the production version of LFortran that is written" +" in C++" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:126 +msgid "" +"22 Merge Requests were merged and 4 issues fixed in July 2020. Some " +"notable ones:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:127 +msgid "" +"[#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement " +"basic Fortran to C++ translation backend" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:128 +msgid "" +"[!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make " +"simple calculations work via LLVM in interactive mode" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:129 +msgid "" +"[!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build " +"ASR (Abstract Semantic Representation) properly for subroutines and " +"functions" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:131 +msgid "" +"The short term goal is to get the C++ based production version of " +"LFortran matching most of the features from the Python prototype version " +"and make a public release. The long term goal is to build a modern " +"Fortran compiler that works with any production code and allows it to run" +" efficiently on modern hardware (CPUs and GPUs), both interactively and " +"compiling to binaries, and provide the basis for other tools such as the " +"Fortran to C++ translation, editor support, automatic documentation " +"generation (and doctesting like in Python), automatic formatting and " +"others." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:142 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 " +"- 4. with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +" All presentations have been recorded and will be soon made available " +"online by the FortranCon organizers." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:148 +msgid "" +"We had our third Fortran Monthly call on July 16. You can read watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:9 +msgid "" +"Welcome to the September 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:17 +msgid "We continued the work on the Fortran-lang website, specifically:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:19 +msgid "" +"[#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): " +"Listing fpm packages on the Packages page of the website" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:34 +msgid "" +"There hasn't been new stdlib development in August, however ongoing work " +"and discussions continue:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:36 +msgid "" +"[#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal " +"for logging facilities in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:37 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:53 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:38 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:54 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:42 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:58 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:62 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:58 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:94 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:91 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:76 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:97 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:89 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:89 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:111 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:132 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:103 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:153 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:97 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:103 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:130 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:83 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:77 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:91 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:109 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:99 +msgid "" +"The candidate for file system operations to be included in stdlib is " +"being developed by [@MarDiehl](https://github.com/MarDiehl) and " +"[@arjenmarkus](https://github.com/arjenmarkus) in [this " +"repository](https://github.com/MarDiehl/stdlib_os). Please try it out and" +" let us know how it works, if there are any issues, or if the API can be " +"improved." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:49 +msgid "Ongoing work in fpm:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:51 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): " +"Implementing internal dependencies and build backend in the Fortran fpm" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:54 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:91 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:89 +msgid "" +"fpm is still in early development and we need as much help as we can get." +" Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:59 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:96 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:94 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:101 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:179 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:127 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:120 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:161 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:142 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:124 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:158 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:173 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:144 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:209 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:138 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:153 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:166 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:144 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:125 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:137 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:155 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:139 +msgid "" +"Adapt your Fortran package for fpm and submit it to the " +"[Registry](https://github.com/fortran-lang/fpm-registry)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:72 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:104 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:101 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:108 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:186 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:134 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:127 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:168 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:149 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:131 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:165 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:180 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:178 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:217 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:146 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:161 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:173 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:151 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:132 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:144 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:162 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:146 +msgid "Compilers" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:74 +msgid "GFortran" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:76 +msgid "" +"GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed " +"include PR94361, a memory leak with finalizers." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:79 +msgid "" +"The development version of `gfortran` now supports the full OpenMP 4.5 " +"specification. This will be released with GCC 11, but of course people " +"can already download and test it." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:86 +msgid "" +"We're evaluating pull requests and merging them into the original Flang " +"compiler again. We pulled in 4 changes in the past couple of weeks, and " +"expect to merge in a few more each week. One upcoming change is the " +"support for LLVM 10, which requires the use of a new fork, the _classic-" +"flang-llvm-project_ fork of the LLVM monorepo. See " +"[PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:94 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other F77 test suites (and the F77 parts" +" of non-F77 suites)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:107 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs. We continue to work on refactoring necessary to upstream this " +"fork into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:112 +msgid "" +"Arm is working on changes to support a driver program to replace the " +"temporary driver we currently use." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:115 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:142 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:122 +msgid "143 Merge Requests were merged and 22 issues fixed in August 2020" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:123 +msgid "" +"The C++ backend can now translate to C++ and compile many simple Fortran " +"programs" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:124 +msgid "" +"The parser can now parse a large subset of Fortran (if you find something" +" that cannot be parsed, please " +"[report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all " +"the information is yet represented in the AST (so later stages of the " +"compiler also work on a smaller subset), but one should not get parse " +"errors anymore for most valid codes." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:128 +msgid "" +"Initial `lfortran fmt` subcommand for formatting Fortran files, you can " +"provide feedback [here](https://fortran-lang.discourse.group/t/feedback-" +"for-lfortran-fmt-to-format-fortran-source-code/281)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:131 +msgid "A new command `lfortran kernel` can run LFortran as a Jupyter kernel." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:132 +msgid "" +"LFortran itself gives a nice Python like stacktrace (on Linux and macOS) " +"in Debug mode when an unhandled excetion happens or a segfault." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:135 +msgid "" +"Our goal for September is to get LFortran working for a much larger " +"subset of Fortran and allow it to compile and run via the C++ translation" +" backend (the LLVM backend will follow soon after)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:139 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:174 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:164 +msgid "" +"You can follow LFortran on Twitter for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:143 +msgid "" +"We had our fourth Fortran Monthly call on August 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:153 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:188 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:181 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:175 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:232 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:191 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:190 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:292 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:229 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:188 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:204 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:226 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:298 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:312 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:254 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:249 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:305 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:268 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:284 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:259 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:381 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:487 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of these repositories:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:158 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:193 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)," +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:160 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:195 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)," +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:9 +msgid "" +"Welcome to the October 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:17 +msgid "This month we've had only one minor change to the website:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:19 +msgid "" +"[#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): Small " +"fix in the opening sentence on the compilers page" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:34 +msgid "" +"This month we've had an improvement to the `stdlib_ascii` module, as well" +" as addition of logging facilities." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:37 +msgid "" +"[#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to " +"the `stdlib_stats` module by adding explicit conversions." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:38 +msgid "" +"[#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation " +"of the `stdlib_logger` module. It provides a global logger instance for " +"easy use in user applications, as well as a `logger_type` derived type if" +" multiple concurrent loggers are needed. See the [logger " +"specification](https://stdlib.fortran-" +"lang.org/page/specs/stdlib_logger.html) to learn more." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:44 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:85 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:80 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:46 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:84 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:163 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:55 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:109 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:57 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:96 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:144 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:55 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:119 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:55 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:103 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:143 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:83 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:154 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:38 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:123 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:24 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:56 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:113 +msgid "Work in progress:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:46 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:51 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of the `stdlib_bitsets` module. It provides a bitset data type." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:47 +msgid "" +"[#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to " +"the `stdlib_ascii` module" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:51 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:53 +msgid "Otherwise, ongoing discussions continue:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:65 +msgid "" +"This month has seen over a dozen additions and improvements to the " +"Fortran implementation of fpm:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:67 +msgid "" +"[#186](https://github.com/fortran-lang/fpm/issues/186): Implement version" +" string validation and comparison" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:68 +msgid "[#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:69 +msgid "" +"[#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to " +"further development of subcommands" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:70 +msgid "" +"[#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source " +"discovery" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:71 +msgid "" +"[#178](https://github.com/fortran-lang/fpm/issues/178): Add more example " +"packages" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:72 +msgid "" +"[#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective " +"testing of single suites and tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:73 +msgid "" +"[#175](https://github.com/fortran-lang/fpm/issues/175): Updated " +"formatting of Markdown documents" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:74 +msgid "" +"[#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell " +"Stack build in CI" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:75 +msgid "" +"[#171](https://github.com/fortran-lang/fpm/issues/171): Increase test " +"coverage of fpm manifest" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:76 +msgid "" +"[#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing " +"tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:77 +msgid "" +"[#163](https://github.com/fortran-lang/fpm/issues/163): Use different " +"strategy to fetch git dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:78 +msgid "" +"[#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type " +"identification" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:79 +msgid "" +"[#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing " +"guidelines (you can read them [here](https://github.com/fortran-" +"lang/fpm/CONTRIBUTING.md))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:81 +msgid "" +"[#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading" +" of fpm.toml" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:82 +msgid "" +"[#155](https://github.com/fortran-lang/fpm/issues/155): Internal " +"dependencies and build backend" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:87 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path " +"dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:88 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto " +"discovery of executables" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:89 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement " +"`fpm new`" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:108 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in the past month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:111 +msgid "" +"One important merge was support for LLVM 10, which required the use of a " +"new fork, the _classic-flang-llvm-project_ fork of the LLVM monorepo. See" +" [PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:117 +msgid "Other recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:118 +msgid "" +"[PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-" +"compiler/flang/pull/658)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:119 +msgid "" +"[PR#737: TRAILZ function added to the fortran " +"compiler](https://github.com/flang-compiler/flang/pull/737)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:120 +msgid "" +"[PR#756: Fix ICE interf:new_symbol_and_link symbol not " +"found](https://github.com/flang-compiler/flang/pull/756)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:121 +msgid "" +"[PR#888: flang gen-exec does not show routine variables with parameter " +"attribute; there are multiple pull requests that this includes (details " +"below)](https://github.com/flang-compiler/flang/pull/888)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:122 +msgid "" +"[PR#916: Fix off-by-one error in minimum integers](https://github.com" +"/flang-compiler/flang/pull/916)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:123 +msgid "" +"[PR#921: Correction of representation of string (character type) " +"constants](https://github.com/flang-compiler/flang/pull/921)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:125 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, October 7 and 21, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:133 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:136 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS). We " +"continue to work on refactoring necessary to upstream the _fir-dev_ fork " +"into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:142 +msgid "Arm has contributed changes toward a full-fledged driver for flang." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:144 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:140 +msgid "AMD continues to add support for OpenMP semantics and lowering." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:146 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support. This will be the topic of the next Flang Technical " +"Community call on Monday, October 5, 8:30 AM Pacific Time." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:150 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:156 +msgid "59 Merge Requests were merged and 3 issues fixed in September 2020" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:157 +msgid "" +"The FortranCon 2020 LFortran video now " +"[available](https://www.youtube.com/watch?v=tW9tUxVMnzc)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:158 +msgid "" +"LFortran, now imlemented in C++, has surpassed the Python prototype from " +"a year ago" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:160 +msgid "The Jupyter notebook now works as it used to with the Python prototype" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:161 +msgid "" +"A new notebook added showcasing how to visualize AST, ASR and C++ " +"translation in Jupyter " +"([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:163 +msgid "" +"X86 backend to generate direct x86-32 machine code (very fast compilation" +" in Debug mode)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:165 +msgid "Further parser improvements" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:166 +msgid "Initial Fortran modules support" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:167 +msgid "" +"Initial support for using GFortran modules " +"([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:169 +msgid "" +"Better compiler error messages " +"([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:171 +msgid "" +"The interactive prompt (REPL) now understands arrow keys " +"([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:178 +msgid "" +"We had our fourth Fortran Monthly call on September 25. You can watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:9 +msgid "" +"Welcome to the November 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:17 +msgid "This month we've had a few additions and improvements to the website:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:19 +msgid "" +"[#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): New " +"mini-book on setting up the Fortran development environment. You can read" +" it [here](https://fortran-lang.org/learn/os_setup)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:22 +msgid "" +"[#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): " +"Automated posting to @fortranlang Twitter using twitter-together." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:24 +msgid "" +"[#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): Fix " +"for a security vulnerability reported by the GitHub Security Team." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:26 +msgid "" +"The following packages were added to the [Package Index](https://fortran-" +"lang.org/packages): atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, " +"fypp, HANDE, libmbd, libnegf, mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT," +" QMD-PROGRESS, scalapackfx, tapenade, wannier90, and xtb." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:31 +msgid "" +"[#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), " +"[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), " +"[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), " +"[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): Minor " +"fixes and improvements." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:39 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:28 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): " +"In-depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:41 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): " +"Updating the mini-book on building programs." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:49 +msgid "This month progress was made on a few pull requests:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:52 +msgid "" +"[#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation " +"of the `stdlib_stats_distribution` module. It provides probability " +"distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:53 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to" +" support newline characters in the message provided to the logger." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:55 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:51 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:74 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:71 +msgid "Don't hesitate to test and review these pull requests!" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:57 +msgid "Otherwise, ongoing discussions continue;" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:58 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/pull/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:59 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/pull/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:69 +msgid "What's new:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:71 +msgid "" +"[#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm " +"submodule support" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:72 +msgid "" +"[#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to " +"`list_files` and `mkdir` in `fpm_filesystem`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:73 +msgid "" +"[#206](https://github.com/fortran-lang/fpm/issues/206): Add installation " +"script in `install.sh`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:74 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote " +"package dependencies (Fortran fpm can now build itself)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:75 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of" +" executables" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:76 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189), " +"[#204](https://github.com/fortran-lang/fpm/issues/204), " +"[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm " +"new` in Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:82 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:86 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:165 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:111 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:98 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:146 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:121 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:105 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:145 +msgid "" +"[First beta release](https://github.com/fortran-lang/fpm/milestone/1) " +"(WIP): First feature-complete release of the Fortran implementation." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:83 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and " +"executable runner options" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:84 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler " +"and flags" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:85 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove " +"bashism from install.sh" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:86 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add " +"automatic documentation for Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:87 +msgid "" +"[#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create " +"package manifest with toml-f build interface" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:97 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:104 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:182 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:130 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:123 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:164 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:145 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:127 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:161 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:176 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:147 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:212 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:141 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:156 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:169 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:147 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:128 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:140 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:158 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:142 +msgid "" +"The short-term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:105 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in October." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:108 +msgid "Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:109 +msgid "" +"[PR#660: Enable support for simd directives](https://github.com/flang-" +"compiler/flang/pull/660)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:110 +msgid "" +"[PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug " +"metadata](https://github.com/flang-compiler/flang/pull/878)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:111 +msgid "" +"[PR#910: Fix f90_correct tests](https://github.com/flang-" +"compiler/flang/pull/910)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:112 +msgid "" +"[PR#922: Fix private flag overwrite in " +"find_def_in_most_recent_scope()](https://github.com/flang-" +"compiler/flang/pull/922)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:113 +msgid "" +"[PR#927: f90_correct: exclude tests failing with LLVM 10 on " +"OpenPOWER](https://github.com/flang-compiler/flang/pull/927)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:114 +msgid "" +"[PR#930: Fix HTML docs generation](https://github.com/flang-" +"compiler/flang/pull/930)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:115 +msgid "" +"[PR#931: [flang2] Fix segmentation faults (#421)](https://github.com" +"/flang-compiler/flang/pull/931)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:116 +msgid "" +"[PR#932: [flang1] Do not assume unempty derived types](https://github.com" +"/flang-compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:117 +msgid "" +"[PR#938: [flang2] Fixing possible crash due to ivl being NULL in " +"dinit.cpp](https://github.com/flang-compiler/flang/pull/938)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:119 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, November 4 and 18, 8:00 AM Pacific time (note " +"the time change). The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:127 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:129 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:138 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:133 +msgid "" +"Pat McCormick is working on an RFC for the merge of the lowering code in " +"the fir-dev fork into LLVM master. The goal is to expedite this in a way " +"that is acceptable to the Flang community, so we can do further work in " +"the single master branch." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:138 +msgid "" +"Arm continues to contribute changes toward a full-fledged driver for " +"flang." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:145 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC to the point that he can build and test Flang on Windows." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:152 +msgid "9 Merge Requests were merged and 5 issues fixed in October 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:153 +msgid "" +"We gave LFortran " +"[talk](https://cfp.jupytercon.com/2020/schedule/presentation/169" +"/lfortran-interactive-llvm-based-fortran-compiler-for-modern-" +"architectures/) at JupyterCon 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:156 +msgid "" +"A prototype compiler implementation of conditional expressions for the " +"October 2020 Fortran Standards Committee meeting " +"([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:159 +msgid "Better code formatting support (`lfortran fmt`)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:160 +msgid "Improvements to AST" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:161 +msgid "" +"Capture stdout on Windows in a Jupyter notebook " +"([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:168 +msgid "" +"The US Fortran Standards Committee held a virtual meeting from October " +"12-14. You can read the summary and the discussion " +"[here](https://github.com/j3-fortran/fortran_proposals/issues/185) and " +"all the documents [here](https://j3-fortran.org/doc/meeting/222)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:171 +msgid "" +"We had our 5th Fortran Monthly call on October 27. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:184 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:178 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:235 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:194 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:193 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:295 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:232 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:191 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:207 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:229 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:301 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:315 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:257 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:252 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:308 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:271 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:287 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:262 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:490 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:185 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:179 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:236 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:196 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:195 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:297 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:234 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:193 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:209 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:231 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:303 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:317 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:259 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:254 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:310 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:273 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:289 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:264 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:386 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:492 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:186 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:180 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:237 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:197 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:196 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:298 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:235 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:194 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:210 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:232 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:304 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:318 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:260 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:255 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:311 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:274 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:290 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:265 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:387 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:493 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:187 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:181 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:239 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:199 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:198 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:301 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:238 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:197 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:213 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:235 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:307 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:321 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:263 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:258 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:315 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:278 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:294 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:269 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:391 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:497 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:188 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:182 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:240 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:200 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:199 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:302 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:239 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:198 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:214 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:236 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:308 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:322 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:264 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:259 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:316 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:279 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:295 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:270 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:498 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:189 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:183 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:241 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:9 +msgid "" +"Welcome to the December 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:17 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:18 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:17 +msgid "This month we've had a few updates to the website:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:19 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): " +"Updates to the mini-book on building Fortran programs, including the " +"addition of short guides on Meson and CMake. You can read the mini-book " +"[here](https://fortran-lang.org/learn/building_programs)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:23 +msgid "" +"[#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): Add " +"PSBLAS to the package index." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:36 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:49 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:36 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:46 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:47 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:38 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:42 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:46 +msgid "Here's what's new in `stdlib`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:38 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of bitsets in `stdlib_bitsets`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:39 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243), " +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#252](https://github.com/fortran-lang/stdlib/pull/253), " +"[#255](https://github.com/fortran-lang/stdlib/pull/255): Various " +"improvements to `stdlib_logger`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:43 +msgid "" +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to " +"the CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:48 +msgid "" +"(WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): " +"Implementation of the `stdlib_stats_distribution` module. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:49 +msgid "" +"(WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:54 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/issues/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:55 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/issues/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:56 +msgid "" +"[#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to" +" add a logger for debug phases and levels among the different logs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:65 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:101 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:98 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:83 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:104 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:96 +msgid "Here's what's new in `fpm`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:67 +msgid "" +"[#259](https://github.com/fortran-lang/fpm/pull/259): Update the " +"instructions for building from source in README.md." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:68 +msgid "" +"[#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary " +"releases in CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:69 +msgid "" +"[#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with " +"external libraries." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:70 +msgid "" +"[#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference " +"document for the package manifest (fpm.toml)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:71 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/pull/221), " +"[#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for " +"test and app executables." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:73 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler " +"and flags settings in Haskell fpm." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:74 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/pull/209): " +"[#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:76 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/pull/216), " +"[#225](https://github.com/fortran-lang/fpm/pull/225), " +"[#226](https://github.com/fortran-lang/fpm/pull/226), " +"[#229](https://github.com/fortran-lang/fpm/pull/229), " +"[#236](https://github.com/fortran-lang/fpm/pull/236), " +"[#240](https://github.com/fortran-lang/fpm/pull/240), " +"[#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and " +"improvements." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:87 +msgid "" +"(WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261): Specification of " +"the fpm CLI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:89 +msgid "" +"(WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the " +"`extra` section in fpm.toml." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:90 +msgid "" +"(WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor " +"backend for incremental rebuilds." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:91 +msgid "" +"(WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:92 +msgid "" +"(WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the " +"compiler and specifying test or app target." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:93 +msgid "" +"(WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement " +"`fpm install`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:94 +msgid "" +"(WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to " +"test release build." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:96 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:173 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:121 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:114 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:155 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:136 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:118 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:152 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:167 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:138 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:200 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:129 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:144 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:157 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:135 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:116 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:128 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:146 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:130 +msgid "" +"`fpm` is still in early development and we need as much help as we can " +"get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:99 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:176 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:124 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:117 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:158 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:139 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:121 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:155 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:170 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:141 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:203 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:112 +msgid "" +"We continue to evaluate and merge pull requests into Classic Flang. " +"Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:113 +msgid "" +"[PR#883: Flang generated executable does not show result variable of " +"function](https://github.com/flang-compiler/flang/pull/883)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:114 +msgid "" +"[PR#933: Updating X-flag entries for internal command line option \"-x " +"49\"](https://github.com/flang-compiler/flang/pull/933)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:115 +msgid "" +"[PR#939: Publish Arm's internal documentation](https://github.com/flang-" +"compiler/flang/pull/939)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:116 +msgid "" +"[PR#941: [DebugInfo] Internal subprogram variable is not accessible for " +"printing in gdb](https://github.com/flang-compiler/flang/pull/941)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:117 +msgid "" +"[PR#942: Implement UNROLL(n) directive](https://github.com/flang-" +"compiler/flang/pull/942)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:118 +msgid "" +"[PR#943: Enable github Actions for push to master and pull requests to " +"master](https://github.com/flang-compiler/flang/pull/943)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:119 +msgid "" +"[PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-" +"compiler/flang/pull/945)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:120 +msgid "" +"[PR#946: Call check_member() for PD_is_contiguous](https://github.com" +"/flang-compiler/flang/pull/946)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:121 +msgid "" +"[PR#951: Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:123 +msgid "Pull requests merged into the supporting projects:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:124 +msgid "" +"[classic flang LLVM monorepo PR#5: [Driver] Reduce downstream " +"delta](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/5)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:125 +msgid "" +"[classic flang LLVM monorepo PR#6: Removing a few CI " +"pipelines](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/6)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:126 +msgid "" +"[classic flang LLVM monorepo PR#7: Github Actions added to pre-compile " +"artifacts for flang](https://github.com/flang-compiler/classic-flang-" +"llvm-project/pull/7)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:127 +msgid "" +"[llvm mirror PR#87: Enable github actions for llvm](https://github.com" +"/flang-compiler/llvm/pull/87)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:128 +msgid "" +"[flang-driver PR#94: Enable github actions](https://github.com/flang-" +"compiler/flang-driver/pull/94)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:130 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes " +"from previous calls, upcoming agenda and a link to join the call can be " +"found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:136 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime. Significant contributions are being made for OpenMP and OpenACC " +"support." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:140 +msgid "" +"Pat McCormick is (still) working on an RFC for the merge of the lowering " +"code in the fir-dev fork into LLVM master. (This was interrupted by " +"Supercomputing 2020 and other ECP duties.) The goal is to expedite this " +"in a way that is acceptable to the Flang community, so we can do further " +"work in the single master branch." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:143 +msgid "Recent updates include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:144 +msgid "" +"Johannes Doerfert has created a web page at https://flang.llvm.org; you " +"can find call and Slack logistics there" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:145 +msgid "" +"Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-" +"tests project: http://lists.llvm.org/pipermail/llvm-" +"dev/2020-November/146873.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:146 +msgid "" +"Andzrej Warzynski has a flang-dev RFC regarding flang option names: " +"http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:147 +msgid "" +"Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help " +"flang driver become independent of clang: http://lists.llvm.org/pipermail" +"/cfe-dev/2020-November/067263.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:148 +msgid "" +"Changed representation of CHARACTER data in type system to make more " +"consistent with other types (for arrays)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:149 +msgid "" +"Changed COMPLEX expression representation to provide better handling in " +"lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:150 +msgid "More improvements for supporting Fortran 77 programs" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:151 +msgid "Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:152 +msgid "" +"Continued implementation of table-driven runtime for derived types; " +"posted documentation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:153 +msgid "Continued implementation of array expression lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:154 +msgid "Improved error checks on forward references" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:155 +msgid "" +"More updates to flang driver (option handling; -E can now be used to " +"invoke just the Flang preprocessor)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:156 +msgid "OpenACC semantic checks for modifiers on enter/exit data, set directives" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:157 +msgid "" +"OpenACC lowering (enter/exit data, update, init, shutdown, wait " +"directives)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:158 +msgid "" +"OpenMP structure checker updates; semantic checks for copyin clause; " +"schedule class" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:163 +msgid "" +"Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be " +"the new Chair of PL22.3 (J3, US Standards Committee). Brian will serve in" +" his first term until November 2023. Congratulations, Brian!" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:165 +msgid "" +"We had our 6th Fortran Monthly call on November 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:9 +msgid "" +"Happy New Year! Welcome to the January 2021 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:20 +msgid "" +"[#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), " +"[#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): Fix " +"build preview" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:23 +msgid "" +"[#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): Fix " +"word spelling error in quickstart page" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:25 +msgid "" +"[#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), " +"[#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), " +"[#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): Add " +"missing packages from the list of popular Fortran projects to the package" +" index" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:29 +msgid "" +"[#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): Update" +" compilers page following Intel oneAPI release" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:31 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), " +"[#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): In-" +"depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:37 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:26 +msgid "" +"[#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): " +"Correct compiler page and tutorial regarding Intel oneAPI and PGI to " +"NVIDIA" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:39 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:28 +msgid "" +"[#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) " +"(WIP): We are searching for a representative Fortran code snippet for the" +" website and are looking forward to suggestions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:41 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): " +"Add links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:51 +msgid "" +"[#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method " +"`log_debug` to `stdlib_logger`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:52 +msgid "" +"[#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake " +"check for F18 error stop" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:53 +msgid "" +"[#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI" +" Fortran compiler to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:54 +msgid "" +"[#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level " +"option to ignore logging messages" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:55 +msgid "" +"[#263](https://github.com/fortran-lang/stdlib/pull/263), " +"[#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to " +"CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:57 +msgid "" +"[#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 " +"to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:58 +msgid "" +"[#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 " +"systems to Windows CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:59 +msgid "" +"[#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about" +" memory issues when compiling stdlib with the support of arrays to up 15 " +"ranks" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:60 +msgid "" +"[#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the " +"compilation load by splitting submodules" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:65 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:59 +msgid "" +"[#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:66 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:61 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), " +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:71 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required " +"changes to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:72 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:68 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:61 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:57 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:83 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:76 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:73 +msgid "" +"Otherwise, ongoing discussions continue about usability of `stdlib` " +"([#7](https://github.com/fortran-lang/stdlib/issues/7), " +"[#215](https://github.com/fortran-lang/stdlib/issues/215), " +"[#279](https://github.com/fortran-lang/stdlib/issues/279), " +"[#280](https://github.com/fortran-lang/stdlib/issues/280), " +"[#285](https://github.com/fortran-lang/stdlib/issues/285)), and new " +"implementations for `stdlib` ([#135](https://github.com/fortran-" +"lang/stdlib/issues/135), [#212](https://github.com/fortran-" +"lang/stdlib/issues/212), [#234](https://github.com/fortran-" +"lang/stdlib/issues/234), [#241](https://github.com/fortran-" +"lang/stdlib/issues/241), [#258](https://github.com/fortran-" +"lang/stdlib/issues/258), [#259](https://github.com/fortran-" +"lang/stdlib/issues/259), [#262](https://github.com/fortran-" +"lang/stdlib/issues/262), [#268](https://github.com/fortran-" +"lang/stdlib/issues/268), [#277](https://github.com/fortran-" +"lang/stdlib/issues/277))." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:103 +msgid "" +"[Alpha release version 0.1.3](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.1.3)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:104 +msgid "" +"[setup-fpm action](https://github.com/marketplace/actions/setup-fpm): " +"GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and " +"Windows runners" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:106 +msgid "" +"[Discussion board](https://github.com/fortran-lang/fpm/discussions): For " +"questions & answers, sharing of ideas, showing off projects and, of " +"course, discussions around fpm" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:108 +msgid "" +"[#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend " +"for incremental rebuilds" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:110 +msgid "" +"[#266](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management and `fpm update` subcommand" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:112 +msgid "" +"[#255](https://github.com/fortran-lang/fpm/pull/255) Setting the compiler" +" and specifying test or app target" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:114 +msgid "" +"[#262](https://github.com/fortran-lang/fpm/pull/262): Add " +"-fcoarray=single to default gfortran flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:116 +msgid "" +"[#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm " +"install`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:118 +msgid "" +"[#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test " +"release build" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:120 +msgid "" +"[#267](https://github.com/fortran-lang/fpm/pull/267): Fix enumeration of " +"non-library link objects" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:122 +msgid "" +"[#268](https://github.com/fortran-lang/fpm/pull/268): Fix dependency " +"tracking issue in bootstrap version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:124 +msgid "" +"[#271](https://github.com/fortran-lang/fpm/pull/271): Fix Windows run and" +" test commands" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:126 +msgid "" +"[#273](https://github.com/fortran-lang/fpm/pull/273): Update developer " +"documentation (manifest + command line)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:128 +msgid "" +"[#274](https://github.com/fortran-lang/fpm/pull/274): Update README with " +"link to setup-fpm github action." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:130 +msgid "" +"[#280](https://github.com/fortran-lang/fpm/pull/280): Create " +"specification for example section" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:132 +msgid "" +"[#281](https://github.com/fortran-lang/fpm/pull/281): Cleanup: Remove " +"archived Rust prototype" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:134 +msgid "" +"[#284](https://github.com/fortran-lang/fpm/pull/284): Document model and " +"backend for developers" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:136 +msgid "" +"[#285](https://github.com/fortran-lang/fpm/pull/285): CI: update naming " +"of release binaries" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:138 +msgid "" +"[#286](https://github.com/fortran-lang/fpm/pull/286): Implement check for" +" duplicated program names" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:140 +msgid "" +"[#289](https://github.com/fortran-lang/fpm/pull/289): Add support for " +"same compilers as Fortran version to Haskell version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:142 +msgid "" +"[#291](https://github.com/fortran-lang/fpm/pull/291): Initial " +"implementation of `fpm build --show-model`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:144 +msgid "" +"[#292](https://github.com/fortran-lang/fpm/pull/292): Specify the correct" +" help for `fpm run -h`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:146 +msgid "" +"[#293](https://github.com/fortran-lang/fpm/pull/293): Fix: missing error " +"check after `new_package` call" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:148 +msgid "" +"[#294](https://github.com/fortran-lang/fpm/pull/294): Add: support for " +"detecting .f and .F files" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:150 +msgid "" +"[#300](https://github.com/fortran-lang/fpm/pull/300): Remove " +"-coarray=single option from ifort compiler default options" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:152 +msgid "" +"[#303](https://github.com/fortran-lang/fpm/pull/303): Fixes to source " +"parsing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:154 +msgid "" +"[#304](https://github.com/fortran-lang/fpm/pull/304): Remove note on not " +"supported dependencies in program targets" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:156 +msgid "" +"[#307](https://github.com/fortran-lang/fpm/pull/307): Fix: program object" +" file collision" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:158 +msgid "" +"[#315](https://github.com/fortran-lang/fpm/pull/315): Remove: -ffast-math" +" in gfortran default release flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:160 +msgid "" +"[#322](https://github.com/fortran-lang/fpm/pull/322): Group sources by " +"package in the model" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:167 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:113 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Specification" +" of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:170 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:116 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): Update " +"subcommand \"new\" to reflect the addition of support for examples" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:177 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:125 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:118 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:159 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:140 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:122 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:156 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:171 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:142 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:207 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:136 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:151 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:164 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:142 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:123 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:135 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:153 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:137 +msgid "" +"Browse existing *fpm* packages on the [fortran-lang website](https" +"://fortran-lang.org/packages/fpm)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:190 +msgid "There are several pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:192 +msgid "Only one pull request was merged in December:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:194 +msgid "" +"[PR#951 Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:198 +msgid "" +"Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly " +"calls. An invitation was sent to the _flang-dev_ LLVM email list on " +"December 22nd. Call notes will be sent to the _flang-dev_ email list and " +"also recorded [here]( https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:202 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:158 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:198 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:164 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:182 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:221 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:150 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:165 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:177 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:155 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:136 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:148 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:166 +msgid "Recent development updates:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:204 +msgid "Semantic analysis fix for index-names of `FORALL` statements" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:205 +msgid "Continued work on parser support for `ALLOCATE`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:206 +msgid "Build tidying" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:207 +msgid "OpenMP semantic checks: atomic, flush" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:208 +msgid "Continued work on new driver" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:209 +msgid "Fix for list-directed REAL output editing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:210 +msgid "" +"Bug fixes: USE of USE of generic, crash in folding (#48437), crash in " +"OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:211 +msgid "Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:212 +msgid "" +"OpenACC: update serial construct clauses for 3.1, enforce restriction on " +"routine directive and clauses" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:213 +msgid "OpenMP: adding important clauses to OmpClause, task reduction clause" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:217 +msgid "" +"We had our 7th Fortran Monthly call on December 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:225 +msgid "" +"[Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the " +"Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and " +"the recent fortran-lang developments." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:228 +msgid "" +"[First year of Fortran-lang](https://medium.com/modern-fortran/first-" +"year-of-fortran-lang-d8796bfa0067) by Milan Curcic." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:238 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:198 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:197 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:299 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:236 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:195 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:211 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:233 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:305 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:319 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:261 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:256 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:313 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:276 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:292 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:267 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:389 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:495 +msgid "[fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:9 +msgid "" +"Welcome to the February 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:19 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): Add " +"links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:24 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): " +"Fix author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:38 +msgid "" +"[#303](https://github.com/fortran-lang/stdlib/pull/303), " +"[#301](https://github.com/fortran-lang/stdlib/pull/301), " +"[#294](https://github.com/fortran-lang/stdlib/pull/294): Fixes and " +"improvements for the manual Makefile build" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:42 +msgid "" +"[#293](https://github.com/fortran-lang/stdlib/pull/293): Write a more " +"verbose introduction to building stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:44 +msgid "" +"[#291](https://github.com/fortran-lang/stdlib/pull/291): Export package " +"files (CMake and pkg-config)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:46 +msgid "" +"[#290](https://github.com/fortran-lang/stdlib/pull/290): Rename CMake " +"project from stdlib to fortran\\_stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:48 +msgid "" +"[#288](https://github.com/fortran-lang/stdlib/pull/288): Follow GNU " +"install conventions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:50 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284): Required changes" +" to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:52 +msgid "" +"[CMake example](https://github.com/fortran-lang/stdlib-cmake-example): " +"Integration of the Fortran standard library in CMake projects" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:57 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): Add " +"supported compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:100 +msgid "" +"[#342](https://github.com/fortran-lang/fpm/pull/342): Fix broken link in " +"contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:102 +msgid "" +"[#337](https://github.com/fortran-lang/fpm/pull/337): Allow hyphens in " +"fpm project names in \"fpm new\"" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:104 +msgid "" +"[#335](https://github.com/fortran-lang/fpm/pull/335): Fix: performance " +"regression" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:106 +msgid "" +"[#334](https://github.com/fortran-lang/fpm/pull/334): Remove a name clash" +" in the fpm testsuite" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:118 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): Update: " +"fpm\\_backend with dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:138 +msgid "There are a number of pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:140 +msgid "A total of 12 pull requests were merged in January." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:142 +msgid "" +"[PR#932 Do not assume unempty derived types](https://github.com/flang-" +"compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:143 +msgid "" +"[PR#957 Support Prefetch Directive](https://github.com/flang-" +"compiler/flang/pull/957)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:144 +msgid "" +"[PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-" +"compiler/flang/pull/947)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:145 +msgid "" +"[PR#948 Expand CI to run with GCC-9/10 and " +"LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:146 +msgid "" +"[PR#949 USE rename should check if renamed sptr is available in the " +"scope](https://github.com/flang-compiler/flang/pull/949)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:147 +msgid "" +"[PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on " +"codegen](https://github.com/flang-compiler/flang/pull/971)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:148 +msgid "" +"[PR#940 Flang should generate debug location for limited instructions in " +"prolog](https://github.com/flang-compiler/flang/pull/940)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:149 +msgid "" +"[PR#977 Update apt data before installing sphinx](https://github.com" +"/flang-compiler/flang/pull/977)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:150 +msgid "" +"[PR#751 Fix for len intrinsic returning int*8 in some " +"cases](https://github.com/flang-compiler/flang/pull/751)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:151 +msgid "" +"[PR#956 Minor FileCheck pattern fixes](https://github.com/flang-" +"compiler/flang/pull/956)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:152 +msgid "" +"[PR#978 Fix the readme to point to the correct flang-dev " +"list](https://github.com/flang-compiler/flang/pull/978)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:153 +msgid "" +"[PR#979 Rename direct header to avoid windows " +"conflict](https://github.com/flang-compiler/flang/pull/979)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:160 +msgid "" +"OpenMP semantic checks: private, firstprivate, lastprivate, Workshare " +"Construct, `DO` loop restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:161 +msgid "Detect call to abstract interface" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:162 +msgid "" +"OpenMP - add task_reduction clause, make reduction clause part of " +"OmpClause" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:163 +msgid "" +"New Driver - adding support for various options, testing improvements, " +"standard macro pre-definitions, fixed-form detection, CMake improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:164 +msgid "OpenACC - semantic checks to enforce declare directive restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:165 +msgid "Internal subprogram improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:166 +msgid "" +"OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by " +"LabelEnforce" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:167 +msgid "Disallow `INTENT` attribute on procedure dummy arguments" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:168 +msgid "Module file improvements and bug fixes" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:169 +msgid "Add tests for procedure arguments with implicit interfaces" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:171 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:233 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:202 +msgid "" +"Call notes will be sent to the _flang-dev_ email list and also recorded " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:176 +msgid "" +"We had our 8th Fortran Monthly call on January 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:181 +msgid "" +"This year fortran-lang will be applying as a mentor organisation for " +"[Google Summer of Code](https://summerofcode.withgoogle.com/). We have " +"started working on the application and the project ideas; you can join " +"the ongoing discussion [here](https://fortran-lang.discourse.group/t" +"/google-summer-of-code-2021/658). If you'd like to help us flesh out the " +"ideas, or have a project idea of your own, please join our upcoming video" +" calls on February 9 and 16 (call info will be posted in the Discourse " +"thread), or write directly in the Discourse thread. If you're a student, " +"or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:195 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:194 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:296 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:233 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:192 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:208 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:230 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:302 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:316 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:258 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:253 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:309 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:272 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:288 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:263 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:385 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:491 +msgid "" +"[fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang" +"/stdlib-cmake-example)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:201 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:200 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:304 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:241 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:200 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:216 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:238 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:311 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:325 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:267 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:262 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:320 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:283 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:300 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:275 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:397 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:504 +msgid "[j3-fortran/fortran\\_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:9 +msgid "" +"Welcome to the March 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:17 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:17 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:17 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:17 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:17 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:17 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:17 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:17 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:18 +msgid "This month we've had several updates to the website:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:19 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): Fix " +"author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:21 +msgid "" +"[#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): Rename" +" all instances of fortran-lang.github.io to fortran-lang.org" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:23 +msgid "" +"[#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): Update" +" package index" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:25 +msgid "" +"[#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): Fix " +"broken link for LLVM flang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:27 +msgid "" +"[#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): Add " +"more electronic structure and atomistic simulation packages" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:29 +msgid "" +"[#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): Add " +"books to learning section" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:31 +msgid "" +"[#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): Fix " +"package information" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:36 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:37 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:28 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:34 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:30 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:31 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:26 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:38 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) " +"(WIP): Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:48 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271): Probability " +"Distribution and Statistical Functions--PRNG Module" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:50 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304): Add supported " +"compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:52 +msgid "" +"[#310](https://github.com/fortran-lang/stdlib/pull/310): Extend " +"`stdlib_ascii` module for handling character variables" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:54 +msgid "" +"[#324](https://github.com/fortran-lang/stdlib/pull/324): Install " +"setuptools for MinGW builds" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:61 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:63 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:59 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:77 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:67 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:69 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:65 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:75 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:69 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): Implement " +"non-fancy functional string type" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:71 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:71 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:67 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:73 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): Legendre " +"polynomials and Gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:74 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:95 +msgid "Please help improve stdlib by testing and reviewing these pull requests!" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:85 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316): Update subcommand " +"\"new\" to reflect the addition of support for the example/ directory" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:87 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345): Fpm backend with " +"dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:89 +msgid "" +"[#346](https://github.com/fortran-lang/fpm/pull/346): Include root dir in" +" path to default example setup" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:91 +msgid "" +"[#349](https://github.com/fortran-lang/fpm/pull/349): Suggest to move the" +" fpm version in the boostrapping process" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:93 +msgid "" +"[#372](https://github.com/fortran-lang/fpm/pull/372): Unify release mode " +"calling convention" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:100 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Document the " +"specification of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:103 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): Hacky fix for" +" the help test" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:105 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): Install " +"script for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:107 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:148 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:123 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:115 +msgid "" +"[#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): Plugin alpha " +"version" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:109 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): Separate " +"build targets from model structure" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:111 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:131 +msgid "" +"The LFortran team is excited to announce that LFortran is now a [NumFOCUS" +" sponsored project](https://numfocus.org/project/lfortran). Please " +"consider donating to LFortran to accelerate its development." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:133 +msgid "" +"4 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Rohit Goswami](https://rgoswami.me/), " +"[Ondřej Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:138 +msgid "Recent Merge Requests highlights:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:139 +msgid "" +"Complex type support (thanks to [Gagandeep " +"Singh](https://github.com/czgdp1807)): " +"[!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), " +"[!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), " +"[!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), " +"[!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), " +"[!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), " +"[!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). " +"[!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:147 +msgid "" +"Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): " +"[!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), " +"[!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), " +"[!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), " +"[!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:152 +msgid "" +"Initial support for runtime math functions: " +"[!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), " +"[!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673)," +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:155 +msgid "" +"[!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): " +"Implement --show-stacktrace" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:156 +msgid "" +"[!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): " +"Refactor ImplicitCast nodes handling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:158 +msgid "" +"[!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed " +"floating point printing" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:165 +msgid "" +"We had our 9th Fortran Monthly call on February 25. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:170 +msgid "" +"This year Fortran-lang applied as a mentor organization for [Google " +"Summer of Code](https://summerofcode.withgoogle.com/). Accepted mentor " +"organizations will be announced on March 9. If you're a student, or know " +"students who are [eligible to participate](https://developers.google.com" +"/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:174 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee is held virtually" +" from February 22 to March 2 (Monday and Tuesday only). Main topics of " +"dicussion are the planned changes for the Fortran 202X revision of the " +"Standard:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:179 +msgid "[List](https://j3-fortran.org/doc/meeting/223) of all submitted papers" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:180 +msgid "" +"[Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"which papers were discussed each day and voting results" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:182 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:279 +msgid "" +"If you have ideas for new improvements to the language, please propose " +"them [here](https://github.com/j3-fortran/fortran_proposals)." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:9 +msgid "" +"We are excited to announce that Fortran-lang has been accepted as a " +"[Google Summer of Code (GSoC) 2021 mentoring " +"organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)!" +" 🎉" +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:11 +msgid "" +"You can review our project ideas [here](https://github.com/fortran-lang" +"/fortran-lang.org/wiki/GSoC-2021-Project-ideas), and if you have any " +"ideas that are not mentioned, please let us know." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:15 +msgid "" +"We are looking for students to get in touch with us and to apply. Click " +"[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021" +"-Student-instructions) for instructions on how to do so." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:19 +msgid "" +"Our main communication channel will be the [Fortran Discourse](https" +"://fortran-lang.discourse.group/). There, we will announce a date for " +"GSoC video calls where all prospective students are welcome to join to " +"ask questions, discuss, and brainstorm ideas." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:23 +msgid "We look forward to a productive and fun Google Summer of Code!" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:9 +msgid "" +"Welcome to the April 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:19 +msgid "" +"[#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): " +"Correct value of pi in quickstart mini-book" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:21 +msgid "" +"[#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): Added " +"DelaunaySparse to package list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:23 +msgid "" +"[#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) " +"[#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): GSoC " +"announcement" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:26 +msgid "" +"[#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): Avoid " +"unclear formulation in contributing guide" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:28 +msgid "" +"[#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): Add " +"information about free compiler versions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:30 +msgid "" +"[#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): " +"Improve tags" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:32 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): " +"Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:39 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:49 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320): Implement non-" +"fancy functional string type" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:51 +msgid "" +"[#362](https://github.com/fortran-lang/stdlib/pull/362): Fix wording in " +"style guide for dimension attribute" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:53 +msgid "" +"[#352](https://github.com/fortran-lang/stdlib/pull/352): Added TOC to " +"README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:55 +msgid "" +"[#346](https://github.com/fortran-lang/stdlib/pull/346) " +"[#356](https://github.com/fortran-lang/stdlib/pull/356): Added " +"to\\_lower, to\\_upper, reverse and to\\_title function to " +"stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:73 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:69 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:71 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:89 +msgid "" +"[#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): Provide " +"abstract base class for a string object" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:75 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): Add " +"functions to convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:77 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): Implement " +"strip and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:79 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:71 +msgid "" +"[#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): Simplify " +"test makefile" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:81 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:73 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:87 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:113 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:85 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:134 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:81 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:88 +msgid "" +"[#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): Initial " +"checkin for a module for tolerant comparison of reals" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:83 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:75 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): Implement " +"clip function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:85 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:77 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): Add " +"general contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:87 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): Summarize " +"build toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:89 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:79 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:67 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Add sort " +"to stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:91 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:106 +msgid "" +"[Alpha release version 0.2.0](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.2.0)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:107 +msgid "" +"[Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-" +"feedstock)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:108 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352): Hacky fix for the " +"help test" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:110 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357): Install script for " +"Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:112 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369): Separate build " +"targets from model structure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:114 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:116 +msgid "" +"[#377](https://github.com/fortran-lang/fpm/pull/377): Add explicit " +"include-dir key to manifest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:118 +msgid "" +"[#378](https://github.com/fortran-lang/fpm/pull/378): Add ford-compatible" +" documentation to fpm\\_strings.f90" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:120 +msgid "" +"[#386](https://github.com/fortran-lang/fpm/pull/386): Replace deprecated " +"flags in debug\\_fortran option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:122 +msgid "" +"[#390](https://github.com/fortran-lang/fpm/pull/390) " +"[#407](https://github.com/fortran-lang/fpm/pull/407): Implement --flag " +"option for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:125 +msgid "" +"[#397](https://github.com/fortran-lang/fpm/pull/397): Add Conda install " +"instructions to the README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:127 +msgid "" +"[#398](https://github.com/fortran-lang/fpm/pull/398): Minor fix: for " +"setting executable link libraries" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:129 +msgid "" +"[#402](https://github.com/fortran-lang/fpm/pull/402): Add fpm description" +" and reorganize the README intro" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:131 +msgid "" +"[#404](https://github.com/fortran-lang/fpm/pull/404): Correct join for " +"null input" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:133 +msgid "" +"[#409](https://github.com/fortran-lang/fpm/pull/409): Give Programs " +"Access to Code in Subdirectories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:135 +msgid "" +"[#414](https://github.com/fortran-lang/fpm/pull/414): Add few important " +"links to README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:137 +msgid "" +"[#412](https://github.com/fortran-lang/fpm/pull/412): Duplicate module " +"definitions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:139 +msgid "" +"[#413](https://github.com/fortran-lang/fpm/pull/413): Add: omp\\_lib to " +"intrinsic modules list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:141 +msgid "" +"[#419](https://github.com/fortran-lang/fpm/pull/419): Split workflow for " +"Haskell and Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:150 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): Phase out " +"Haskell fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:152 +msgid "" +"[fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): " +"Separate repository for the Haskell fpm version" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:172 +msgid "A total of 10 pull requests were merged in February." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:174 +msgid "" +"[PR#996 tests: one test case supporting PR #966](https://github.com" +"/flang-compiler/flang/pull/996)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:175 +msgid "" +"[PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue" +" #673)](https://github.com/flang-compiler/flang/pull/968)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:176 +msgid "" +"[PR#955 Do not issue an error when character kind 2 is " +"used](https://github.com/flang-compiler/flang/pull/955)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:177 +msgid "" +"[PR#975 Add the option to build release_11x branch of llvm with Github " +"Actions](https://github.com/flang-compiler/flang/pull/975)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:178 +msgid "" +"[PR#974 Fix hash collision handling routine that didn't work due to a " +"fatal mistake (issue #960).](https://github.com/flang-" +"compiler/flang/pull/974)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:179 +msgid "" +"[PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-" +"compiler/flang/pull/1000)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:180 +msgid "" +"[PR#952 Array debugging support with upgraded " +"DISubrange](https://github.com/flang-compiler/flang/pull/952)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:181 +msgid "" +"[PR#1002 Fix for regression introduced by PR #922 (issue " +"#995)](https://github.com/flang-compiler/flang/pull/1002)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:182 +msgid "[PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:183 +msgid "" +"[PR#966 Fixes to address cp2k compilation and runtime " +"issues](https://github.com/flang-compiler/flang/pull/966)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:185 +msgid "A total of 8 pull requests were merged in March." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:187 +msgid "" +"[PR#963 Fix errors on array initialisation with an implied do " +"loop](https://github.com/flang-compiler/flang/pull/963)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:188 +msgid "" +"[PR#1007 fix for issue #1006: stop passing unused uninitialized " +"value](https://github.com/flang-compiler/flang/pull/1007)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:189 +msgid "" +"[PR#1004 Nested implied do loop fix for real numbers](https://github.com" +"/flang-compiler/flang/pull/1004)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:190 +msgid "" +"[PR#710 Test case for capturing procedure pointers to OpenMP parallel " +"regions](https://github.com/flang-compiler/flang/pull/710)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:191 +msgid "" +"[PR#561 flang2: corrected fix for #424](https://github.com/flang-" +"compiler/flang/pull/561)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:192 +msgid "" +"[PR#778 Fixing NCAR test problems with error tolerance lower than " +"E-12.](https://github.com/flang-compiler/flang/pull/778)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:193 +msgid "" +"[PR#1010 LLVM 12 upgrade](https://github.com/flang-" +"compiler/flang/pull/1010)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:194 +msgid "" +"[PR#1012 Remove release_90 from Github Actions](https://github.com/flang-" +"compiler/flang/pull/1012)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:200 +msgid "New Driver:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:201 +msgid "Add options for -fdefault\\* and -flarge-sizes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:202 +msgid "Refine tests for module search directories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:203 +msgid "Add -fdebug-dump-parsing-log" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:204 +msgid "Add -fdebug-module-writer option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:205 +msgid "Add debug dump, measure-parse-tree and pre-fir-tree options" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:206 +msgid "Add -Xflang and make -test-io a frontend-only flang" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:207 +msgid "Add -J and -module-dir to f18 driver" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:208 +msgid "Fix -fdefault\\* family bug" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:209 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:189 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:227 +msgid "FIR (Fortran IR - a dialect of MLIR):" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:210 +msgid "Add diagnostic tests for FIR ops verifier" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:211 +msgid "Add FIR Types parser diagnostic tests" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:212 +msgid "" +"Upstream the pre-FIR tree changes (The PFT has been updated to support " +"Fortran 77)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:213 +msgid "Update flang test tool support classes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:214 +msgid "Add zero_bits, array value, and other operations" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:215 +msgid "" +"Upstream utility function valueHasFirAttribute() to be used in subsequent" +" merges" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:216 +msgid "OpenMP - add semantic checks for:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:217 +msgid "OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:218 +msgid "Occurrence of multiple list items in aligned clause for simd directive" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:219 +msgid "Flang OpenMP 4.5 - 2.15.3.6 Reduction clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:220 +msgid "2.15.4.2 - Copyprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:221 +msgid "2.15.3.4 - Firstprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:222 +msgid "2.15.3.5 - Lastprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:223 +msgid "Update character tests to use gtest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:224 +msgid "Adaptations to MLIR API changes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:225 +msgid "Fix call to CHECK() on overriding an erroneous type-bound procedure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:226 +msgid "Handle type-bound procedures with alternate returns" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:227 +msgid "Runtime: implement INDEX intrinsic function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:228 +msgid "Fix compilation on MinGW-w64" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:229 +msgid "Extension: forward refs to dummy args under IMPLICIT NONE" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:230 +msgid "Detect circularly defined interfaces of procedures" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:231 +msgid "Implement the related character intrinsic functions SCAN and VERIFY" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:237 +msgid "" +"LFortran is participating in GSoC under the NumFOCUS and Fortran-lang " +"umbrella, if you are interested, please apply: " +"[https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:238 +msgid "" +"7 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Himanshu " +"Pandey](https://github.com/hp77-creator), [Thirumalai " +"Shaktivel](https://github.com/Thirumalai-Shaktivel), [Scot " +"Halverson](https://github.com/scothalverson), [Rohit " +"Goswami](https://rgoswami.me/), [Ondřej " +"Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:246 +#, python-format +msgid "" +"114 Merge Requests were " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged)" +" in the past month, highlights" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:247 +msgid "" +"macOS support (both Intel and ARM), compilation and development of " +"LFortran itself (stacktraces work also)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:249 +msgid "" +"Initial implentation of: modules (modfiles, dependencies, ...), " +"interfaces, integer/real kinds, public/private attribute, derived types, " +"strings, variable initializations, pointers, modules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:252 +msgid "Many other fixes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:254 +msgid "" +"LFortran is still in pre-alpha stage, but we are making rapid progress " +"towards getting it to compile more Fortran features. We are looking for " +"contributors, if you are interested, please get in touch and we will help" +" you get started. We can be contacted at Zulip Chat, mailinglist or " +"GitLab issues (see https://lfortran.org for links to all three)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:262 +msgid "" +"We had our 10th Fortran Monthly call on March 24. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:267 +msgid "" +"This year Fortran-lang is a mentor organization for [Google Summer of " +"Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/)." +" If you're a student, or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know. The student application window opened on March 29 and will " +"close on April 13 at 14:00 Eastern Time." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:271 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee concluded on " +"March 2. Main topics of dicussion were the planned changes for the " +"Fortran 202X revision of the Standard. Here's the [list of all submitted " +"papers](https://j3-fortran.org/doc/meeting/223), and the " +"[summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"the papers discussed and voting results. The committee also welcomed a " +"new member, Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), who is the voting " +"alternate to Gary Klimowicz " +"([@gklimowicz](https://github.com/gklimowicz))." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:282 +msgid "" +"Registration is open for the upcoming free webinar on [Fortran for High " +"Performance " +"Computing](https://register.gotowebinar.com/register/7343048137688004108)." +" The webinar is organized by [Excellerat](https://www.excellerat.eu/) and" +" will be presented by Wadud Miah " +"([@wadudmiah](https://github.com/wadudmiah)) from the University of " +"Southampton." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:300 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:237 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:196 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:212 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:234 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:306 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:320 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:262 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:257 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:314 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:277 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:293 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:268 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:390 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:496 +msgid "[fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:303 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:240 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:199 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:215 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:237 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:309 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:323 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:265 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:260 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:317 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:280 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:296 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:271 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:393 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:499 +msgid "" +"[fortran-lang/fortran-forum-article-template](https://github.com/fortran-" +"lang/fortran-forum-article-template)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:9 +msgid "" +"In April 2020 we created a website for the Fortran language at [fortran-" +"lang.org](https://fortran-lang.org/). In exactly one year, it grew to be " +"the first result when you search \"Fortran\" in Bing, Yahoo, DuckDuckGo, " +"Ecosia, Qwant, SearchEncrypt and the second result in Google (after the " +"Wikipedia page for Fortran)." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:15 +msgid "" +"The goal of the website is to maintain a neutral place where any Fortran " +"user (expert or novice), compiler vendor (open source or commercial), " +"Fortran Standards Committee member, enthusiast, supporter or anybody else" +" interested is welcome to participate. Fortran was invented in 1956, and " +"we aim to be the stewards of the language and we welcome you to join us." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:21 +msgid "Here are some of the ways that you can participate:" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:23 +msgid "" +"[Fortran Discourse](https://fortran-lang.discourse.group/) discussion " +"forum" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:24 +msgid "" +"Contribute to [fpm](https://github.com/fortran-lang/fpm/), " +"[stdlib](https://github.com/fortran-lang/stdlib/), the [Fortran " +"website](https://github.com/fortran-lang/fortran-lang.org) or any other " +"project" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:28 +msgid "Join our monthly Fortran call (see announcements at Discourse)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:29 +msgid "Contribute to the Fortran monthly newsletter" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:30 +msgid "" +"Follow our Fortran Twitter account " +"[@fortranlang](https://twitter.com/fortranlang)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:33 +msgid "" +"Thank you everybody for your support so far. We are looking forward for " +"the second year!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:9 +msgid "" +"Welcome to the May 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:19 +msgid "" +"[#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): Add a " +"first year announcement" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:21 +msgid "" +"[#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): Add " +"dl\\_poly\\_4 to package index" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:23 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:30 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:32 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org “Fortran Best Practise” into a mini-book" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:40 +msgid "" +"[#391](https://github.com/fortran-lang/stdlib/pull/391): Add issue " +"templates" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:42 +msgid "" +"[#388](https://github.com/fortran-lang/stdlib/pull/388): Changed " +"filenames for bitset tests" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:44 +msgid "" +"[#384](https://github.com/fortran-lang/stdlib/pull/384): Implement " +"starts\\_with and ends\\_with functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:46 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:48 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360): Summarize build " +"toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:50 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343): Implement strip " +"and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:52 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336): Add functions to" +" convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:81 +msgid "" +"[#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): Correct " +"implementation of to\\_title" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:83 +msgid "" +"[#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): Start the " +"addition of the module stdlib\\_sorting" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:87 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:87 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:109 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:130 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:101 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:151 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:95 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:101 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:128 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:81 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:75 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:89 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:107 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:97 +#, python-format +msgid "" +"Please help improve stdlib by testing and [reviewing pull " +"requests](https://github.com/fortran-" +"lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:98 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420): Phase out Haskell " +"fpm" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:100 +msgid "[#468](https://github.com/fortran-lang/fpm/pull/468): Identify OpenBSD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:102 +msgid "[#465](https://github.com/fortran-lang/fpm/pull/465): Fix typo in README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:104 +msgid "" +"[#442](https://github.com/fortran-lang/fpm/pull/442): Use lib instead of " +"ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:106 +msgid "" +"[#440](https://github.com/fortran-lang/fpm/pull/440): Minor edits to " +"README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:108 +msgid "" +"[#438](https://github.com/fortran-lang/fpm/pull/438): Add external-" +"modules key to build table for non-fpm modules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:110 +msgid "" +"[#437](https://github.com/fortran-lang/fpm/pull/437): Remove coarray " +"single from default Intel flags" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:112 +msgid "" +"[#433](https://github.com/fortran-lang/fpm/pull/433): Fix to allow " +"compiling C with Intel CC" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:114 +msgid "" +"[#431](https://github.com/fortran-lang/fpm/pull/431): Use different " +"compiler flags on differnt platforms for Intel" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:116 +msgid "" +"[#429](https://github.com/fortran-lang/fpm/pull/429): Use wget if curl is" +" missing in install.sh" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:125 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): Use default " +"instead of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:127 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:113 +msgid "" +"[#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): Allow to find" +" include files / modules in CPATH environment variable" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:129 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:111 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): Response " +"files with ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:131 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): Remove " +"coarray flag from intel debug settings" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:133 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:109 +msgid "" +"[#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): Refactor: use" +" objects to represent compilers and archiver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:153 +msgid "A total of 5 pull requests were merged in April." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:155 +msgid "" +"[PR#1021 Switch to new LLVM License](https://github.com/flang-" +"compiler/flang/pull/1021)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:156 +msgid "" +"[PR#1025 runtime: register atfork handler to re-initialize internal " +"flangrti locks at fork](https://github.com/flang-" +"compiler/flang/pull/1025)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:157 +msgid "" +"[PR#1026 Test case update for #895](https://github.com/flang-" +"compiler/flang/pull/1026)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:158 +msgid "" +"[PR#1030 Update README.md](https://github.com/flang-" +"compiler/flang/pull/1030)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:159 +msgid "" +"[PR#1034 Github Action use the prebuilt clang to build " +"flang](https://github.com/flang-compiler/flang/pull/1034)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:166 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:192 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:230 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:158 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:163 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:190 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:197 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:201 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:162 +msgid "OpenMP" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:167 +msgid "[OPENMP5.1]Initial support for novariants clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:168 +msgid "[OPENMP5.1]Initial support for nocontext clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:169 +msgid "" +"Add functionality to check \"close nesting\" of regions, which can be " +"used for Semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:170 +msgid "[OpenMP5.1] Initial support for masked directive and filter clause" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:171 +msgid "" +"Modify semantic check for nesting of `ordered` regions to include `close`" +" nesting check." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:172 +msgid "Remove `OmpEndLoopDirective` handles from code." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:173 +msgid "Add General Semantic Checks for Allocate Directive" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:174 +msgid "New Driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:175 +msgid "Add options for -Werror" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:176 +#, python-format +msgid "" +"Modify the existing test cases that use -Mstandard in f18, to use " +"-pedantic and %flang_fc1 to share with the new driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:177 +msgid "Add support for `-cpp/-nocpp`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:178 +msgid "Fix `-fdebug-dump-provenance`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:179 +msgid "Add debug options not requiring semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:180 +#, python-format +msgid "Remove `%flang-new` from the LIT configuration" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:181 +msgid "Update the regression tests to use the new driver when enabled" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:182 +msgid "Add support for `-fget-definition`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:183 +msgid "Move .f77 to the list of fixed-form file extensions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:234 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:152 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:190 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:227 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:195 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:219 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:174 +msgid "Runtime" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:185 +msgid "Implement reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:186 +msgid "Implement numeric intrinsic functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:187 +msgid "TRANSFER() intrinsic function" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:188 +msgid "RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:189 +msgid "Implement IPARITY, PARITY, and FINDLOC reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:190 +msgid "Fix unit test failure on POWER" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:191 +msgid "Improve constant folding for type parameter inquiries" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:192 +msgid "Check for conflicting BIND(C) names" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:193 +msgid "Enforce a limit on recursive PDT instantiations" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:194 +msgid "Accept & fold IEEE_SELECTED_REAL_KIND" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:195 +msgid "Define missing & needed IEEE_ARITHMETIC symbols" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:196 +msgid "Handle instantiation of procedure pointer components" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:197 +msgid "Fix checking of argument passing for parameterized derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:198 +msgid "Fix spurious errors from runtime derived type table construction" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:199 +msgid "Check for attributes specific to dummy arguments" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:200 +msgid "Handle structure constructors with forward references to PDTs" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:206 +msgid "98 Merge Requests merged in April" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:207 +msgid "" +"Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy " +"app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)):" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:208 +msgid "" +"Code can be parsed to AST and transformed back to source code which " +"compiles with other compilers and works" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:209 +msgid "" +"About 3rd of the files can be transformed from AST to ASR and the modules" +" saved" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:210 +msgid "Other improvements:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:211 +msgid "Runtime library (more functions work)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:212 +msgid "Nested functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:213 +msgid "Derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:217 +msgid "" +"We had our 11th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:222 +msgid "" +"Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the " +"University of Southampton presented a webinar on Fortran for High " +"Performance Computing, organized by " +"[Excellerat](https://www.excellerat.eu/). You can find the slides and the" +" recording [here](https://services.excellerat.eu/viewevent/39)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:9 +msgid "" +"We're happy to announce six students that will work on Fortran projects " +"under the Google Summer of Code 2021 program:" +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:12 +msgid "" +"[Aman Godara](https://github.com/aman-godara) will work on strings in the" +" [Fortran Standard Library](https://github.com/fortran-lang/stdlib). " +"Aman's mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and " +"[Milan Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:16 +msgid "" +"[Rohit Goswami](https://github.com/haozeke) will work on the " +"[LFortran](https://lfortran.org) compiler, specifically toward the " +"capability to compile a complex physics package. Rohit's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:20 +msgid "" +"[Jakub Jelínek](https://github.com/kubajj) will work on handling compiler" +" arguments in the [Fortran Package Manager](https://github.com/fortran-" +"lang/fpm). Jakub's mentors will be [Laurence " +"Kedward](https://github.com/lkedward) and [Brad " +"Richardson](https://github.com/everythingfunctional)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:25 +msgid "" +"[Chetan Karwa](https://github.com/chetankarwa) will work on the linked " +"list support in the [Fortran Standard Library](https://github.com" +"/fortran-lang/stdlib). Chetan's mentors will be [Arjen " +"Markus](https://github.com/arjenmarkus) and [Milan " +"Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:30 +msgid "" +"[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work" +" on the Abstract Syntax Tree generation in the " +"[LFortran](https://lfortran.org) compiler. Thirumalai's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:34 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) will work on the support " +"of arrays and allocatables in the [LFortran](https://lfortran.org) " +"compiler. Gagandeep's mentor will be [Ondřej " +"Čertík](https://github.com/certik). Gagandeep was accepted under the " +"NumFOCUS application to GSoC." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:39 +msgid "" +"This is the first year that Fortran-lang applied for Google Summer of " +"Code, and we're beyond excited that our project was allocated this many " +"student slots. You can follow students' progress in their weekly reports " +"in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:43 +msgid "Thank you, Google, for your support of Fortran and open source software!" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:9 +msgid "" +"Welcome to the June 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:19 +msgid "" +"[#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): " +"Grammar and typo fixes in main page and quickstart minibook" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:21 +msgid "" +"[#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): Script" +" for summarizing PRs" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:23 +msgid "" +"[#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): " +"MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package " +"index" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:25 +msgid "" +"[#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): Fixed " +"grammar in Easy to learn section" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:30 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:44 +msgid "" +"[#417](https://github.com/fortran-lang/stdlib/pull/417): Add GCC-11 to " +"workflow" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:46 +msgid "" +"[#415](https://github.com/fortran-lang/stdlib/pull/415): Corrected Ubuntu" +" version" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:48 +msgid "" +"[#407](https://github.com/fortran-lang/stdlib/pull/407): Changed " +"to\\_title to to\\_sentence and implemented correct to\\_title" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:50 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359): Add general " +"contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:52 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355): Implement clip " +"function" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:57 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:83 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:59 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:61 +msgid "" +"[#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): Improved " +"support for NAG" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:63 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): " +"Implemented intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:65 +msgid "" +"[#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): Addition " +"of the stdlib\\_sorting module" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:96 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:120 +msgid "Here is what is new in *fpm*:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:98 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450): Remove coarray flag" +" from intel debug settings" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:100 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423): Use default instead" +" of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:107 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): Allow fpm to " +"change the working directory" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:136 +msgid "" +"39 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:137 +msgid "Features that can now be compiled (in the LLVM backend):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:138 +msgid "More nested functions and callbacks (the context is properly propagated)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:139 +msgid "Runtime: size, lbound, ubound" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:140 +msgid "Return statement" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:141 +msgid "More array operations and declarations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:142 +msgid "Array initializer expressions" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:143 +msgid "Features in ASR only (semantics):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:144 +msgid "Runtime intrinsics: min, max, allocated" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:145 +msgid "Features in AST only (syntax):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:146 +msgid "Co-arrays" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:147 +msgid "Methods" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:148 +msgid "Enumerations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:149 +msgid "Attributes in `use`" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:150 +msgid "BOZ constants" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:151 +msgid "Forall" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:152 +msgid "More interfaces" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:153 +msgid "Import" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:154 +msgid "Implicit statements" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:155 +msgid "Select type" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:157 +msgid "The following people contributed code in May 2021:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:159 +msgid "Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:160 +msgid "" +"Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com" +"/Thirumalai-Shaktivel))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:161 +msgid "Ondřej Čertík ([@certik](https://github.com/certik))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:162 +msgid "Dominic Poerio ([@dpoe](https://gitlab.com/dpoe))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:167 +msgid "" +"We had our 12th Fortran Monthly call on May 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:172 +msgid "" +"Google Summer of Code program has announced the allocation of students to" +" each project. Fortran-lang received six studens (one through " +"[NumFOCUS](https://numfocus.org/)) who will work across three " +"subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to " +"students [Aman Godara](https://github.com/aman-godara), [Rohit " +"Goswami](https://github.com/haozeke), [Jakub " +"Jelínek](https://github.com/kubajj), [Chetan " +"Karwa](https://github.com/chetankarwa), [Thirumalai " +"Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and [Gagandeep " +"Singh](https://github.com/czgdp1807). Read the full post [here](https" +"://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:9 +msgid "" +"Welcome to the July 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:19 +msgid "" +"[#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): Add " +"LATTE tight-binding molecular dynamics code to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:21 +msgid "" +"[#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): Add " +"crest program to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:23 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:25 +msgid "" +"[#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): Add " +"the SNaC package to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:27 +msgid "" +"[#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): Add " +"QUICK to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:32 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): " +"Add projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:34 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): " +"Add convert_FORTRAN_case formatter to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:36 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:48 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:28 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:38 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:54 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Draft: Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:48 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313): Legendre " +"polynomials and gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:50 +msgid "[#432](https://github.com/fortran-lang/stdlib/pull/432): Outer product" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:52 +msgid "" +"[#439](https://github.com/fortran-lang/stdlib/pull/439): Reduce time " +"spent on sorting tests" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:54 +msgid "" +"[#440](https://github.com/fortran-lang/stdlib/pull/440): Make maximum " +"rank an option" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:56 +msgid "" +"[#433](https://github.com/fortran-lang/stdlib/pull/433): Implemented low " +"level find function for string matching" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:58 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414): Implemented " +"intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:60 +msgid "" +"[#428](https://github.com/fortran-lang/stdlib/pull/428): Fix issue with " +"stdlib_sorting" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:62 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:64 +msgid "" +"[#430](https://github.com/fortran-lang/stdlib/pull/430): Remove support " +"for GCC 7 and 8" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:66 +msgid "" +"[#424](https://github.com/fortran-lang/stdlib/pull/424): Add separate " +"logical kind parameters" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:71 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): Add `disp`" +" function to display your data" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:73 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` to format other type to string" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:75 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): Implement " +"pad function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:77 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:109 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:81 +msgid "" +"[#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): [FPM] add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:79 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): Implement " +"low-level replace_all function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:81 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): Addition " +"of a subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:85 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:111 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:83 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:132 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:79 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:86 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:117 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:72 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:66 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:80 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:98 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:86 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Sorting " +"string's characters according to their ASCII values" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:91 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): String " +"list new" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:93 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:115 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:87 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:136 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:83 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:90 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:119 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:74 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:68 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:82 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:100 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:88 +msgid "" +"[#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): " +"Probability Distribution and Statistical Functions -- Beta Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:95 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:117 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:89 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:138 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:85 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:92 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:121 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:76 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:70 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:84 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:102 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:90 +msgid "" +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Probability Distribution and Statistical Functions -- Gamma Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:97 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:119 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:91 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:140 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:87 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:94 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:123 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): " +"Probability Distribution and Statistical Functions -- Exponential " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:99 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:121 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:93 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:142 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:89 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:96 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): " +"Probability Distribution and Statistical Functions -- Normal Distribution" +" Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:101 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:123 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:95 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:144 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): " +"Probability Distribution and Statistical Functions -- Uniform " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:103 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:125 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:97 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:146 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:91 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:98 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:125 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:78 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:72 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:86 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:104 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:92 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of COO / CSR sparse format" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:105 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:127 +msgid "" +"[#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): Update " +"CMAKE files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:118 +msgid "" +"__Alpha release update:__ Last month saw the release of __v0.3.0__ for " +"*fpm* which includes a number of [new features and bug " +"fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:122 +msgid "" +"[#504](https://github.com/fortran-lang/fpm/pull/504): install.sh, " +"README.md: Update version number, single source file extension" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:124 +msgid "" +"[#501](https://github.com/fortran-lang/fpm/pull/501): Bump version for " +"new release" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:126 +msgid "" +"[#491](https://github.com/fortran-lang/fpm/pull/491): Catch " +"execute_command_line errors and print useful messages" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:128 +msgid "" +"[#500](https://github.com/fortran-lang/fpm/pull/500): Allow reading " +"version number from file" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:130 +msgid "" +"[#497](https://github.com/fortran-lang/fpm/pull/497): correct for equal " +"sign in flag options to fix #495" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:132 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449): Response files with" +" ar on Windows" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:134 +msgid "" +"[#490](https://github.com/fortran-lang/fpm/pull/490): Minor fix to module" +" parsing" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:136 +msgid "" +"[#489](https://github.com/fortran-lang/fpm/pull/489): Redirect output " +"when searching for archiver" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:138 +msgid "" +"[#484](https://github.com/fortran-lang/fpm/pull/484): Add support for " +"invoking simple plugins" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:140 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483): Allow fpm to change" +" the working directory" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:147 +msgid "" +"[#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): quiet mode " +"for #502" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:149 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:164 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Draft - " +"Compiler flags profiles" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:170 +msgid "" +"49 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:171 +msgid "Highlights" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:172 +msgid "" +"Improvements to array support in the LLVM backend and at the ASR level: " +"array sections, allocatable arrays, and other improvements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:174 +msgid "" +"Many parser fixes (`lfortran fmt` works on more projects): block data, " +"common block, equivalence, custom operator declaration, flush, critical " +"and event statements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:177 +msgid "More runtime functions: minval, maxval, real, sum, abs" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:178 +msgid "Optional human readable mod files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:183 +msgid "" +"We had our 13th Fortran Monthly call on June 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:188 +msgid "" +"Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually " +"from June 21-30 (Mondays and Wednesdays only). You can find all the " +"papers that were discussed " +"[here](https://j3-fortran.org/doc/meeting/224). Highlights from the " +"meeting:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:189 +msgid "" +"Conditional expressions syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:190 +msgid "" +"Protected components specifications and syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-168.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:191 +msgid "" +"The generics feature planned for Fortran 202Y was discussed at depth " +"([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:192 +msgid "" +"Jeff Hammond (NVidia Corporation) is the new J3 member as a voting " +"alternate to Bryce Adelstein-Lelbach." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:193 +msgid "Target year for Fortran 202X is 2023, subject to change." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:195 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:197 +msgid "" +"Work has started for our Google Summer of Code program. You read about " +"our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:9 +msgid "" +"Welcome to the August 2021 edition of the monthly Fortran newsletter. The" +" newsletter comes out at the beginning of every month and details Fortran" +" news from the previous month." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:19 +msgid "" +"[#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): July " +"newsletter" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:21 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): Add " +"`convert_FORTRAN_case` formatter to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:23 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): Add " +"projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:25 +msgid "" +"[#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): PRs " +"script updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:27 +msgid "" +"[#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): " +"Installation process for GFortran on OpenBSD" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:29 +msgid "" +"[#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): Add " +"Flatiron institute multipole libraries to the package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:31 +msgid "" +"[#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): Small " +"fix in packages index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:33 +msgid "" +"[#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): Bump " +"addressable from 2.7.0 to 2.8.0" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:35 +msgid "" +"[#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): add " +"Apogee and Edinburgh compilers" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:37 +msgid "" +"[#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): Add " +"arrayfire-fortran to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:39 +msgid "" +"[#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): " +"compilers: use more objective tone" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:41 +msgid "" +"[#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): my " +"software with at least 5 stars" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:43 +msgid "" +"[#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): Fix " +"insecure workflow." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:58 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:38 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:66 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:44 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:37 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:46 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:37 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:37 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:43 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:61 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:47 +msgid "Here's what's new in stdlib:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:60 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436): implemented low-" +"level `replace_all` function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:62 +msgid "" +"[#454](https://github.com/fortran-lang/stdlib/pull/454): added " +"`stdlib_math` to specs/index.md" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:64 +msgid "" +"[#453](https://github.com/fortran-lang/stdlib/pull/453): implemented " +"count function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:66 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441): implemented pad " +"function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:68 +msgid "" +"[#456](https://github.com/fortran-lang/stdlib/pull/456): slice function's" +" documentation made user friendly" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:70 +msgid "" +"[#459](https://github.com/fortran-lang/stdlib/pull/459): Fix CMake " +"variable usage" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:72 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:74 +msgid "[#468](https://github.com/fortran-lang/stdlib/pull/468): Update CI" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:76 +msgid "" +"[#469](https://github.com/fortran-lang/stdlib/pull/469): CMake: " +"corrections and updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:78 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426): Addition of a " +"subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:80 +msgid "" +"[#474](https://github.com/fortran-lang/stdlib/pull/474): Bug fix: " +"Allocatable argument 'x' is not allocated #472" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:85 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): " +"[`stdlib_linalg`] Update eye function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:87 +msgid "" +"[#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): " +"[`stdlib_math`] Add seq function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:89 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[`stdlib_linalg`] Add zeros, ones, ex function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:91 +msgid "" +"[#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): " +"[`stdlib_linalg`] Add empty function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:93 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to character type with fypp" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:95 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:73 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:126 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:77 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:84 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:115 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:70 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:64 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:78 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:96 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:84 +msgid "" +"[#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): Error stop" +" improvements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:97 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): Revival " +"string list" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:99 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): " +"implemented `move_alloc` for `string_type`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:101 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"`stdlib_hash`: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:103 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:77 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:130 +msgid "" +"[#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): " +"Implementation of a map data type" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:105 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): [feature] " +"`disp`(display your data) & `format_string`(format other type to string, " +"see #444)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:107 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:139 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:110 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:160 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:104 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:110 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:137 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:90 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:84 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:98 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:116 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:106 +msgid "Here's what's new in fpm:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:141 +msgid "" +"[#507](https://github.com/fortran-lang/fpm/pull/507): optimize file " +"listing" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:143 +msgid "" +"[#511](https://github.com/fortran-lang/fpm/pull/511): check name used for" +" package, executable, test, or example" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:145 +msgid "" +"[#516](https://github.com/fortran-lang/fpm/pull/516): initialize " +"allocatable strings before using in a comparison" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:147 +msgid "[#517](https://github.com/fortran-lang/fpm/pull/517): Fix run" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:149 +msgid "" +"[#522](https://github.com/fortran-lang/fpm/pull/522): remove warnings and" +" fix truncated help text" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:151 +msgid "" +"[#523](https://github.com/fortran-lang/fpm/pull/523): Fix compilation " +"error in ifort" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:156 +msgid "" +"[#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): proposal to " +"close #525 by generating build/.gitignore" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:158 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): Add objects " +"for handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:160 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): expand tabs" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:162 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Draft: " +"initial implementation of `implicit_none`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:184 +msgid "Updates for July 2021:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:186 +msgid "" +"90 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" MRs, this month we have crossed 1000 total merged MRs, 12 total " +"contributors" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:187 +msgid "" +"Parser: we asked the community to test it, several people have reported " +"about 15 bugs, we have fixed all of them (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:189 +msgid "Initial fixed form parser (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:190 +msgid "Classes and class procedures (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:191 +msgid "Many common array usage now works, including allocatable (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:192 +msgid "Associate construct (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:193 +msgid "Compile time evaluation of constant expressions (ASR)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:194 +msgid "7 people contributed code:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:195 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:217 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:275 +msgid "Ondřej Čertík" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:196 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:218 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:278 +msgid "Thirumalai Shaktivel" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:197 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:220 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:276 +msgid "Gagandeep Singh" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:198 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:219 +msgid "Rohit Goswami" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:199 +msgid "Dominic Poerio" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:200 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:221 +msgid "Andrew Best" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:201 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:280 +msgid "Sebastian Ehlert" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:203 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)!" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:209 +msgid "" +"We had our 14th Fortran Monthly call on July 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:214 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The first call" +" for abstracts is due August 1, and the second is due September 1. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:219 +msgid "" +"Work is well under way started for our Google Summer of Code program. " +"Read about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:9 +msgid "" +"Welcome to the September 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:19 +msgid "" +"[#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): Add " +"NJOY to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:22 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:127 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:171 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:94 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:188 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:29 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:51 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:117 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:22 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:56 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:133 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:33 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:93 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:142 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:24 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:50 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:112 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:24 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:42 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:101 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:28 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:109 +msgid "Work in progress" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:24 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): " +"Update Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:26 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): " +"Add QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:40 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467): Implemented " +"move_alloc for string_type" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:42 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470): Revival string " +"list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:44 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481): [stdlib_linalg] " +"Update eye function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:46 +msgid "" +"[#493](https://github.com/fortran-lang/stdlib/pull/493): Update copyright" +" and remove old artifact" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:48 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444): Add " +"format_string routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:50 +msgid "" +"[#483](https://github.com/fortran-lang/stdlib/pull/483): Remove GCC " +"Fortran MinGW 8.4.0 from known to work list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:55 +msgid "" +"[#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): Minor " +"updates to README.md" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:57 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:114 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:65 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:74 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:59 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:116 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:76 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:61 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:118 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:63 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:120 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:71 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): Add " +"testing module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:65 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:122 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:73 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:80 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:113 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:68 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:62 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:76 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:94 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:82 +msgid "" +"[#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): Stdlib " +"linked list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:67 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:124 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:82 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:69 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[stdlib_linalg] Add zeros, ones function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:71 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:75 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:128 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"stdlib_hash: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:79 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): " +"[stdlib_io] `disp`(display your data)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:112 +msgid "" +"[Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0):" +" Alpha release update" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:114 +msgid "" +"[#546](https://github.com/fortran-lang/fpm/pull/546): Update version for " +"release 0.4.0" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:116 +msgid "" +"[#548](https://github.com/fortran-lang/fpm/pull/548): Fix build on " +"MacOS/ARM64" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:118 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527): Add objects for " +"handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:120 +msgid "" +"[#536](https://github.com/fortran-lang/fpm/pull/536): Always call `git " +"init` in fpm new when backfilling" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:122 +msgid "" +"[#533](https://github.com/fortran-lang/fpm/pull/533): Allow extra section" +" in package manifest" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:124 +msgid "" +"[#528](https://github.com/fortran-lang/fpm/pull/528): Generate " +"`build/.gitignore`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:129 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:194 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:123 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:139 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:152 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:126 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:109 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:123 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:141 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:125 +msgid "" +"[#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): Add parent " +"packages into dependency tree" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:131 +msgid "" +"[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): Expand tabs " +"in source parsing" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:133 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Initial " +"implementation of implicit_none" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:135 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:196 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:125 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:141 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:154 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:128 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:111 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:125 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:143 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:127 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Compiler " +"flags profiles" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:151 +msgid "FFTPACK" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:153 +msgid "" +"Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík " +"([@certik](https://github.com/certik)) started maintaining the public " +"domain project FFTPACK under the Fortran-lang namespace. The project is " +"readily available for usage in with fpm." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:156 +msgid "Here is what is new in FFTPACK:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:158 +msgid "" +"[#10](https://github.com/fortran-lang/fftpack/pull/10): Add " +"`(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:160 +msgid "" +"[#7](https://github.com/fortran-lang/fftpack/pull/7): Add " +"`dzffti/dzfftf/dzfftb` interfaces" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:162 +msgid "" +"[#4](https://github.com/fortran-lang/fftpack/pull/4): Improve fft " +"interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:164 +msgid "" +"[#6](https://github.com/fortran-lang/fftpack/pull/6): Add " +"`(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:166 +msgid "" +"[#5](https://github.com/fortran-lang/fftpack/pull/5): Add " +"`fftshift/ifftshift`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:168 +msgid "[#3](https://github.com/fortran-lang/fftpack/pull/3): Add CI: fpm.yml" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:173 +msgid "" +"[#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): Add " +"`(i)dct/dcosti/dcost` interfaces." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:176 +msgid "Feedback and ideas for this project are welcome." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:180 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:219 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:148 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:163 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:175 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:153 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:134 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:146 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:164 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:148 +msgid "Flang" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:223 +msgid "New Driver and CMake integration:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:185 +msgid "The new driver has replaced the old, hence f18 has been deleted." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:186 +msgid "" +"flang-new (aka. the new driver) now drives the flang bash script before " +"an external compiler is called." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:187 +msgid "Code-generation work is ongoing." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:188 +msgid "" +"Work is now proceeding to enable CMake to recognize the compiler and set " +"the appropriate options for build configurations." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:190 +msgid "" +"Fortran 95 lowering and runtime support is nearing completion, " +"particularly of intrinsics" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:191 +msgid "Code upstreaming will begin again in earnest once F95 is deemed complete" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:193 +msgid "Nesting of region semantic checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:194 +msgid "enter_data MLIR to LLVM IR lowering" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:195 +msgid "Semantic checks for allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:196 +msgid "Lowering for various modifiers for the schedule clause" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:197 +msgid "Pretty printer and parser for omp.target operation" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:198 +msgid "Semantic checks for linear, nested barrier, allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:199 +msgid "Progress with firstprivate, critical, collapse, ordered, reduction" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:200 +msgid "Lift -Werror checks into local functions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:201 +msgid "Document the flang wrapper script" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:202 +msgid "Fix the extent calculation when upper bounds are less than lower bounds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:203 +msgid "Fix list-directed plural repeated null values at end of record" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:204 +msgid "Fix build failure on MacOS involving std::clock_t" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:205 +msgid "Fix error messages on Windows." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:206 +msgid "Disable Plugins in out-of-tree builds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:207 +msgid "Correct off-by-one error in SET_EXPONENT" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:209 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:265 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:216 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:212 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:267 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:194 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:249 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:235 +msgid "" +"Call notes are recorded and available upon request " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-" +"Holby at aperry@lanl.gov for document access." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:213 +msgid "" +"168 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in August 2021" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:216 +msgid "The following people have contributed code to LFortran in August:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:222 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:277 +msgid "Carlos Une" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:223 +msgid "Sebastian Ehlert got LFortran working with fpm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:224 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:282 +msgid "Many people have reported bugs (thank you all!)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:225 +msgid "" +"Our 3 Google Summer of Code (GSoC) students have successfully finished " +"their projects. Here are their final reports:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:227 +msgid "" +"Gagandeep Singh: " +"[https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:228 +msgid "" +"Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-" +"Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com" +"/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:229 +msgid "" +"Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-" +"reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:231 +msgid "LFortran 0.12.0 was released on August 15" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:233 +msgid "Changes since the last release." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:235 +msgid "Fixed all issues in the parser that were reported (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:236 +msgid "multiple loop single end do" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:237 +msgid "arithmetic if" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:238 +msgid "" +"Comments and empty lines are now represented in AST and formatted " +"correctly (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:239 +msgid "" +"The formatter (`lfortran fmt`) now uses the minimal amount of parentheses" +" in expressions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:240 +msgid "Initial fixed-form parser (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:241 +msgid "Initial class support (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:242 +msgid "Allocate / deallocate, allocatable arrays (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:243 +msgid "Associate block (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:244 +msgid "Runtime library refactoring (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:245 +msgid "Split into builtin, pure and impure" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:246 +msgid "`iso_fortran_env`, `iso_c_binding` intrinsic modules added" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:247 +msgid "Compile time evaluation (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:249 +msgid "Commits (`git shortlog -ns v0.11.0..v0.12.0`):" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:260 +msgid "Updates in master since the last release:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:262 +msgid "LFortran can now compile binaries on Windows" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:263 +msgid "C interoperation works on all platforms (including Windows and MSVC)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:264 +msgid "Runtime library improvements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:265 +msgid "Complex intrinsics fixed on all platforms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:266 +msgid "" +"All trigonometric functions now use the Fortran `impure` interface in the" +" runtime library" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:267 +msgid "More intrinsics implemented" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:268 +msgid "Initial implementation of classes and methods" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:269 +msgid "" +"LFortran now works with `fpm` and compiles the hello world project and a " +"few other example projects" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:270 +msgid "Parser improvements: team and sync statements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:271 +msgid "" +"Improved handling of character types as function arguments and return " +"values" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:274 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)! We would be happy to do a " +"video call with you to get you started." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:281 +msgid "" +"We had our 15th Fortran Monthly call on August 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:285 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The second " +"call for abstracts is due September 1. For more information, visit the " +"[FortranCon website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:290 +msgid "" +"Our Google Summer of Code program for 2021 is coming to a close. Read " +"about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:310 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:324 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:266 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:261 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:318 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:281 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:297 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:272 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:394 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:500 +msgid "[fortran-lang/fftpack](https://github.com/fortran-lang/fftpack)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:9 +msgid "" +"Welcome to the October 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:19 +msgid "" +"[#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): " +"September newsletter draft" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:21 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): Add " +"QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:23 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): Update" +" Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:25 +msgid "" +"[#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): Fixed " +"typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:27 +msgid "" +"[#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): remove" +" excess 'mpi' tag from fortran2018-examples" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:29 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:31 +msgid "" +"[#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): " +"grammar and spelling from issue #313" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:33 +msgid "" +"[#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): more " +"grammar, spelling, and rewording for Fortran Best Practices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:35 +msgid "" +"[#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): " +"replaced \"be found be found\" with \"be found\"" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:37 +msgid "" +"[#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): " +"Alternative approach to avoiding integer division" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:39 +msgid "" +"[#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): Add " +"incompact3d to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:41 +msgid "" +"[#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): Add " +"fparser to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:43 +msgid "" +"[#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): Adding" +" two more packages to the index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:45 +msgid "" +"[#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): Add " +"pFlogger to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:47 +msgid "" +"[#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): One " +"more package" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:52 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:68 +msgid "[#509](https://github.com/fortran-lang/stdlib/pull/509): fixed typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:70 +msgid "" +"[#503](https://github.com/fortran-lang/stdlib/pull/503): refactor " +"documentation regarding consistency" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:72 +msgid "" +"[#511](https://github.com/fortran-lang/stdlib/pull/511): Correctly set " +"CMAKE_INSTALL_MODULEDIR cache variable" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:74 +msgid "" +"[#513](https://github.com/fortran-lang/stdlib/pull/513): Update issue " +"templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:76 +msgid "" +"[#523](https://github.com/fortran-lang/stdlib/pull/523): Rename " +"config.yaml -> config.yml" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:78 +msgid "" +"[#508](https://github.com/fortran-lang/stdlib/pull/508): github-ci: add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:80 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475): Generating " +"sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:82 +msgid "" +"[#525](https://github.com/fortran-lang/stdlib/pull/525): Add files " +"generated by tests to gitignore" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:84 +msgid "" +"[#529](https://github.com/fortran-lang/stdlib/pull/529): Add maintainer " +"entry to fpm manifest" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:86 +msgid "" +"[#530](https://github.com/fortran-lang/stdlib/pull/530): Make it clearer " +"how the user can control compiler optimization" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:88 +msgid "" +"[#528](https://github.com/fortran-lang/stdlib/pull/528): Reduce " +"redundancy caused by optional arguments" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:90 +msgid "" +"[#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) " +"(`stdlib-cmake-example`): Add example integration with test-drive" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:96 +msgid "" +"[#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): Fix string" +" concat" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:98 +msgid "" +"[#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): Add " +"function gcd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:100 +msgid "" +"[#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): Bump " +"stdlib version to 0.1.0" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:102 +msgid "" +"[#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): Add a " +"changelog for the current features of stdlib" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:104 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:57 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:66 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:105 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:60 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:54 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:86 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:74 +msgid "" +"[#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): Fix " +"conversion warnings" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:106 +msgid "" +"[#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): Ensure " +"module output directory is generated in configure stage" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:108 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display your data)." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:110 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:70 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:109 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:64 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:58 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:72 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:90 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:78 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC_TEMPLATE.md #504" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:112 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:63 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:72 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:111 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:66 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:60 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:74 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:92 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:80 +msgid "" +"[#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): pop, drop " +"& get with basic range feature for stringlist" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:162 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521): expand tabs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:164 +msgid "" +"[#557](https://github.com/fortran-lang/fpm/pull/557): Update installer " +"script to update subprojects first" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:166 +msgid "[#558](https://github.com/fortran-lang/fpm/pull/558): Add issue templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:168 +msgid "" +"[#565](https://github.com/fortran-lang/fpm/pull/565): Default branch " +"renaming aftermath" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:170 +msgid "" +"[#562](https://github.com/fortran-lang/fpm/pull/562): Add new " +"distributions where fpm is available to README" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:172 +msgid "" +"[#563](https://github.com/fortran-lang/fpm/pull/563): Add workflow to " +"create single source fpm version" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:174 +msgid "" +"[#564](https://github.com/fortran-lang/fpm/pull/564): Separate upload " +"stage in CI testing" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:176 +msgid "" +"[#572](https://github.com/fortran-lang/fpm/pull/572): Build no tests by " +"default" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:178 +msgid "" +"[#549](https://github.com/fortran-lang/fpm/pull/549): Allow setting, " +"archiver, C compiler flags and linker flags from commandline" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:180 +msgid "" +"[#578](https://github.com/fortran-lang/fpm/pull/578): help text was " +"truncated" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:182 +msgid "" +"[#579](https://github.com/fortran-lang/fpm/pull/579): Fix dir not getting" +" removed after testing fpm" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:184 +msgid "" +"[#584](https://github.com/fortran-lang/fpm/pull/584): Actually read " +"environment variables" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:190 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): Enable " +"multiple build output directories" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:192 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:121 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): Add workflow " +"for continuous delivery" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:224 +msgid "" +"flang-omp-report plugin - first full fledged frontend plugin has been " +"contributed" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:225 +msgid "CMake integration - waiting on a new PR" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:226 +msgid "" +"Code-generation work is ongoing - task list has been presented to the " +"community for discussion and approval" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:228 +msgid "Fortran 95 lowering and runtime support is nearing completion" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:229 +msgid "Code upstreaming has begun again" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:231 +msgid "Merged: Critical, collapse clause, Fixes for SNAP." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:232 +msgid "" +"In review: Firstprivate, Ordered, MLIR definitions for a few target side " +"constructs, semantic checks for atomic, critical, sections, simd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:233 +msgid "OpenMP 5.0 metadirective" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:235 +msgid "Change complex type define in runtime for clang-cl" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:236 +msgid "Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:237 +msgid "" +"GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, " +"STATUS and ERRMSG parameters." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:238 +msgid "COMMAND_ARGUMENT_COUNT runtime implementation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:239 +msgid "Add POSIX implementation for SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:240 +msgid "Fix WRITE after BACKSPACE on variable-length file" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:241 +msgid "Implement Posix version of DATE_AND_TIME runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:242 +msgid "Ported test scripts to Python, enables testing on Windows" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:243 +msgid "More precise checks for NULL() operands" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:244 +msgid "Enforce array conformance in actual arguments to ELEMENTALs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:245 +msgid "" +"Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, " +"UNPACK, and TRANSPOSE" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:246 +msgid "Make this_image() an intrinsic function" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:247 +msgid "Revamp C1502 checking of END INTERFACE [generic-spec]" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:248 +msgid "Accept SIZE(assumed-rank, DIM=n)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:249 +msgid "Validate SIZE(x,DIM=n) dimension for assumed-size array x" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:250 +msgid "Catch errors with intrinsic array inquiry functions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:251 +msgid "Correct overflow detection in folding of real->integer conversions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:252 +msgid "Upgrade warning to error in case of PURE procedure" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:253 +msgid "Enforce fixed form rules about END continuation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:254 +msgid "Enforce specification function rules on callee, not call" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:255 +msgid "Catch error: base of DATA statement object can't be a pointer" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:256 +msgid "Represent parentheses around derived types" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:257 +msgid "Enforce constraint: defined ass't in WHERE must be elemental" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:258 +msgid "Catch branching into FORALL/WHERE constructs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:259 +msgid "Implement semantic checks for ELEMENTAL subprograms" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:260 +msgid "Signal EOR in non advancing IO and move to next record" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:261 +msgid "Extension: reduced scope for some implied DO loop indices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:262 +msgid "Take result length into account in ApplyElementwise folding" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:263 +msgid "Apply double precision KindCode in specific proc interface" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:269 +msgid "" +"81 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in September 2021" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:272 +msgid "" +"LFortran Minimum Viable Product (MVP) " +"[released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-" +"product-mvp/)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:273 +msgid "LFortran 0.13.0, 0.13.1 and 0.14.0 released in September" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:274 +msgid "The following people have contributed code to LFortran in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:279 +msgid "Harris M. Snyder" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:281 +msgid "Mengjia Lyu" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:283 +msgid "Main features implemented in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:284 +msgid "Operator overloading (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:285 +msgid "Goto (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:286 +msgid "Runtime library improvements: `iand`, `len`, `trim`, `len_trim`" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:287 +msgid "" +"Interactive mode: get complex numbers, intrinsic functions working " +"(Windows, macOS, Linux)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:289 +msgid "New driver options: --fast, --symtab-only, --target" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:292 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:227 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:228 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:281 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:247 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:259 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:367 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:468 +msgid "" +"We are looking for new contributors. Please do not hesitate to contact us" +" if you are interested. We will help you get up to speed." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:298 +msgid "" +"We had our 16th Fortran Monthly call on September 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:302 +msgid "" +"The second international Fortran Conference (FortranCon) 2021 was held " +"virtually on September 23-24 Video recordings of the talks will be made " +"available soon. For more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:9 +msgid "" +"Welcome to the November 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:20 +msgid "" +"[#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): Fix " +"title in learning resources" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:22 +msgid "" +"[#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): Add " +"Cantera to package index" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:24 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:26 +msgid "" +"[#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): Minor " +"fixes in Best Practices" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:46 +msgid "" +"[0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): " +"Initial version of the Fortran standard library" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:48 +msgid "[#543](https://github.com/fortran-lang/stdlib/pull/543): Fix string concat" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:53 +msgid "" +"[#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): Hash " +"functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:55 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): Fix bug in" +" stringlist" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:59 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib\\_io] add `disp` (display your data)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:61 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC\\_TEMPLATE.md" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:67 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib\\_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:69 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib\\_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:75 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib\\_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:106 +msgid "" +"[#597](https://github.com/fortran-lang/fpm/pull/597): Add LFortran " +"optimization flag to release profile" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:108 +msgid "" +"[#595](https://github.com/fortran-lang/fpm/pull/595): List names without " +"suffix (mainly for Windows)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:110 +msgid "" +"[#590](https://github.com/fortran-lang/fpm/pull/590): Change link command" +" on Windows with `ifort` or `ifx`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:112 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575): Enable multiple " +"build output directories" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:114 +msgid "" +"[#587](https://github.com/fortran-lang/fpm/pull/587): Bootstrapping " +"instructions version update" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:119 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): Update " +"README.md compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:132 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:147 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/main/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:153 +msgid "Front-end and runtime support for CALL EXIT and ABORT" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:154 +msgid "Fix formatted real input regression w/ spaces" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:155 +msgid "Add runtime interface for GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:156 +msgid "More work on SYSTEM_CLOCK runtime API and implementation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:157 +msgid "Implement GET_ENVIRONMENT_VARIABLE(LENGTH)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:159 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for sections " +"construct and test case for simd construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:160 +msgid "" +"Added test case for OpenMP 5.0 specification based semantic checks for " +"parallel sections construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:161 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for CRITICAL " +"construct name resolution" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:162 +msgid "Checks for THREADPRIVATE and DECLARE TARGET Directives" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:163 +msgid "Initial parsing/sema for append_args clause for 'declare variant'" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:164 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:170 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:179 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:157 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:138 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:150 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:168 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:150 +msgid "FIR" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:165 +msgid "" +"Add typeparams to fir.array_update, fir.array_fetch and " +"fir.array_merge_store operations. Add optional slice operands to " +"fir.array_merge_store op." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:166 +msgid "" +"Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, " +"fir.alloca, fir.field_index, fir.freemem, fir.store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:167 +msgid "" +"Move the parsers, printers and builders from the TableGen file to the " +".cpp file" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:168 +msgid "Update fir.alloca op - Add pinned attributes and specific builders" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:169 +msgid "Add ops: fir.char_convert and fir.array_modify" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:170 +msgid "" +"Add passes: external name interop, affine promotion, affine demotion, " +"character conversion, abstract result conversion, cfg conversion" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:171 +msgid "Add fir.convert canonicalization patterns" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:172 +msgid "Add the DoLoopHelper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:173 +msgid "Add IfBuilder and utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:174 +msgid "Add FIRBuilder utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:175 +msgid "Add character utility functions in FIRBuilder" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:176 +msgid "Add Character helper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:177 +msgid "Add utility function to FIRBuilder and MutableBox" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:178 +msgid "Add substring to fir.slice operation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:179 +msgid "" +"Avoid slice with substr in fir.array_load, fir.array_coor and " +"fir.array_merge_store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:180 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:185 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:193 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:196 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:153 +msgid "Driver" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:181 +msgid "Error if uuidgen is not installed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:182 +msgid "Fix erroneous `&`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:183 +msgid "Add actions that execute despite semantic errors" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:184 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:192 +msgid "flang-omp-report" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:185 +msgid "replace std::vector's with llvm::SmallVector" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:186 +msgid "Switch from std::string to StringRef (where possible)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:187 +msgid "replace std::map with llvm::DenseMap" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:188 +msgid "Make builtin types more easily accessible; use them" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:189 +msgid "Fix test regression from SQRT folding" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:190 +msgid "Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:191 +msgid "Take into account SubprogramDetails in GetInterfaceSymbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:192 +msgid "Add debug dump method to evaluate::Expr and semantics::Symbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:193 +msgid "Add a wrapper for Fortran main program" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:194 +msgid "Improve runtime interface with C99 complex" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:195 +msgid "Better error recovery for missing THEN in ELSE IF" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:196 +msgid "Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:197 +msgid "Catch mismatched parentheses in prescanner" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:198 +msgid "Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:199 +msgid "Document behavior for nonspecified/ambiguous cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:200 +msgid "Add two negative tests for needExternalNameMangling" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:201 +msgid "Expunge bogus semantic check for ELEMENTAL without dummies" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:202 +msgid "Admit NULL() in generic procedure resolution cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:203 +msgid "Fix bogus folding error for ISHFT(x, negative)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:204 +msgid "Emit unformatted headers & footers even with RECL=" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:205 +msgid "Enforce rest of semantic constraint C919" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:206 +msgid "Extension to distinguish specific procedures" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:207 +msgid "Support NAMELIST input of short arrays" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:208 +msgid "Fix generic resolution case" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:209 +msgid "Speed common runtime cases of DOT_PRODUCT & MATMUL" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:210 +msgid "Fix crash on empty formatted external READs" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:211 +msgid "Extension: allow tabs in output format strings" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:212 +msgid "Fix DOT_PRODUCT for logical" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:213 +msgid "Fix NAMELIST input bug with multiple subscript triplets" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:214 +msgid "Support legacy usage of 'A' edit descriptors for integer & real" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:220 +msgid "155 Merge Requests merged in October 2021" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:221 +msgid "AST to ASR transformation simplified and unified" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:222 +msgid "Many new intrinsics added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:223 +msgid "Rust style error messages, add first warnings and style suggestions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:224 +msgid "Fixed bugs in location information" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:225 +msgid "C preprocessor added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:233 +msgid "We have adopted two new Fortran-lang guidelines:" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:234 +msgid "" +"[Governance document](https://github.com/fortran-" +"lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang " +"projects are managed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:235 +msgid "" +"[Administration, moderation, and editing guide](https://fortran-" +"lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-" +"and-editing-3) for Fortran Discourse Both documents are part of an effort" +" to increase transparency between Fortran-lang administrators and the " +"rest of the community." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:237 +msgid "" +"The US Fortran Standards Committee (J3) held the meeting 225 October " +"18-27, 2021. The meeting was virtual and on Mondays and Wednesdays only. " +"Discussions focused on resolving any outstanding issues to the Fortran " +"202X features. Here are the links to the meeting " +"[agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), " +"[minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), and " +"[papers](https://j3-fortran.org/doc/meeting/225). See also the [Fortran-" +"lang and LFortran liaison report to " +"J3](https://j3-fortran.org/doc/year/21/21-206.txt) submitted by Ondřej " +"Čertík and Milan Curcic." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:245 +msgid "" +"We had our 19th Fortran Monthly call on October 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:9 +msgid "" +"Welcome to the December 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:17 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:18 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:17 +msgid "Here's what's new and ongoing in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:19 +msgid "" +"[#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): Fix " +"typo in author field" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:24 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:35 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:26 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:26 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:32 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:50 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:36 +msgid "" +"[#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): " +"Fortran Intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:39 +msgid "" +"[#558](https://github.com/fortran-lang/stdlib/pull/558): Pin specific fpm" +" version" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:41 +msgid "" +"[#556](https://github.com/fortran-lang/stdlib/pull/556): fix some FORD " +"links" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:43 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494): Add testing " +"module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:45 +msgid "" +"[#562](https://github.com/fortran-lang/stdlib/pull/562): Minor update " +"`pure/elemental` in `string_type` module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:47 +msgid "" +"[#565](https://github.com/fortran-lang/stdlib/pull/565): Make support for" +" quadruple precision optional" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:49 +msgid "" +"[#566](https://github.com/fortran-lang/stdlib/pull/566): Create a call " +"for reviewers pull request template" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:51 +msgid "" +"[#578](https://github.com/fortran-lang/stdlib/pull/578): Update error in " +"case fypp preprocessor is not found" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:53 +msgid "" +"[#579](https://github.com/fortran-lang/stdlib/pull/579): Add module for " +"handling version information of stdlib" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:58 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): Add " +"routines for saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:60 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:101 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:56 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:50 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:64 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:82 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:70 +msgid "" +"[#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): Add " +"terminal and color escape sequences" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:62 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): Revised " +"Hash functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:64 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:103 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:58 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:52 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:66 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:84 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:72 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): fixed bug " +"in stringlist" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:68 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:107 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:62 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:70 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:88 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:76 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display variable values formatted)." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:112 +msgid "" +"[v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): Alpha " +"release update" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:114 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598): Update README.md " +"compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:116 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569): Add workflow for " +"continuous delivery" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:118 +msgid "" +"[#602](https://github.com/fortran-lang/fpm/pull/602): fix(fpm_compiler): " +"intel windows release flag was incorrect" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:120 +msgid "" +"[#607](https://github.com/fortran-lang/fpm/pull/607): Repair --list " +"option and correct obsolete descriptions of the --list option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:122 +msgid "" +"[#612](https://github.com/fortran-lang/fpm/pull/612): Fix modules listing" +" (for install)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:124 +msgid "" +"[#613](https://github.com/fortran-lang/fpm/pull/613): Add: critical " +"section to mkdir in backend" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:126 +msgid "" +"[#616](https://github.com/fortran-lang/fpm/pull/616): Add: workflow to " +"make installer on push and release" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:128 +msgid "" +"[#614](https://github.com/fortran-lang/fpm/pull/614): Bump version to " +"0.5.0" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:130 +msgid "" +"[setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): Fix " +"Latest Option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:135 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:148 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:122 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): Cleanup the " +"backend output" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:137 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:150 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:124 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:107 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:121 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:139 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:123 +msgid "" +"[#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): --env switch " +"lets you specify the prefix of the compiler-related environment variables" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:168 +msgid "Use the ultimate symbol in a call to the IsPointer function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:169 +msgid "Add parsing/sema/serialization for 'bind' clause." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:171 +msgid "Add base of the FIR to LLVM IR pass" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:172 +msgid "Add various FIR to LLVM IR conversion patterns:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:173 +msgid "fir.unreachable" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:174 +msgid "fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:175 +msgid "fir.zero_bits" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:176 +msgid "fir.select and fir.select_rank" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:177 +msgid "fir.extract_value and fir.insert_value" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:178 +msgid "types - fir.box, fir.logical, fir.char, fir.ptr" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:179 +msgid "fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:180 +msgid "fir.convert" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:181 +msgid "fir.call" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:182 +msgid "fir.store and fir.load" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:183 +msgid "Add substr information to fircg.ext_embox and fircg.ext_rebox operations" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:184 +msgid "Use notifyMatchFailure in fir.zero_bits conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:185 +msgid "Restrict array type on fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:186 +msgid "Add test for FIR types conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:187 +msgid "Use contralized values for indexing box" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:188 +msgid "Add complex operations conversion from FIR LLVM IR" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:189 +msgid "Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:191 +msgid "Read environment variables directly" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:193 +msgid "Removed unnecessary comments in flang-omp-report plugin tests" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:194 +msgid "Remove the loop workarounds for nowait clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:195 +msgid "Add flang-omp-report summarising script" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:196 +msgid "Checks for pointers to intrinsic functions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:197 +msgid "Fold SPREAD" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:198 +msgid "Improve error message for misuse of NULL(mold) as data statement constant" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:199 +msgid "Fix crash on \"call system_clock(count_max=j)\"" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:200 +msgid "Fix combined folding of FINDLOC/MAXLOC/MINLOC" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:201 +msgid "Implement GET_ENVIRONMENT_VARIABLE(VALUE)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:202 +msgid "" +"Remove builder that takes SSA value instead of Attribute on " +"ExtractValueOp, InsetValueOp, and InsertOnRangeOp" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:203 +msgid "Remove getModel in DescriptorModel.h" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:204 +msgid "Set the addendum when establishing pointer section in descriptor" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:205 +msgid "Fix error in characteristics check at procedure pointer assignment" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:206 +msgid "Initial parsing/sema for 'align' clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:207 +msgid "Don't reference non-invariant symbols in shape expressions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:208 +msgid "Make subscript list argument a nullable pointer" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:209 +msgid "Distinguish error/warning cases for bad jumps into constructs" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:210 +msgid "Fix folding of EPSILON()" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:216 +msgid "32 Merge Requests merged in November 2021" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:217 +msgid "Support for same name interface and subroutine/function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:218 +msgid "Compile-time evaluation for bit intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:219 +msgid "Implement the `repeat` and `shape` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:220 +msgid "Variadic support for `min` and `max` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:221 +msgid "Implement the scalar `random_number` function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:222 +msgid "Fixes and improved error message for `read` and `write` statements" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:223 +msgid "Support the `final`, `intrinsic`, and `private` attributes" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:224 +msgid "Implement the `ieee_arithmetic` intrinsic module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:225 +msgid "Support for the `abstract` class" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:226 +msgid "Support for `assignment(=)` on `use` statement" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:234 +msgid "" +"Sebastian Ehlert presented the Fortran Package Manager at the " +"PackagingCon 2021 conference. You can watch the recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:237 +msgid "" +"Recordings of all FortranCon 2021 presentations are now available to view" +" in the [FortranCon YouTube " +"Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +" Enjoy!" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:240 +msgid "" +"We had our 20th Fortran Monthly call on November 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:9 +msgid "" +"With another year behind us, let's review the progress that the Fortran-" +"lang community has made. If you're new to Fortran-lang, here's a quick " +"intro: We're an open source community that aims to develop modern Fortran" +" tooling and nurture a rich ecosystem of libraries, as well as to provide" +" a friendly, helpful, and inclusive space for newcomers and experienced " +"Fortran programmers to work together. We started in late 2019 and have " +"been going ever since. If you're first discovering (or re-discovering) " +"Fortran through this article, welcome, and we hope it inspires you to try" +" Fortran for one of your projects. In this article we summarize new " +"developments from 2021, from flagship and new projects to community " +"development and outreach." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:24 +msgid "Standard Library (stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:26 +msgid "" +"To date, [33 people](https://github.com/fortran-" +"lang/stdlib/graphs/contributors) have contributed code to stdlib, and " +"more than 100 people have participated in discussions. More than a dozen " +"new modules have been added in 2021:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:31 +msgid "" +"`stdlib_array`: Provides `trueloc` and `falseloc` which allow you to " +"index an array based on a logical condition in a functional style" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:33 +msgid "`stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:34 +msgid "`stdlib_math`: Provides a number of common mathematical functions" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:35 +msgid "`stdlib_random`: Pseudo-random integer number generation" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:36 +msgid "" +"`stdlib_selection`: Selection procedures for selecting elements from an " +"array given a desired range" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:38 +msgid "" +"`stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm " +"and introsort by David Musser" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:40 +msgid "" +"`stdlib_specialfunctions`: Provides the Legendre function and its " +"derivative in support of the Gaussian quadrature procedures" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:42 +msgid "" +"`stdlib_stats_distribution_normal`: Functions to sample values from a " +"normal distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:44 +msgid "" +"`stdlib_stats_distribution_uniform`: Functions to sample values from a " +"uniform distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:46 +msgid "" +"`stdlib_string_type`: Provides a `string_type` derived type that " +"alleviates some limitations of the variable-length `character` variables." +" `string_type` is compatible with all intrinsic procedures that operate " +"on `character`." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:49 +msgid "" +"`stdlib_stringlist_type`: A derived type that is a 1-dimensional list of " +"strings" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:51 +msgid "" +"`stdlib_strings`: Provides a number of inquiry and manipulation " +"procedures that complement the intrinsic set" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:53 +msgid "`stdlib_version`: Allows querying the version of the stdlib library build" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:55 +msgid "" +"which brings us to a total of 23 modules in stdlib. You can read about " +"these modules in more detail on the [stdlib API docs " +"website](https://stdlib.fortran-lang.org)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:59 +msgid "" +"Besides the new modules, procedures, and derived types, there have been a" +" few key improvements in terms of stdlib delivery:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:62 +msgid "" +"You can now use stdlib as a dependency in your fpm projects, see " +"[here](https://github.com/fortran-lang/stdlib#build-with-fortran-" +"langfpm). This significantly lowers the bar for getting started with " +"stdlib." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:65 +msgid "" +"We had our first stdlib release (0.1.0) on October 4. As of now we don't " +"have a set release schedule, and plan to publish a new release when there" +" is significant new functionality. As stdlib matures and becomes more " +"widely used, we expect releases to become more frequent." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:70 +msgid "" +"We now maintain a [change log](https://github.com/fortran-" +"lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is " +"documented. This is a useful document to reference when you want to know " +"what's been added to the stdlib since the latest release." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:75 +msgid "" +"If you haven't tried stdlib yet, please do and let us know what you think" +" and how we can improve it. Our vision for stdlib is to provide basic " +"utilities that most Fortran projects use, as well as wider numerical " +"capabilities with the scope of NumPy and SciPy." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:80 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:82 +msgid "" +"Fortran Package Manager (fpm) is the package manager and build system for" +" Fortran. Its key goal is to make developing, distributing, and reusing " +"Fortran libraries and applications as easy and as fun as possible. In " +"2020, the big change for fpm was the transition from the prototype " +"implemented in Haskell to a pure Fortran implementation. Fpm has since " +"been used in increasingly more and ever larger Fortran projects." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:90 +msgid "" +"To date, [22 people](https://github.com/fortran-" +"lang/fpm/graphs/contributors) have contributed code to fpm. In 2021 fpm " +"has advanced from v0.1.3 to v0.5.0. Key additions this year include " +"(release version in parentheses):" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:95 +msgid "CLI arguments for linker, archiver, and C compiler (0.5.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:96 +msgid "Support for MPI and LFortran (0.4.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:97 +msgid "" +"Support for installed library modules via `external-modules` in the " +"manifest (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:99 +msgid "Automatic discovery of manifest files in parent directories (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:100 +msgid "Support for reading package version from file (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:101 +msgid "Support for include directories (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:102 +msgid "Support for `--flag` CLI option to specify compiler flags (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:103 +msgid "" +"`fpm build --show-model` displays the internal representation of a " +"package (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:105 +msgid "Allow hyphen in new package names (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:106 +msgid "" +"`fpm new` now supports `--full` and `--bare` to specify level of " +"scaffolding (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:109 +msgid "Check out also these fpm plugins:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:111 +msgid "" +"[fpm-search](https://github.com/brocolis/fpm-search): Adds the `fpm " +"search` command for searching for registered fpm packages from the " +"command line." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:114 +msgid "" +"[fpm-man](https://github.com/urbanjost/fpm-man): Adds the `fpm man` " +"command for displaying man-style help pages about Fortran intrinsics and " +"other language features." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:118 +msgid "" +"At the time of writing, there are almost 200 projects now using fpm. If " +"you haven't tried fpm yet, please do! It has truly been a game-changing " +"tool for many of us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:122 +msgid "We have many ideas that we want to pursue, such as:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:124 +msgid "" +"First-class integration with other package managers such as Spack and " +"Conda" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:125 +msgid "First-class integration with build systems like CMake and Meson" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:126 +msgid "" +"Improving [fpm's package registry](https://github.com/fortran-lang/fpm-" +"registry), etc." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:128 +msgid "" +"We are always looking for new contributors. If any of these projects " +"interest you, please join us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:139 +msgid "" +"Though not technically a Fortran-lang project, " +"[LFortran](https://lfortran.org) has been growing close to the Fortran-" +"lang community and projects largely thanks to its creator and lead " +"developer [Ondřej Čertík](https://github.com/certik) also being one of " +"the founding members of Fortran-lang. LFortran has been developing " +"rapidly this year and was released as a [Minimum Viable Product " +"(MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-" +"mvp/) in September. LFortran currently parses all of Fortran 2018 and " +"compiles a significant subset of the language. 16 people have contributed" +" code so far, and many more have reported bugs or participated in " +"discussions. If you haven't tried LFortran yet, please do and let us know" +" how it can best improve for your use case. You can help speed up " +"LFortran's development by contributing code and/or documentation " +"directly, or by donating funds to the project via " +"[NumFOCUS](https://numfocus.org/project/lfortran)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:155 +msgid "" +"Follow LFortran on Twitter at " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:157 +msgid "fortran-lang.org, Discourse, and social media" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:159 +msgid "" +"A major addition to the Fortran website this year is the [Fortran Best " +"Practices mini-book](https://fortran-lang.org/learn/best_practices). This" +" is a port and an update to the well-known " +"[fortran90.org](https://www.fortran90.org) by [Ondřej " +"Čertík](https://github.com/certik). It provides a plethora of tips on how" +" to write simple and idiomatic Fortran for numerical tasks, and how to " +"avoid some common gotchas. Give it a read and let us know how it can be " +"improved." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:168 +msgid "" +"The [Fortran Discourse](https://fortran-lang.discourse.group) is as " +"active as ever, with new users joining daily. There are currently 338 " +"active users out of a total of 537 registered users. The Fortran " +"Discourse is a great place to ask for help with Fortran code, post a " +"Fortran job opening, and discuss anything Fortran-related." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:174 +msgid "" +"We also continue to release the monthly newsletter where we document the " +"progress month-by-month, as well as post about any notable events in the " +"Fortran world. This newsletter is a great way to stay up to date with " +"Fortran-lang. If you're also on Twitter, follow our account " +"[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news " +"and updates, as well as the new " +"[@FortranTip](https://twitter.com/FortranTip) account, managed by " +"[Beliavsky](https://github.com/beliavsky), which brings daily Fortran " +"tips to your Twitter feed." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:184 +msgid "" +"Finally, we meet on monthly video calls to discuss issues and topics " +"related to all Fortran-lang projects. The calls are advertised on Fortran" +" Discourse and are open to everyone. Don't hesitate to join the call to " +"meet other Fortran-lang participants and take part in different " +"discussions." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:189 +msgid "New projects" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:191 +msgid "" +"In addition to the flagship projects summarized above, a few new projects" +" started or were adopted by Fortran-lang this year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:194 +msgid "fftpack" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:196 +msgid "" +"[fftpack](https://github.com/fortran-lang/fftpack) is a classic " +"collection of subroutines to perform the Fast Fourier Transform on real " +"and complex data. It is based on the classic [FFTPACK library from " +"Netlib](http://www.netlib.org/fftpack/). fftpack was adopted by Fortran-" +"lang in an effort to provide:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:202 +msgid "A community-maintained FFT library" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:203 +msgid "Bug fixes to the existing codebase" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:204 +msgid "Modern interfaces on top of the existing API" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:205 +msgid "fpm package for easy use as a dependency." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:207 +msgid "test-drive" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:209 +msgid "" +"[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and" +" easy-to-use testing framework developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). It follows a simple functional style " +"to collect and run your tests in parallel and print a minimal and clean " +"diagnostic printout to the standard output. Test-drive is currently used" +" by both stdlib and fpm for their own test suites. Give test-drive a test" +" drive for your next Fortran project!" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:217 +msgid "fpm-docs" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:219 +msgid "" +"[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user " +"documentation website for fpm, developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). Its key aim is to provide community-" +"maintained documentation across four target audiences/use cases:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:225 +msgid "**Tutorials**: for learning how to use fpm for Fortran development" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:226 +msgid "**How-to guides**: recipes for specific and concrete problems" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:227 +msgid "" +"**Design documents**: resources that document the design of various " +"aspects of fpm" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:229 +msgid "**References**: specification documents of fpm components" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:237 +msgid "" +"As the fpm user docs are now hosted at [fpm.fortran-lang.org](https://fpm" +".fortran-lang.org), the API docs are now located at [fortran-" +"lang.github.io/fpm/](https://fortran-lang.github.io/fpm/)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:241 +msgid "Google Summer of Code 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:243 +msgid "" +"2021 has been the first year for Fortran-lang to participate in the " +"[Google Summer of Code](https://summerofcode.withgoogle.com/) program. " +"Together with NumFOCUS and LFortran, Fortran-lang had six students who " +"worked on a variety of projects:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:248 +msgid "" +"[Aman Godara](https://github.com/Aman-Godara) (Improving strings in " +"stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:249 +msgid "[Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:250 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables " +"in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:251 +msgid "[Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:252 +msgid "[Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:253 +msgid "" +"[Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST " +"generation in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:255 +msgid "" +"You can read in more detail about their projects " +"[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:258 +msgid "" +"A big thank you to all students, mentors, and administrators, for their " +"great work, and of course, to the Google Summer of Code program for " +"making possible for students to participate." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:262 +msgid "" +"We plan to apply for Google Summer of Code in 2022 as well. The program " +"is no longer limited to students and anybody 18 or older can apply to " +"work on an open source project and get paid for it. If you're interested " +"participating in the program in 2022 with Fortran-lang, don't hesitate to" +" contact us and we'll guide you toward applying." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:268 +msgid "Conferences and papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:270 +msgid "FortranCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:272 +msgid "" +"Like in 2020, the Fortran event of this year was [FortranCon " +"2021](https://tcevents.chem.uzh.ch/event/14/), the international Fortran " +"conference, held on September 23-24. The keynote speaker this year was " +"[Damian Rouson](https://github.com/rouson), the head of the [Computer " +"Languages and Systems Software " +"(CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/)" +" group at the Lawrence Berkeley National Lab. Fortran-lang had a " +"dedicated session (a Fortran-lang minisymposium) on the second day of the" +" conference, with the talks about specific Fortran-lang projects as well " +"as the Google Summer of Code student presentations. FortranCon was hosted" +" at the University of Zurich (UZH), and organized by [Tiziano " +"Müller](https://github.com/dev-zero) from UZH and [Alfio " +"Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. " +"You can watch all FortranCon 2021 talks " +"[here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:287 +msgid "PackagingCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:289 +msgid "" +"Another big event for Fortran-lang was [PackagingCon 2021](https" +"://packaging-con.org/), a conference dedicated to package management " +"software and its community of developers. [Sebastian " +"Ehlert](https://github.com/awvwgk) presented fpm--you can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:299 +msgid "Papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:301 +msgid "" +"This year two papers have been written about Fortran-lang projects. The " +"first paper documents the motivation and goals of Fortran-lang: \"Toward " +"Modern Fortran Tooling and a Thriving Developer Community\" by Milan " +"Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, Laurence " +"Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas " +"([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382))." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:314 +msgid "" +"If Fortran-lang has been helpful in your work and if you want to cite " +"this paper, here's the citation info:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:333 +msgid "" +"We have also submitted a paper draft to IEEE's [Computing in Science & " +"Engineering " +"(CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) " +"journal, titled \"The State of Fortran\" and led by [Laurence " +"Kedward](https://github.com/lkedward). For this paper, we have [publicly " +"invited on Discourse](https://fortran-lang.discourse.group/t/fortran-" +"lang-community-paper/1232) anybody in the Fortran-lang community to " +"participate. Once published, this will be another paper that you can " +"cite. Stay tuned for its publication." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:343 +msgid "Summary" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:345 +msgid "2021 is behind us as another productive year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:346 +msgid "" +"Fortran-lang flagship projects such as [stdlib](https://github.com" +"/fortran-lang/stdlib), [fpm](https://github.com/fortran-lang/fpm), " +"[fortran-lang.org](https://fortran-lang.org), and " +"[LFortran](https://lfortran.org) continue to grow and gain traction." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:351 +msgid "" +"New Fortran-lang projects include [fftpack](https://github.com/fortran-" +"lang/fftpack), [test-drive](https://github.com/fortran-lang/test-drive), " +"and [fpm-docs](https://github.com/fortran-lang/fpm-docs)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:355 +msgid "" +"Fortran-lang participated in the [Google Summer of " +"Code](https://summerofcode.withgoogle.com/) program for the first time, " +"and had 6 students working on projects across stdlib, fpm, and LFortran." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:359 +msgid "" +"We had several presentations of Fortran-lang projects at [FortranCon " +"2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)" +" and [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:362 +msgid "" +"New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and " +"another is in review." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:365 +msgid "Thanks" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:367 +msgid "" +"We thank all people who contributed to Fortran-lang projects and " +"discussions on GitHub, Fortran Discourse, Fortran-lang mailing list, " +"Twitter, and elsewhere. It wouldn't have been possible without you all." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:9 +msgid "" +"Happy New Year and welcome to the January 2022 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:20 +msgid "" +"[#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): " +"Newsletter draft for December 2021" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:22 +msgid "" +"[#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): " +"Updated CaNS item so that it shows the version" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:24 +msgid "" +"[#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): Add " +"MCST LCC C, C++ and Fortran compiler" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:26 +msgid "" +"[#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): Use " +"HEAD to reference default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:28 +msgid "" +"[#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): 2021 " +"review article draft" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:30 +msgid "" +"[#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): " +"Adding Fortran Error Handler to packages index" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:48 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:50 +msgid "" +"[#586](https://github.com/fortran-lang/stdlib/pull/586): Update of " +"stdlib_stats.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:52 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581): Add routines for" +" saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:54 +msgid "[#590](https://github.com/fortran-lang/stdlib/pull/590): Update changelog" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:56 +msgid "" +"[#588](https://github.com/fortran-lang/stdlib/pull/588): Error on no " +"tests in CTest" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:58 +msgid "" +"[#585](https://github.com/fortran-lang/stdlib/pull/585): " +"stdlib_selection: correction of typos and addition of some checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:60 +msgid "" +"[#591](https://github.com/fortran-lang/stdlib/pull/591): Fix compilation " +"errors with makefiles due to command-line variable assignments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:62 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273): Probability " +"Distribution and Statistical Functions -- Normal Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:64 +msgid "" +"[#584](https://github.com/fortran-lang/stdlib/pull/584): Replace the call" +" to sort by select in stdlib_stats_median" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:66 +msgid "" +"[#593](https://github.com/fortran-lang/stdlib/pull/593): Probability " +"Distribution and Statistical Functions -- Uniform Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:68 +msgid "" +"[#594](https://github.com/fortran-lang/stdlib/pull/594): Minor update to " +"makefile installation instructions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:70 +msgid "" +"[#596](https://github.com/fortran-lang/stdlib/pull/596): Rename " +"references to default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:72 +msgid "" +"[#600](https://github.com/fortran-lang/stdlib/pull/600): Fix iomsg " +"allocation in save_npy" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:74 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488): [stdlib_math] " +"add `is_close` routines." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:76 +msgid "" +"[#597](https://github.com/fortran-lang/stdlib/pull/597): Add getline to " +"read whole line from formatted unit" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498): [stdlib_math] " +"add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:80 +msgid "" +"[#603](https://github.com/fortran-lang/stdlib/pull/603): Implement " +"trueloc/falseloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:82 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573): Revised Hash " +"functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:84 +msgid "" +"[#609](https://github.com/fortran-lang/stdlib/pull/609): Consistent spec " +"titles" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:86 +msgid "" +"[#610](https://github.com/fortran-lang/stdlib/pull/610): Fixed tables in " +"stdlib_hash_procedures.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:88 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499): [stdlib_linalg] " +"matrix property checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:90 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:43 +msgid "" +"[#613](https://github.com/fortran-lang/stdlib/pull/613): Ignore hash " +"testing binaries and logs" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:95 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:52 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:46 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:60 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:78 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:66 +msgid "[#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): Hash maps" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:97 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): " +"[stdlib_math] Add function `diff`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:99 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:54 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:48 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:62 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:80 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:68 +msgid "" +"[#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): Add " +"get_argument, get_variable and set_variable" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:139 +msgid "" +"[#634](https://github.com/fortran-lang/fpm/pull/634): Better extraction " +"of the Fortran compiler from the MPI wrapper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:144 +msgid "" +"[#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): Replace " +"polymorphic assignment with move_alloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:146 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): allow " +"backfilling of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:160 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:138 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:119 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:131 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:149 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:133 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://fpm.fortran-lang.org/en/tutorial) to learn how to build " +"your package with fpm, and the [manifest reference](https://fpm.fortran-" +"lang.org/en/spec/manifest.html) to learn what are all the things that you" +" can specify in the fpm.toml file." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:180 +msgid "Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:181 +msgid "Add !fir.vector type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:182 +msgid "Add type conversion for `fir.boxchar`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:183 +msgid "Add !fir.alloca conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:184 +msgid "Add placeholder conversion pattern for disptach operations" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:185 +msgid "Add fir.select_case conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:186 +msgid "Add !fir.field type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:187 +msgid "Transform `IsPresentOpConversion` and `AbsentOpConversion`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:188 +msgid "Add type conversion for FIR heap type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:189 +msgid "Add type conversion for FIR integer kind" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:190 +msgid "Add !fir.len type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:191 +msgid "Transform `fir.emboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:192 +msgid "Add fir.select_type conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:193 +msgid "Remove extra return in SelectTypeOpConversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:194 +msgid "Transform `fir.unboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:195 +msgid "Add fir.global_len conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:196 +msgid "Add the FIR LLVMPointer Type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:197 +msgid "Add fir.cmpc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:198 +msgid "Add fir.gentypedesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:199 +msgid "Transform `fir.boxchar_len` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:200 +msgid "Add missing `HasParent` in `fir_DTEntryOp`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:201 +msgid "Add fir.string_lit conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:202 +msgid "Add conversion patterns for slice, shape, shapeshift and shift ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:203 +msgid "Add fir.box_tdesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:204 +msgid "!fir.tdesc type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:205 +msgid "Add fir.constc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:206 +msgid "Add fir.embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:207 +msgid "Notify conversion failure for Proc ops, types" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:208 +msgid "Add tests for mlir::ComplexType conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:209 +msgid "Add `fir.end` conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:210 +msgid "Transform `fir.field_index` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:211 +msgid "Add a factory class for creating Complex Ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:212 +msgid "Add fir.no_reassoc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:213 +msgid "Set !fir.len_param_index conversion to unimplemented" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:214 +msgid "Add base for runtime builder unittests" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:215 +msgid "Add fir transformational intrinsic builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:216 +msgid "Add assignment runtime API builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:217 +msgid "Add data flow optimization pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:218 +msgid "Add array value copy pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:219 +msgid "Add fir reduction builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:220 +msgid "Add fir numeric intrinsic runtime call builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:221 +msgid "Add fircg.ext_embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:222 +msgid "Add fir derived type runtime builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:223 +msgid "Add fir character builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:224 +msgid "Add fircg.ext_array_coor conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:225 +msgid "Upstream conversion of the XRebox Op" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:226 +msgid "" +"Convert fir.allocmem and fir.freemem operations to calls to malloc and " +"free, respectively" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:228 +msgid "Fix vector cshift runtime with non zero lower bounds" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:229 +msgid "Respect NO_STOP_MESSAGE=1 in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:230 +msgid "Runtime performance improvements to real formatted input" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:231 +msgid "Allow write after non advancing read in IO runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:232 +msgid "Fix reversed comparison in RESHAPE() runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:233 +msgid "Define & implement a lowering support API IsContiguous() in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:234 +msgid "Don't close stderr in runtime (fixes STOP output)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:235 +msgid "Return arrays in Transfer runtime with SIZE argument" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:236 +msgid "Fix INQUIRE(FILE=,NAME=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:237 +msgid "Add ragged array runtime functions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:238 +msgid "Allow exterior branch to outermost WHERE construct statement" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:239 +msgid "Fix ORDER= argument to RESHAPE" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:240 +msgid "Fix rounding edge case in F output editing" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:241 +msgid "Handle ENTRY names in IsPureProcedure() predicate" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:242 +msgid "Allow implicit procedure pointers to associate with explicit procedures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:243 +msgid "Fix a bug in INQUIRE(IOLENGTH=) output" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:244 +msgid "Remove default argument from function template specialization" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:245 +msgid "Check ArrayRef base for contiguity in IsSimplyContiguousHelper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:246 +msgid "Deal with negative character lengths in semantics" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:247 +msgid "Fix INQUIRE(PAD=) and (POSITION=) for predefined units" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:248 +msgid "Add a semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:249 +msgid "Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:250 +msgid "Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:251 +msgid "Fix printing of constc and parsing of #fir.real" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:252 +msgid "Predefine unit 0 connected to stderr" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:253 +msgid "Add -fno-automatic, refine IsSaved()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:254 +msgid "Correct the argument keyword for AIMAG(Z=...)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:255 +msgid "Inclusive language: remove instances of master" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:256 +msgid "Return true in IsSymplyContiguous for allocatables" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:257 +msgid "Fix usage & catch errors for MAX/MIN with keyword= arguments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:258 +msgid "Re-fold bounds expressions in DATA implied DO loops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:259 +msgid "Correct INQUIRE(POSITION= & PAD=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:260 +msgid "Rearrange prototype & code placement of IsCoarray()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:261 +msgid "Replace notifyMatchFailure with TODO hard failures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:262 +msgid "TargetRewrite: Rewrite fir.address_of(func)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:263 +msgid "Fix folding of EXPONENT() intrinsic function" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:264 +msgid "OPEN(RECL=) handling for sequential formatted I/O" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:265 +msgid "Avoid potential deadlock in CloseAll()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:271 +msgid "" +"Beginning of refactoring of ASR (Abstract Semantic Representation) into a" +" standalone library" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:272 +msgid "New intrinsics: mvbits, bge, bgt, ble, blt, ibits" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:273 +msgid "generic procedure resolution fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:274 +msgid "FreeBSD fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:275 +msgid "Implement `.xor.` (LFortran as well as GFortran extension)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:276 +msgid "Fixes to large integers (BigInt) handling" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:277 +msgid "Added support for `private`, `final` attributes in derived types/classes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:279 +msgid "" +"The following people contributed code in December 2021: Ondřej Čertík, " +"Gagandeep Singh, Harris Snyder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:286 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:251 +msgid "" +"fpm has a new documentation website hosted at [fpm.fortran-" +"lang.org](https://fpm.fortran-lang.org/). This website will provide user-" +"oriented tutorials and how-to guides, as well as developer-oriented " +"reference documents and specifications. We welcome all contributions to " +"the fpm documentation, including translations to other languages. Please " +"visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to " +"get started." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:294 +msgid "" +"We had our 21st Fortran Monthly call on December 14. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:297 +msgid "" +"We also wrote a review of the Fortran-lang projects in 2021. Read it " +"[here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-" +"review/)." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:312 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:275 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:291 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:266 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:388 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:494 +msgid "[fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:319 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:282 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:299 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:274 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:396 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:502 +msgid "[fortran-lang/test-drive](https://github.com/fortran-lang/test-drive)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:9 +msgid "" +"Welcome to the February 2022 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:19 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:19 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:33 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:21 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:21 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:19 +msgid "" +"[#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): Fix " +"time calculation in the PRs script" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:39 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276): Probability " +"Distribution and Statistical Functions -- Exponential Distribution Module" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:41 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605): [stdlib_math] " +"Add function `diff`" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:45 +msgid "" +"[#617](https://github.com/fortran-lang/stdlib/pull/617): Made format " +"constant public" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:47 +msgid "" +"[#622](https://github.com/fortran-lang/stdlib/pull/622): Fix Gauss " +"quadrature" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:92 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630): allow backfilling " +"of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:94 +msgid "" +"[#646](https://github.com/fortran-lang/fpm/pull/646): Respect user " +"provided main-files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:96 +msgid "" +"[#645](https://github.com/fortran-lang/fpm/pull/645): Update module " +"output directory command for flang-new/f18" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:98 +msgid "" +"[fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) [fpm-" +"docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) [fpm-" +"docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) [fpm-" +"docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) [fpm-" +"docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) [fpm-" +"docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): French " +"translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:105 +msgid "" +"[fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): Add " +"testing workflow for source examples" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:107 +msgid "" +"[fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): Update " +"Spanish translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:109 +msgid "" +"[fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): zh_CN: " +"Update Chinese translations" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:114 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): Ignore hidden" +" source files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:116 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:105 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:119 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:137 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:121 +msgid "" +"[#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): Enable " +"profiles in toml" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:118 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): Get user name" +" and email using got config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:120 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): Add note " +"about relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:130 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): " +"Dutch translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:132 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): " +"Chinese translation improvements" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:158 +msgid "Keep runtime function name in comment" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:159 +msgid "Add a conversion for !fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:160 +msgid "Add a new memory allocation rewrite pass." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:161 +msgid "Correct and reenable test that was removed by MLIR." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:162 +msgid "Fix overallocation by fir-to-llvm-ir pass" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:164 +msgid "Add some semantic checks for threadprivate and declare target directives" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:165 +msgid "Simplify RaggedArrayHeader and make it plain C struct" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:166 +msgid "Fix folding of ac-implied-do indices in structure constructors" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:167 +msgid "Avoid code duplication in mixed expressions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:168 +msgid "Add test with shape for allocmem and freemem" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:169 +msgid "Make the frontend driver error out when requesting multiple actions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:170 +msgid "Add semantics tests for co_reduce, co_min, and co_max" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:171 +msgid "Use GNUInstallDirs to support custom installation dirs." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:172 +msgid "Enable support for conversion of recursive record types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:173 +msgid "Separate temporary and user-specified object files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:174 +msgid "update to reflect MLIR LLVM::GEPOp changes" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:175 +msgid "Do not lose call in shape inquiry on function reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:176 +msgid "Fix the documentation on how to build flang" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:177 +msgid "Add tests for converting arrays and refs to arrays" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:178 +msgid "Make the \"flang\" wrapper script check the Bash version" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:179 +msgid "Fix handling of space between # and name in preprocessor stringification" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:180 +msgid "RESHAPE(PAD=) can be arbitrary array rank" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:181 +msgid "" +"Any type can appear in a structure constructor for an unlimited " +"polymorphic allocatable component" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:182 +msgid "Implement semantics for DEC STRUCTURE/RECORD" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:183 +msgid "Extension: initialization of LOGICAL with INTEGER & vice versa" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:184 +msgid "Allow initialization in blank COMMON" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:185 +msgid "Support extension intrinsic function variations on ABS" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:186 +msgid "Allow pointers to non-sequence types in sequence types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:187 +msgid "\"CFI\" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:188 +msgid "Legacy extension: non-character formats" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:189 +msgid "Signal runtime error on WRITE after ENDFILE" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:190 +msgid "Don't blank-fill remaining lines in internal output" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:191 +msgid "Accept ENTRY names in generic interfaces" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:192 +msgid "Support substring references in NAMELIST input" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:198 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:311 +msgid "**Compiling `stdlib` with `lfortran`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:200 +msgid "" +"[stdlib: Implement `AINT` intrinsic " +"Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:201 +msgid "" +"[Draft: Sprint Bug fixing to compile stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:203 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:317 +msgid "**Addition of ASR Optimization Passes**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:205 +msgid "" +"[Added pass for converting division to multiplication " +"operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:206 +msgid "" +"[Adding LLVM backend for flip " +"sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:208 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:323 +msgid "**`libasr`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:210 +msgid "" +"[Move more header files into " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:211 +msgid "" +"[Move exception.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:212 +msgid "" +"[Move string_utils.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:213 +msgid "" +"[Move location.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:214 +msgid "" +"[Move stacktrace.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:215 +msgid "" +"[Move colors.h and asr_scopes.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:216 +msgid "" +"[Move bwriter.h and modfile.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:217 +msgid "" +"[Move config.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:218 +msgid "" +"[CI: do not run parent cmake in libasr " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:219 +msgid "" +"[Split " +"serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:220 +msgid "" +"[Nullify in ASR, LLVM, scalar " +"types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:221 +msgid "" +"[Remove unused " +"SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:222 +msgid "" +"[Separate evaluators into LFortran and libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:223 +msgid "" +"[utils.h and parser.h split into lfortran/libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:224 +msgid "" +"[Expose rl_path from " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:225 +msgid "" +"[CI: build libasr in an isolated " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:226 +msgid "" +"[Use the libasr's CMakeLists in LFortran's " +"one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:227 +msgid "" +"[Refactored `libasr/pass` framework and some bug " +"fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:229 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:348 +msgid "**Miscellaneous**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:231 +msgid "" +"[fixes for windows compilation (defining NOMINMAX), installation-" +"instructions for Windows/Visual " +"Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:232 +msgid "" +"[Update " +"gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:233 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:234 +msgid "" +"[Abstracting out, visit_Program, visit_Subroutine, visit_Function, state " +"variables from " +"passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:235 +msgid "" +"[Draft: Add a test for " +"pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:236 +msgid "" +"[Fix order deps " +"ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:237 +msgid "" +"[link to static zlib to avoid runtime " +"dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:361 +msgid "**Contributors**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:364 +msgid "[Ondřej Čertík](https://gitlab.com/certik)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:242 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:363 +msgid "[Gagandeep Singh](https://gitlab.com/czgdp18071)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:243 +msgid "[Dominic Poerio](https://gitlab.com/dpoe)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:244 +msgid "[Tobias Loew](https://gitlab.com/tobias-loew)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:245 +msgid "[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:259 +msgid "" +"We had our 22st Fortran Monthly call on January 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:9 +msgid "" +"Welcome to the March edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:17 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:17 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:17 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:17 +msgid "Here's what's new in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:39 +msgid "" +"[#624](https://github.com/fortran-lang/stdlib/pull/624): [stdlib_math] " +"Minor update to `stdlib_math` module and document" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:44 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:58 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:76 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:64 +msgid "" +"[#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): Gamma " +"special function" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:86 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652): get user name and " +"email using git config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:88 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654): Ignore hidden " +"source files" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:90 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622): Cleanup the backend" +" output" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:92 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648): Add note about " +"relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:94 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): Dutch " +"translation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:96 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): Chinese " +"translation improvements" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:98 +msgid "" +"[fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): Update " +"plugin tutorial" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:103 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:117 +msgid "" +"[#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): add clean " +"command" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:113 +msgid "" +"[fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): " +"Add page about fpm logo" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:139 +msgid "Initial lowering for empty program" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:140 +msgid "Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:141 +msgid "Add lowering placeholders" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:142 +msgid "Add lowering for basic empty SUBROUTINE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:143 +msgid "Upstream partial lowering of EXIT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:144 +msgid "Lower basic STOP statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:145 +msgid "Lower PAUSE statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:146 +msgid "Add lowering for integer constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:147 +msgid "Lower integer constant code for STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:148 +msgid "Add fir.array_access op" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:149 +msgid "Add fir.array_amend operation definition" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:150 +msgid "Handle logical constant value for quiet in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:151 +msgid "Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:152 +msgid "Basic local variable lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:153 +msgid "Add lowering for ASCII character constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:154 +msgid "Handle character constant for error code in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:155 +msgid "Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:156 +msgid "Add missing CFI case for REAL and COMPLEX" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:157 +msgid "Add support for lowering the goto statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:158 +msgid "Add type conversion for !fir.box" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:159 +msgid "Add FIRInlinerInterface" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:160 +msgid "Lower simple RETURN statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:161 +msgid "" +"Upstream fix to allocmem codegen to deal with missing dimensions for " +"sequence of character types" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:162 +msgid "Lower basic function with scalar integer/logical return value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:163 +msgid "Enable scalar real type in lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:164 +msgid "Enable complex type in function lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:165 +msgid "Handle lowering of ranked array" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:166 +msgid "Lower simple scalar assignment" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:167 +msgid "Lower scalar negation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:168 +msgid "Lower basic binary operation for scalars" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:169 +msgid "Initial patch to lower a Fortran intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:170 +msgid "Lower real constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:171 +msgid "Lower complex constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:172 +msgid "Lower function and subroutine calls" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:173 +msgid "Handle allocatable dummy arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:174 +msgid "Lower allocatable assignment for scalar" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:175 +msgid "Simple array assignment lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:176 +msgid "Lower simple character return" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:177 +msgid "Lower Fortran intrinsic to a runtime call/llvm intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:178 +msgid "Lower integer comparison operation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:179 +msgid "Lower real comparison operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:180 +msgid "Lower logical comparison and logical operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:181 +msgid "Lower power operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:182 +msgid "Add complex operations lowering tests" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:183 +msgid "Lower basic IO statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:184 +msgid "Handle dynamic array lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:186 +msgid "Add support for `-emit-mlir`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:187 +msgid "Add support for `-emit-llvm`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:188 +msgid "Make `flang-new` always generate run-time type info" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:189 +msgid "Add support for `--target`/`--triple`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:191 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for atomic update " +"construct" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:192 +msgid "The device expression must evaluate to a non-negative integer value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:193 +msgid "" +"Remove clauses from OpenMP Dialect that are handled by the flang frontend" +" instead:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:194 +msgid "private, firstprivate, lastprivate, shared, default, copyin, copyprivate" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:196 +msgid "Implement a runtime routine to report fatal errors with source position" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:197 +msgid "Rename the runtime routine that reports a fatal user error" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:198 +msgid "runtime perf: larger I/O buffer growth increments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:199 +msgid "Add runtime interface for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:200 +msgid "Upstream runtime changes for inquiry intrinsics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:201 +msgid "Improve error message (initialized variable in pure subprogram)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:202 +msgid "Accept BOZ literals for some actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:203 +msgid "Accept sparse argument keyword names for MAX/MIN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:204 +msgid "Accept INDEX(..., BACK=array)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:205 +msgid "Fix OPEN/WRITE(SIGN='SUPPRESS')" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:206 +msgid "Handle FLUSH(unknown unit)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:207 +msgid "Allow explicit '+' in NAMELIST input subscripts" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:208 +msgid "Extension: skip over NAMELIST groups" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:209 +msgid "Add array operations documentation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:210 +msgid "Fix crash from USE-associated defined I/O subprograms" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:211 +msgid "Allow INQUIRE() on a child unit in user-defined I/O procedure" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:212 +msgid "Don't drop format string for external child I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:213 +msgid "Support DECIMAL='COMMA' mode in namelist I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:214 +msgid "Update tco tool pipline and add translation to LLVM IR" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:215 +msgid "Add MemoryAllocation pass to the pipeline" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:216 +msgid "Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:217 +msgid "Add a custom target for the \"flang\" wrapper script." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:218 +msgid "split character procedure arguments in target-rewrite pass" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:219 +msgid "Expand the semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:220 +msgid "Correct interpretation of RECL=" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:221 +msgid "Distinguish intrinsic from non-intrinsic modules" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:222 +msgid "" +"Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit " +"numbers" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:223 +msgid "Modify right modes for READ/WRITE vs OPEN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:224 +msgid "Add a semantics test for co_broadcast" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:225 +msgid "catch implicit interface incompatibility with global scope symbol" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:226 +msgid "Add an assert to guard against nullptr dereferencing" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:227 +msgid "Fix FlangOptimizerTests link on Solaris" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:228 +msgid "Handle \"type(foo) function f\" when foo is defined in f" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:229 +msgid "Refine pointer/target test for ASSOCIATED intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:230 +msgid "Allow mixed association of procedure pointers and targets" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:231 +msgid "Fix edge case in USE-associated generics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:232 +msgid "Fail at link time if derived type descriptors were not generated" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:233 +msgid "Allow for deferred-length character in EstablishDescriptor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:234 +msgid "Allow DATA initialization of derived types w/ allocatable components" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:235 +msgid "" +"Accept NULL(mold=x) as constant component value in constant structure " +"constructor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:236 +msgid "Ensure a characterized ENTRY in a PURE subprogram is also marked PURE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:237 +msgid "Accept structure constructor value for polymorphic component" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:238 +msgid "Remove deprecated parser/printer/verifier utilities" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:239 +msgid "Accept pointer assignment w/ remapping to function result" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:240 +msgid "Allow extension cases of EQUIVALENCE with optional warnings" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:241 +msgid "Handle CALL C_F_POINTER(without SHAPE=)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:242 +msgid "Make source location more accurate for actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:243 +msgid "Add Win32 to the list of supported triples" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:244 +msgid "Allow tabs as white space in formats" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:245 +msgid "Do not print format tabs" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:246 +msgid "Catch I/O of bad derived type at compile time" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:247 +msgid "Allow more concurrently open NEWUNIT= values, with recycling" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:253 +#, python-format +msgid "" +"LFortran is participating in GSoC, please see [GSoC 2022 Student " +"Instructions for " +"LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions)" +" for instructions how to apply" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:254 +msgid "19 Merge Requests merged" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:255 +msgid "New ASR optimizations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:256 +msgid "Addes support for fma (fused-multiply add) in LLVM" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:257 +msgid "Semantic improves to compile more of stdlib" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:263 +msgid "" +"Fortran-lang has been selected as a mentoring organization for Google " +"Summer of Code 2022! Thanks to everybody who helped prepare the " +"application. [GSoC](https://summerofcode.withgoogle.com/) is Google's " +"global, online program that allows newcomers to open-source to work on a " +"project and get paid for it. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. " +"Applications for contributors open **April 4** and close **April 19**. To" +" learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate as a contributor or a mentor, please let us know in this " +"thread and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:270 +msgid "" +"Fortran-lang community now maintains a modernized fork of the classic " +"library [minpack](https://github.com/fortran-lang/minpack). Give it a " +"try!" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:272 +msgid "" +"We had our 23rd Fortran Monthly call on February 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:275 +msgid "" +"US Fortran Standards Committee meeting #226 started on February 28. See " +"the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt)" +" and the submitted papers [here](https://j3-fortran.org/doc/meeting/226)." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:298 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:273 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:395 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:501 +msgid "[fortran-lang/minpack](https://github.com/fortran-lang/minpack)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:9 +msgid "" +"Welcome to the April edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:19 +msgid "" +"[#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): " +"Newsletter for March 2022" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:21 +msgid "" +"[#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): " +"Updated VS Code extensions" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:23 +msgid "" +"[#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): add " +"string array to learn" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:25 +msgid "" +"[#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): " +"Resolves typos #377" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:30 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:45 +msgid "" +"[#632](https://github.com/fortran-lang/stdlib/pull/632): doc: fix some " +"typos" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:47 +msgid "" +"[#629](https://github.com/fortran-lang/stdlib/pull/629): option to " +"disable testing by setting BUILD_TESTING to OFF" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:49 +msgid "" +"[#631](https://github.com/fortran-lang/stdlib/pull/631): Preparation for " +"0.2.0 release" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:51 +msgid "" +"[#637](https://github.com/fortran-lang/stdlib/pull/637): Only set Fortran" +" arguments for Fortran compiler" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:53 +msgid "" +"[#642](https://github.com/fortran-lang/stdlib/pull/642): Fix linking " +"issue with shared libraries" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:100 +msgid "" +"[#675](https://github.com/fortran-lang/fpm/pull/675): Fix for backtrace " +"error when file not found in: src/fpm_source_parsing.f90" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:102 +msgid "" +"[#677](https://github.com/fortran-lang/fpm/pull/677): Fix issue with " +"backend pretty output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:104 +msgid "" +"[#684](https://github.com/fortran-lang/fpm/pull/684): fix: remove remove " +"unnecessary space in fpm new cmd" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:106 +msgid "" +"[#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): " +"Update to v4 in usage example in README" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:111 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:131 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:119 +msgid "" +"[#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): fix: function" +" for getting executable path" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:113 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:133 +msgid "" +"[#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): Tree shaking " +"for modules" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:115 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:135 +msgid "" +"[#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): Add `library-" +"dir` to support `-Lpath`" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:151 +msgid "Lower IO open and close statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:152 +msgid "Lower basic IO file statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:153 +msgid "Lower inquire statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:154 +msgid "Handle module in lowering pass" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:155 +msgid "Lower more cases of assignments on allocatable variables" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:156 +msgid "Add lowering for host association" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:157 +msgid "Lower allocate and deallocate statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:158 +msgid "Lower sum intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:159 +msgid "Lower computed and assigned goto" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:160 +msgid "Lower associate construct" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:161 +msgid "Update ArrayValueCopy to support array_amend and array_access" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:162 +msgid "Lower more array character cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:163 +msgid "Lower basic derived types" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:164 +msgid "Lower where statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:165 +msgid "Lower general forall statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:166 +msgid "Lower pointer component in derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:167 +msgid "Lower of elemental calls in array expression" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:168 +msgid "Add tests for allocatable global" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:169 +msgid "Add support for linkonce_odr in FIR" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:170 +msgid "Lower elemental calls" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:171 +msgid "Lower ALL intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:172 +msgid "Lower common block" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:173 +msgid "Lower format statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:174 +msgid "Write a pass to annotate constant operands on FIR ops" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:175 +msgid "Lower ANY intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:176 +msgid "Add support for lowering the dot_product intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:177 +msgid "Add support for lowering the dim intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:178 +msgid "Add support for lowering of the ibits intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:179 +msgid "Lower more pointer assignments/disassociation cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:180 +msgid "Lower entry statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:181 +msgid "Lower alternate return" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:182 +msgid "Lower allocated intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:183 +msgid "" +"Add lowering for the following character related intrinsics: len, " +"len_trim, lge, lgt, lle and llt" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:184 +msgid "Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:185 +msgid "Lower random_[init|number|seed] intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:186 +msgid "Lower date_and_time and cpu_time intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:187 +msgid "Lower system_clock intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:188 +msgid "Add support for lowering of the ibset intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:189 +msgid "Lower transfer instrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:190 +msgid "Lower adjustl and adjustr intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:191 +msgid "Lower count intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:192 +msgid "Add lowering for the set_exponent intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:194 +msgid "Add support for -debug-dump-pft" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:195 +msgid "Add support for -S and implement -c/-emit-obj" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:196 +msgid "Add support for -mllvm" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:198 +msgid "[mlir]Generating enums in accordance with the guidelines" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:199 +msgid "Added basic connect to lower OpenMP constructs" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:200 +msgid "Support for dump OpenMP/OpenACC declarative directives PFT in module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:201 +msgid "Add OpenMP and OpenACC flags to bbc" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:202 +msgid "Allow data transfer stmt control list errors to be caught" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:203 +msgid "Extension: don't require commas between most edit descriptors in formats" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:204 +msgid "Fix result type of \"procedure(abs) :: f\"" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:205 +msgid "Catch READ/WRITE on direct-access file without REC=" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:206 +msgid "Honor RECL= in list-directed/namelist output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:207 +msgid "Accommodate module subprograms defined in the same module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:208 +msgid "Extend ProvenanceRange::Suffix() to handle crash case" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:209 +msgid "Remove bogus messages for actual/dummy procedure argument compatibility" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:210 +msgid "Support PDT type descriptors in codegen" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:211 +msgid "Handle optional TARGET associate in ASSOCIATED runtime" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:212 +msgid "Generate PDT runtime type info in the type definition scope" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:213 +msgid "Accommodate arrays with a zero-extent dimension in location folding" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:214 +msgid "Avoid crash case in provenance mapping" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:215 +msgid "Make per-argument intrinsic error messages more localized" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:216 +msgid "Use faster path for default formatted character input" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:217 +msgid "Runtime validation of SPREAD(DIM=dim) argument" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:218 +msgid "" +"Make uninitialized allocatable components explicitly NULL() in structure " +"constructors" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:219 +msgid "Fix module file missing USE for shadowed derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:220 +msgid "Add nonfatal message classes" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:221 +msgid "Distinguish usage and portability warning messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:222 +msgid "Use unix logical representation for fir.logical" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:223 +msgid "Fix extent computation in finalization" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:224 +msgid "Fix processing ModuleLikeUnit evaluationList" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:225 +msgid "Do not return true for pointer sub-object in IsPointerObject" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:226 +msgid "Fix DYLIB builds" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:227 +msgid "Improve runtime crash messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:228 +msgid "Add runtime support for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:229 +msgid "IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:230 +msgid "LBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:231 +msgid "Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:232 +msgid "fulfill -Msave/-fno-automatic in main programs too" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:233 +msgid "Relax fir.rebox verifier with characters" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:243 +msgid "" +"The \"State of Fortran\" paper by Kedward et al. has been accepted for " +"publication in the IEEE journal Computing in Science and Engineering " +"(CiSE). You can read the pre-print on " +"[arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early " +"Access on the [CiSE " +"website](https://ieeexplore.ieee.org/document/9736688)." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:245 +msgid "" +"The contributor application window for this year's [Google Summer of " +"Code](https://summerofcode.withgoogle.com) is approaching fast. It opens " +"**April 4** and closes **April 19**. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. To " +"learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate, please let us know and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:250 +msgid "" +"We had our 24th Fortran Monthly call on March 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:9 +msgid "" +"Welcome to the May edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:21 +msgid "" +"[#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): " +"Newsletter for April 2022" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:23 +msgid "" +"[#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): Add " +"librsb to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:25 +msgid "" +"[#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): Add " +"Elk to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:27 +msgid "" +"[#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): Add " +"pencil-code to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:29 +msgid "" +"[#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): Add " +"PROPACK to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:31 +msgid "" +"[#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): Add " +"feed link to HTML head element" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:35 +msgid "" +"[#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): fix " +"dependency of include files under `learn/building_programs` mini-book" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:40 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:26 +msgid "" +"[#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): " +"Add NUFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:42 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:28 +msgid "" +"[#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): " +"Add OpenFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:44 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:30 +msgid "" +"[#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): " +"Add 2DECOMP&FFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:46 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:32 +msgid "" +"[#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): " +"Add SLICOT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:48 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:34 +msgid "" +"[#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): " +"Add FATODE to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:63 +msgid "" +"[#646](https://github.com/fortran-lang/stdlib/pull/646): Export symbols " +"on Windows and set PIC flag for Unix" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:65 +msgid "" +"[#651](https://github.com/fortran-lang/stdlib/pull/651): Bugfix release " +"version 0.2.1" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:70 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): Add hint " +"for building error with make" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:72 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): fixed " +"32-bit integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:74 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:62 +msgid "" +"[#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): Feature: " +"loadtxt skiprows and max_rows" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:118 +msgid "" +"[#688](https://github.com/fortran-lang/fpm/pull/688): Small fix for " +"fpm_model" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:120 +msgid "[#665](https://github.com/fortran-lang/fpm/pull/665): add clean command" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:125 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): Fix show-" +"model option" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:127 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:129 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:117 +msgid "" +"[#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): fix: remove " +"extra space from help-test cmd" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:169 +msgid "Lower various intrinsics:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:170 +msgid "" +"character related intrinsics, array related intrinsics, index intrinsics," +" present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, " +"command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, " +"sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, " +"log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:171 +msgid "Add IO lowering test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:172 +msgid "Add more lowering tests for dummy arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:173 +msgid "Add equivalence lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:174 +msgid "Add array constructor lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:175 +msgid "Lower more array expressions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:176 +msgid "Lower statement function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:177 +msgid "Lower length on character storage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:178 +msgid "Lower select case statement" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:179 +msgid "Add OpenMP Conversion patterns" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:180 +msgid "Lower procedure designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:181 +msgid "Lower boxed procedure" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:182 +msgid "Flush and master constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:183 +msgid "Add lowering C interoperability test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:184 +msgid "Add misc lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:185 +msgid "Handle zero extent case in LBOUND" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:186 +msgid "Lower some coarray statements to their runtime function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:187 +msgid "Options to lower math intrinsics to relaxed, precise variants" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:188 +msgid "Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:189 +msgid "Added lowering support for atomic read and write constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:190 +msgid "fix LBOUND lowering with KIND and no DIM arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:191 +msgid "Keep fully qualified !fir.heap type for fir.freemem op" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:192 +msgid "Update the conversion code for fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:193 +msgid "Set lower bounds of array section fir.embox to one" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:194 +msgid "Fix fir.embox codegen with constant interior shape" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:195 +msgid "Do not fold fir.box_addr when it has a slice" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:197 +msgid "Make --version and -version consistent with clang" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:198 +msgid "Add support for -mmlir" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:199 +msgid "Make the plugin API independent of the driver internals" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:200 +msgid "Add support for generating executables" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:202 +msgid "Lowering critical construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:203 +msgid "Added assembly format for omp.wsloop and remove parseClauses" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:204 +msgid "Added lowering support for sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:205 +msgid "Added ReductionClauseInterface" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:206 +msgid "Added parallel sections translation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:207 +msgid "" +"Revert \"[Flang][OpenMP] Add semantic check for OpenMP Private, " +"Firstprivate and Lastprivate clauses.\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:208 +msgid "Added allocate clause translation for OpenMP block constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:209 +msgid "Support export/import OpenMP Threadprivate Flag" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:210 +msgid "Add implementation of privatisation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:211 +msgid "Add checks and tests for hint clause and fix empty hint" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:212 +msgid "OpenACC" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:213 +msgid "Lower enter data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:214 +msgid "Lower exit data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:215 +msgid "Lower init/shutdown directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:216 +msgid "Lower update directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:217 +msgid "Lower data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:218 +msgid "Lower wait directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:220 +msgid "Error recovery improvement in runtime (IOMSG=)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:221 +msgid "Initial UTF-8 support in runtime I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:222 +msgid "Ensure PointerDeallocate actually deallocate pointers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:223 +msgid "Add runtime API to catch unit number out of range" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:224 +msgid "Prefer process time over thread time in CPU_TIME" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:225 +msgid "Raise FP exceptions from runtime conversion to binary" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:226 +msgid "Preserve effect of positioning in record in non-advancing output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:227 +msgid "Don't skip input spaces when they are significant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:228 +msgid "Fix ENDFILE for formatted stream output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:229 +msgid "Don't emit empty lines for bad writes" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:230 +msgid "Ignore leading spaces even in BZ mode" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:231 +msgid "Fix edge-case FP input bugs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:232 +msgid "Enforce some limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:233 +msgid "Signal record read overrun when PAD='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:234 +msgid "Fix KIND=16 real/complex component I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:235 +msgid "Fix total MAXLOC/MINLOC for non-integer data" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:236 +msgid "Handle allocatable components when creating array temps" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:237 +msgid "[Parser] Add a node for individual sections in sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:238 +msgid "Add explanatory messages to grammar for language extensions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:239 +msgid "" +"Convert RUNTIME_CHECK to better error for user errors in " +"transformational.cpp" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:240 +msgid "Accept legacy aliases for intrinsic function names" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:241 +msgid "Expose error recovery cases in external I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:242 +msgid "Fix crash: ENTRY with generic interface of the same name" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:243 +msgid "Fold DBLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:244 +msgid "Single construct translation from PFT to FIR" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:245 +msgid "UBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:246 +msgid "Make not yet implemented messages more consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:247 +msgid "Fix LBOUND rewrite on descriptor components" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:248 +msgid "Ensure descriptor lower bounds are LBOUND compliant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:249 +msgid "Fix cycle-catcher in procedure characterization" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:250 +msgid "Fix bogus error from assignment to CLASS(*)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:251 +msgid "Mark C_ASSOCIATED specific procedures as PURE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:252 +msgid "Catch bad OPEN(STATUS=) cases" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:253 +msgid "Fold NEAREST() and its relatives" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:254 +msgid "Prevent undefined behavior in character MAXLOC folding" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:255 +msgid "Fix invalid overflow check" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:256 +msgid "Skip D when including D debug line" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:257 +msgid "Allow user to recover from bad edit descriptor with INTEGER" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:258 +msgid "Fold instantiated PDT character component length when needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:259 +msgid "Add one semantic check for allocatable/pointer argument association" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:260 +msgid "[cmake] Make CMake copy \"omp_lib.h\" into the build directory" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:261 +msgid "Handle dynamically optional argument in EXIT" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:262 +msgid "Fix semantic analysis for \"forall\" targeted by \"label\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:263 +msgid "Emit a portability warning for padding in COMMON" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:264 +msgid "Expand the num_images test coverage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:265 +msgid "Fold IBITS() intrinsic function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:266 +msgid "Error handling for out-of-range CASE values" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:267 +msgid "Respect left tab limit with Tn editing after ADVANCE='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:268 +msgid "Allow IMPLICIT NONE(EXTERNAL) with GenericDetails" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:269 +msgid "Do not ICE on out-of-range data statement designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:270 +msgid "Fix ICE for sqrt(0.0) evaluation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:271 +msgid "Fix float-number representation bug" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:272 +msgid "Fix intrinsic interface for DIMAG/DCONJG" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:273 +msgid "Improve appearance of message attachments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:274 +msgid "Fix combining cases of USE association & generic interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:275 +msgid "Defer all function result type processing" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:276 +msgid "Always encode multi-byte output in UTF-8" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:277 +msgid "Fix shape analysis of RESHAPE result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:278 +msgid "Use full result range for clock_gettime implementation of SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:279 +msgid "Correct interaction between generics and intrinsics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:280 +msgid "Make F0.1 output editing of zero edge case consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:281 +msgid "Inner INTRINSIC must not shadow host generic" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:282 +msgid "Local generics must not shadow host-associated generics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:283 +msgid "Fix TYPE/CLASS IS (T(...)) in SELECT TYPE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:284 +msgid "Allow modification of construct entities" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:285 +msgid "Defer NAMELIST group item name resolution" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:286 +msgid "Accept TYPE(intrinsic type) in declarations only for non-extension type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:287 +msgid "Finer control over error recovery with GetExpr()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:288 +msgid "Handle parameter-dependent types in PDT initializers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:289 +msgid "Upgrade short actual character arguments to errors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:290 +msgid "Allow POINTER attribute statement on procedure interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:291 +msgid "Accept KIND type parameter inquiries on RE, IM, etc." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:292 +msgid "Add & use a better visit()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:293 +msgid "Fix regression with recent work on intrinsic/generic interactions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:294 +msgid "Do not pass derived type by descriptor when not needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:295 +msgid "Fix LBOUND() folding for constant arrays" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:296 +msgid "Set LBOUND() folding for (x) expression as ones" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:297 +msgid "Semantics limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:298 +msgid "Do not ICE on recursive function definition in function result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:299 +msgid "Fold transformational bessels when host runtime has bessels" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:300 +msgid "Do not create arith.extui with same from/to type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:301 +msgid "Disambiguate F(X)=Y case where F is a function returning a pointer" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:302 +msgid "Avoid global name conflict when BIND(C,NAME=) is used" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:303 +msgid "Accept \"INFINITY\" as real input" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:304 +msgid "Add semantic checks for intrinsic function REDUCE()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:305 +msgid "Fix crash from PDT component init in module file" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:307 +msgid "" +"Call notes are recorded and publicly available " +"[here](https://docs.google.com/document/d/1Z2U5UAtJ-" +"Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit)." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:313 +msgid "" +"[Fixes for intrinsics while compiling `stdlib` using " +"`lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:314 +msgid "" +"[Draft: Stdlib " +"sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:315 +msgid "" +"[Draft: Sprint Compiling stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:319 +msgid "" +"[Implementing dead code elemination " +"optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:320 +msgid "" +"[Supporting duplication of Function/Subroutine " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:321 +msgid "" +"[Implementing loop unrolling optimization for fixed sized " +"loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:325 +msgid "" +"[AST->ASR: Remove " +"current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:326 +msgid "" +"[Added support keyword argument in class " +"procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:327 +msgid "" +"[Implementing ArrayBound node to replace `lbound`, `ubound` as function " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:328 +msgid "" +"[Implementing `Block` and " +"`BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:329 +msgid "" +"[Made scope private in SymbolTable struct and added interface methods to " +"modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:330 +msgid "" +"[Removing dead code which treats size intrinsic as " +"function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:331 +msgid "" +"[Implementing `ArraySize` node to replace function call to " +"`size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:332 +msgid "" +"[Fixing " +"adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:333 +msgid "" +"[Implementing " +"AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:334 +msgid "" +"[Move ASR.asdl into the src/libasr " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:335 +msgid "" +"[Fixing handling of return " +"type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:336 +msgid "" +"[Fill function in FunctionCall of len expr of Character type after " +"completing symbol " +"table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:337 +msgid "" +"[Fixing inline function calls pass to skip " +"intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:338 +msgid "" +"[Draft: ASR: Add all intrinsic operations into ASR " +"itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:341 +msgid "**WASM**" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:343 +msgid "[Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:344 +msgid "" +"[draft: Wasm Intial " +"Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:345 +msgid "" +"[draft: Compiling LFortran to " +"WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:350 +msgid "" +"[bind(c): Fix " +"call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:351 +msgid "" +"[bind(c): Add tests for i64, f32, " +"f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:352 +msgid "" +"[Fix a bug in a " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:353 +msgid "" +"[Add a test for calling Fortran from " +"C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:354 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:355 +msgid "" +"[CI: add git " +"safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:356 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:357 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:358 +msgid "" +"[Adding and Improving " +"tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:359 +msgid "" +"[Remove --target install and CMAKE_INSTALL_PREFIX from " +"build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:365 +msgid "[Ubaid Shaikh](https://gitlab.com/shaikhubaid769)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:371 +msgid "" +"We had our 25th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:374 +msgid "" +"Visual Studio Code's popular [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang" +".linter-gfortran) extension joined the [fortran-lang " +"GitHub](https://github.com/fortran-lang/vscode-fortran-support) " +"organization." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:376 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:482 +msgid "" +"Join and follow the [Fortran Discourse](https://fortran-" +"lang.discourse.group) to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:9 +msgid "" +"Welcome to the June edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:19 +msgid "" +"[#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): " +"Newsletter May 2022" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:21 +msgid "" +"[#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): Add " +"SeisSol to package index" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:49 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656): Add hint for " +"building error with make" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:51 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655): fixed 32-bit " +"integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:53 +msgid "" +"[#657](https://github.com/fortran-lang/stdlib/pull/657): Remove support " +"for manual make builds" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:58 +msgid "" +"[#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): Fix " +"erroneous gaussian quadrature points in gauss_legendre" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:60 +msgid "" +"[#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): Readme " +"update" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:108 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:110 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693): Fix show-model " +"option" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:115 +msgid "" +"[#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): Some cleanups" +" and minor fixes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:151 +msgid "Initial lowering of the Fortran Do loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:152 +msgid "Lower Unstructured do loops" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:154 +msgid "Define the default frontend driver triple" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:155 +msgid "Add support for consuming LLVM IR/BC files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:156 +msgid "Add support for -save-temps" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:157 +msgid "Switch to the MLIR coding style in the driver" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:158 +msgid "Fix driver method names overridden by the plugins" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:159 +msgid "Support parsing response files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:160 +msgid "Make driver accept -module-dir" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:161 +msgid "Add support for generating executables on MacOSX/Darwin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:163 +msgid "Add lowering stubs for OpenMP/OpenACC declarative constructs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:164 +msgid "Added tests for taskwait and taskyield translation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:165 +msgid "Restrict types for omp.parallel args" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:166 +msgid "Add omp.cancel and omp.cancellationpoint." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:167 +msgid "Initial lowering of the OpenMP worksharing loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:168 +msgid "Lowering for task construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:169 +msgid "Support lowering to MLIR for ordered clause" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:170 +msgid "Support for Collapse" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:171 +msgid "Upstream the lowering of the parallel do combined construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:172 +msgid "Fix the types of worksharing-loop variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:173 +msgid "Change the OpenMP atomic read/write test cases" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:175 +msgid "Correct emission & reading of unterminated final records" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:176 +msgid "Support B/O/Z editing of CHARACTER" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:177 +msgid "Use 1-based dim in transformational runtime error msg" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:178 +msgid "Change \"unsupported\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:179 +msgid "Fix input of NAN(...) on non-fast path" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:180 +msgid "Don't pad CHARACTER input at end of record unless PAD='YES'" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:181 +msgid "Enforce restrictions on unlimited format repetition" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:182 +msgid "(G0) for CHARACTER means (A), not (A0)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:183 +msgid "BACKSPACE after non-advancing I/O" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:184 +msgid "Use proper prototypes in Fortran_main. NFCI" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:185 +msgid "Clean up asynchronous I/O APIs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:186 +msgid "INQUIRE(UNIT=666,NUMBER=n) must set n=666" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:187 +msgid "Handle BACKSPACE after reading past EOF" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:188 +msgid "Fix MAXLOC/MINLOC when MASK is scalar .FALSE." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:189 +msgid "Fix UBOUND() constant folding for parentheses expr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:190 +msgid "Support FINDLOC/MAXLOC/MINLOC with scalar mask" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:191 +msgid "Handle common block with different sizes in same file" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:192 +msgid "Add one semantic check for implicit interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:193 +msgid "Fix semantics check for RETURN statement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:194 +msgid "Fix ICE for passing a label for non alternate return arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:195 +msgid "Add ExternalNameConversionPass to pass pipeline" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:196 +msgid "Fix AllocaOp/AllocMemOp type conversion" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:197 +msgid "" +"Support external procedure passed as actual argument with implicit " +"character type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:198 +msgid "Fix internal error with DATA-statement style initializers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:199 +msgid "Upstream support for POINTER assignment in FORALL" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:200 +msgid "Enforce a program not including more than one main program" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:201 +msgid "Retain binding label of entry subprograms" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:202 +msgid "Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:203 +msgid "Fold intrinsic functions SPACING() and RRSPACING()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:204 +msgid "Operands of SIGN() need not have same kind" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:205 +msgid "Correct folding of SPREAD() for higher ranks" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:206 +msgid "Refine handling of short character actual arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:207 +msgid "Ensure that structure constructors fold parameter references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:208 +msgid "" +"Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER " +"functions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:209 +msgid "Allow PDTs with LEN parameters in REDUCE()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:210 +msgid "Allow NULL() actual argument for optional dummy procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:211 +msgid "Allow implicit declaration of DATA objects in inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:212 +msgid "Refine error checking in specification expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:213 +msgid "Reverse a reversed type compatibility check" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:214 +msgid "Accept POINTER followed by INTERFACE" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:215 +msgid "Allow ENTRY function result symbol usage before the ENTRY" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:216 +msgid "Fold real-valued DIM(), MODULO() and MOD()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:217 +msgid "Enforce limit on rank + corank" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:218 +msgid "" +"Allow local variables and function result inquiries in specification " +"expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:219 +msgid "Change \"bad kind\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:220 +msgid "Fold complex component references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:221 +msgid "Fix check for assumed-size arguments to SHAPE() & al." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:222 +msgid "" +"Fix a performance problem with lowering of forall loops and creating too " +"many temporaries" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:223 +msgid "Warn for the limit on name length" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:224 +msgid "Install Fortran_main library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:225 +msgid "test conforming & non-conforming lcobound" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:226 +msgid "Fix use-associated false-positive error" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:227 +msgid "Fix character length calculation for Unicode component" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:228 +msgid "Allow global scope names that clash with intrinsic modules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:229 +msgid "Ignore BIND(C) binding name conflicts of inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:230 +msgid "Allow more forward references to ENTRY names" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:231 +msgid "Extension: Accept Hollerith actual arguments as if they were BOZ" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:232 +msgid "Alternate entry points with unused arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:233 +msgid "Fix crash in semantics after PDT instantiation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:238 +msgid "Gagandeep Singh (106):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:239 +msgid "Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:240 +msgid "Added test for kwargs in class procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:241 +msgid "Added support for kwargs in class procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:242 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:247 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:253 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:258 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:267 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:271 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:273 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:276 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:281 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:286 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:291 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:293 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:298 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:301 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:303 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:306 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:311 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:315 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:321 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:335 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:338 +msgid "Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:243 +msgid "Added support for i32 and i64 in repeat" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:244 +msgid "Added mergechar in merge interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:245 +msgid "Added is_iostat_eor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:246 +msgid "Removed compulsory evaluation of ishft" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:248 +msgid "" +"Use intrinsic type checking in assignment only when operator overloading " +"fails" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:249 +msgid "Perform casting in Compare only when overloaded is not available" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:250 +msgid "Set dest_type and source_type even though casting doesn't happen" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:251 +msgid "Use kind_value to generate type in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:252 +msgid "Added test for verifying SemanticError in case of non-constant kind input" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:254 +msgid "Add AssociateBlock and Block in serialization.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:255 +msgid "Include associate_06 in the integration_tests/CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:256 +msgid "Take into account output kind in LLVM's ArraySize visitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:257 +msgid "Added test for different output kinds in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:259 +msgid "Import procedures for overloaded operators as well" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:260 +msgid "Fixed tests for compiling correctly with gfortran" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:261 +msgid "Mangle name before importing procedures under generic procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:262 +msgid "Merged master into sprint_6" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:263 +msgid "Avoid manual imports while using overloaded symbols" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:264 +msgid "Remove symbol from to_be_imported_later" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:265 +msgid "" +"Added support for keyword arguments in generic procedures and fix total " +"arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:266 +msgid "Added test for generic procedures with keyword arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:268 +msgid "Added intrinsics: congjz, dotproduct and updated: merge" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:269 +msgid "Added matmul, transpose as ASR nodes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:270 +msgid "Added tests for matmul and transpose" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:272 +msgid "Added merge, dotproduct procedures for complex type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:274 +msgid "Add support for source kwarg in allocate" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:275 +msgid "Updated test for verifying source argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:277 +msgid "" +"Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in " +"comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:278 +msgid "Added shiftl, shiftr and count" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:279 +msgid "Added more implementations for abs, mod" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:280 +msgid "Added adjustr, lgt, llt, lle, lge for string type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:282 +msgid "Registered ieee_is_nan in comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:283 +msgid "Added support for pack intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:284 +msgid "Added support for transfer intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:285 +msgid "Use modern Fortran syntax for array constants" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:287 +msgid "ArrayTransfer -> Transfer rename" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:288 +msgid "Added generation code for expression replacer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:289 +msgid "Added ReplaceArgVisitor and generalised handle_return_type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:290 +msgid "Added tests for verifying arg replacer in return types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:292 +msgid "Added cmplx via ComplexConstructor node" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:294 +msgid "Import via use inside Function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:295 +msgid "Added support for matching Derived/ClassType" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:296 +msgid "Added support for falling back to intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:297 +msgid "Added to test verify importing procedures inside function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:299 +msgid "Added support for passing kind parameter to floor intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:300 +msgid "" +"Use CPtr for variables declared with type(c_ptr) 2. Set " +"Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in " +"extract_dimensions_from_ttype" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:302 +msgid "Added LLVM support for CLoc, CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:304 +msgid "Added integration test for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:305 +msgid "Added support for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:307 +msgid "Added error checking for presence of shape argument in c_f_pointer call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:308 +msgid "Fixed ArrayConstant type and raise error is shape is not rank 1" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:310 +msgid "Implemented c_f_pointer for non-array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:312 +msgid "Added test with pointer array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:313 +msgid "Shifted type generation to a function in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:314 +msgid "Corrected llvm::Type* for array pointer variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:316 +msgid "" +"Fixed ArrayBound for array pointers 2. Shifted argument type generation " +"to a function and use recursion for Pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:317 +msgid "Added support for printing Pointer type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:318 +msgid "" +"Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return " +"ArrayBound instead of a function call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:319 +msgid "Use element type in ArrayRef instead of pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:320 +msgid "Syntax improvement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:322 +msgid "Removed warnings" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:323 +msgid "Adjust ArrayBound for ArrayConstant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:324 +msgid "Corrected arrays_13 by making iv, rv as target" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:325 +msgid "Stronger verification checks for CFPointer creation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:326 +msgid "Support for array inputs in CFPointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:327 +msgid "Improved bindc2 for array inputs in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:328 +msgid "" +"Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved " +"CFPointer in LLVM backend to not interfere with already stored array in " +"array pointer variables 3. Improved bindc2.f90 and made it robust to " +"cover more cases. 4. Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:329 +msgid "Fixed unused variable warnings in llvm_utils.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:330 +msgid "Use abstract methods in CFPointer for accessing array descriptor data" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:331 +msgid "Added test for ArrayRef in c_loc" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:332 +msgid "Minor update in bindc2 and bindc3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:333 +msgid "Fixed Complex case in duplicate type and intialise type at declaration" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:334 +msgid "Added support ArrayRef in CLoc in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:336 +msgid "" +"Added support for CPtr in arguments and fixed llvm::Type for intent(out) " +"for CPtr 2. Added support for constant arrays as shape in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:337 +msgid "Updated bindc4 for verifying constant arrays in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:340 +msgid "Naman Gera (1):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:341 +msgid "Update the C runtime library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:343 +msgid "Ondřej Čertík (136):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:344 +msgid "AST->ASR: Remove current_body" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:345 +msgid "Fix a bug in a test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:346 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:351 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:353 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:356 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:360 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:362 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:365 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:374 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:377 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:407 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:410 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:428 +msgid "Update tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:347 +msgid "bind(c): Add tests for i64, f32, f64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:348 +msgid "Update modules_18b.f90 to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:349 +msgid "Add tests for the other types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:350 +msgid "Comment out a non-working case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:352 +msgid "bind(c): Fix call_fortran_i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:354 +msgid "bind(c): Add a test for i32 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:355 +msgid "LLVM: implement value arguments in bind(c) procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:357 +msgid "Make modules_18b.f90 compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:358 +msgid "bind(c): test i64, f32, f64 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:359 +msgid "Update modules_18b to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:361 +msgid "ASR: Bring updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:363 +msgid "ASR: Updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:364 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:427 +msgid "Update the rest of the code to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:366 +msgid "C++ backend: implement ComplexConstructor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:367 +msgid "Add the simplest test for submodules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:368 +msgid "Add Logical to nested_vars" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:369 +msgid "Workaround a cmake bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:370 +msgid "Add a test for bind(c) with pointers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:371 +msgid "Rework the AST->ASR handling of floor()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:372 +msgid "Implement is_intrinsic_symbol()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:373 +msgid "Refactor floor() into lfortran_intrinsic_math3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:375 +msgid "Add a test case for imported derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:376 +msgid "Add value to all expr nodes except Constant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:378 +msgid "Implement expr_type() using ExprTypeVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:379 +msgid "Implement expr_value() using ExprValueVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:380 +msgid "iso_c_binding: add the c_loc() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:381 +msgid "Allow derived types as return values" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:382 +msgid "ASR: Represent c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:383 +msgid "Add ASR test for c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:385 +msgid "ASR: Add string conversion for derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:386 +msgid "Add a CPtr() type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:387 +msgid "Make c_loc() return CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:388 +msgid "LLVM: handle CPtr in convert_args()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:389 +msgid "LLVM: Comment out visit_CFPointer (WIP)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:390 +msgid "CI: pin mkdocs-material and mkdocs versions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:391 +msgid "Fix spelling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:393 +msgid "Shorten the help for --show-wat to fit 80 columns" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:394 +msgid "Git ignore wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:395 +msgid "Move emit_wat out of LLVM ifdef" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:396 +msgid "Generate wasm_visitor.h in ci/build.xsh" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:397 +msgid "Enable WAT tests in run_tests.py" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:398 +msgid "Add a test for WASM" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:399 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:444 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:447 +msgid "Update reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:400 +msgid "Implement FortranEvaluator::get_wasm()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:401 +msgid "Use asr_to_wasm_bytes_stream() in asr_to_wasm" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:402 +msgid "WASM: Add 64 bit BinOp operations" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:403 +msgid "WASM: handle i64 arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:404 +msgid "WASM: Add a test for i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:405 +msgid "Move the wasm_instructions_visitor.py to libasr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:406 +msgid "Update ASR from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:408 +msgid "Bring more ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:409 +msgid "Bring in name mangling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:411 +msgid "Add a test for passing through pointers via C" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:412 +msgid "LLVM: implement debug ASR printing" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:413 +msgid "LLVM: Use `deftype` to implement interfaces" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:414 +msgid "LLVM: Pass type(c_ptr) by value properly" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:415 +msgid "Pass \"n\" by reference for now" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:416 +msgid "Pass arguments by value for bind(c)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:417 +msgid "Only do the load if it is a pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:418 +msgid "LLVM: Use an ASR condition instead of LLVM one" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:419 +msgid "lfortran_intrinsic_string: depend iso_fortran_env" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:420 +msgid "Enable bindc_01 LLVM test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:421 +msgid "Add a test for pointer argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:422 +msgid "Add suffixes 1/2" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:423 +msgid "Add a callback2b test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:424 +msgid "Add a test for callback1b()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:425 +msgid "Get value to reference argument working" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:426 +msgid "Port ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:429 +msgid "ASR sync with LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:431 +msgid "Tapasweni Pathak (9):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:432 +msgid "Add markdown sample for intrinsic:math:asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:433 +msgid "Add doxygen docstring in lfortran intrinsic runtime asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:434 +msgid "Add comments for interface asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:435 +msgid "Add doxygen comment for lfortran_sasin_api" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:436 +msgid "Enhance presentation of information" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:437 +msgid "use retval for return values variable" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:438 +msgid "delete fortran doxygen comments docs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:439 +msgid "mkdocs: LFortran Intrinsics: asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:440 +msgid "add: mkdocs: code syntax highlighting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:442 +msgid "Ubaid (24):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:443 +msgid "Improve ceiling() test case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:445 +msgid "Specifying constants as double precision" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:446 +msgid "Update error condition check as suggested" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:448 +msgid "Code formatting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:449 +msgid "Add and improve namespace ending comments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:450 +msgid "Add wasm_instructions list" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:451 +msgid "Comment out few instructions that have temporary variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:452 +msgid "Add wasm_instructions_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:453 +msgid "" +"Add namespace related info and pass code as function parameter in " +"wasm_insts_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:454 +msgid "Add command in build0.sh to generate wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:455 +msgid "Add utility struct and functions defined in wasm_utils" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:456 +msgid "Add wasm_to_wat converter" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:457 +msgid "Include wasm_to_wat and wasm_utils in CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:458 +msgid "Define vector.resize()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:459 +msgid "Add --show-wat flag and emit_wat() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:460 +msgid "Declare and define get_wat() in fortran_evaluator" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:461 +msgid "" +"Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to" +" memory" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:462 +msgid "Fix warning by adding U and add comment" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:463 +msgid "Fix missing parameters bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:464 +msgid "Switch off WAT_DEBUG macro" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:465 +msgid "Remove debugging cout statements" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:466 +msgid "Move load_file() to top" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:472 +msgid "" +"The Fortran-lang Google Summer of Code 2022 program began on May 23. We " +"welcome five contributors: Arteev Raina, Ashirwad Mishra, Henil Shalin " +"Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. They will be working " +"on exciting projects from fpm and the Fortran website to improving the " +"LFortran compiler. Read more about their projects " +"[here](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang)." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:478 +msgid "We had our 26th Fortran Monthly call on May 16. Watch the recording below:" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:503 +msgid "" +"[fortran-lang/vscode-fortran-support](https://github.com/fortran-lang" +"/vscode-fortran-support)" +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/packages.po b/locale/fr/LC_MESSAGES/packages.po new file mode 100644 index 000000000..12e54eac4 --- /dev/null +++ b/locale/fr/LC_MESSAGES/packages.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/packages.rst:8 +msgid "Packages - The Fortran Programming Language" +msgstr "" + +#: ../../source/packages.rst:13 +msgid "Fortran Packages" +msgstr "" + +#: ../../source/packages.rst:17 ../../source/packages/data-types.rst:7 +#: ../../source/packages/examples.rst:7 ../../source/packages/graphics.rst:7 +#: ../../source/packages/interfaces.rst:7 ../../source/packages/io.rst:7 +#: ../../source/packages/libraries.rst:7 ../../source/packages/numerical.rst:7 +#: ../../source/packages/programming.rst:7 +#: ../../source/packages/scientific.rst:7 ../../source/packages/strings.rst:7 +msgid "A rich ecosystem of high-performance code" +msgstr "" + +#: ../../source/packages.rst:22 +msgid "Find a Package" +msgstr "" + +#: ../../source/packages.rst:37 +msgid "Package index" +msgstr "" + +#: ../../source/packages.rst:41 +msgid "" +"The fortran-lang package index is community-maintained and lists open " +"source Fortran-related projects. This includes large-scale scientific " +"applications, function libraries, Fortran interfaces, and developer " +"tools. |br| See `here `_ for how to get your project listed. " +"|br| Use the box above to search the package index by keyword, package " +"name, or author username." +msgstr "" + +#: ../../source/packages.rst:54 +msgid "Featured topics" +msgstr "" + +#: ../../source/packages.rst:64 +msgid "Browse Packages by Category" +msgstr "" + +#: ../../source/packages.rst:69 +msgid "`Data types and containers `_" +msgstr "" + +#: ../../source/packages.rst:71 ../../source/packages/data-types.rst:17 +msgid "Libraries for advanced data types and container classes" +msgstr "" + +#: ../../source/packages.rst:74 +msgid "`Interface libraries `_" +msgstr "" + +#: ../../source/packages.rst:76 ../../source/packages/interfaces.rst:17 +msgid "Libraries that interface with other systems, languages, or devices" +msgstr "" + +#: ../../source/packages.rst:79 +msgid "`Libraries `_" +msgstr "" + +#: ../../source/packages.rst:81 ../../source/packages/libraries.rst:18 +msgid "Fortran libraries for general programming tasks" +msgstr "" + +#: ../../source/packages.rst:84 +msgid "`Input, output and parsing `_" +msgstr "" + +#: ../../source/packages.rst:86 ../../source/packages/io.rst:17 +#: ../../source/packages/numerical.rst:17 +msgid "Libraries for reading, writing and parsing files and inputs" +msgstr "" + +#: ../../source/packages.rst:89 +msgid "`Graphics, plotting and user interfaces `_" +msgstr "" + +#: ../../source/packages.rst:91 ../../source/packages/graphics.rst:17 +msgid "" +"Libraries for plotting data, handling images and generating user " +"interfaces" +msgstr "" + +#: ../../source/packages.rst:94 +msgid "`Examples and templates `_" +msgstr "" + +#: ../../source/packages.rst:96 ../../source/packages/examples.rst:18 +msgid "Demonstration codes and templates for Fortran" +msgstr "" + +#: ../../source/packages.rst:99 +msgid "`Numerical projects `_" +msgstr "" + +#: ../../source/packages.rst:101 +msgid "Fortran libraries for linear algebra, optimization, root-finding etc." +msgstr "" + +#: ../../source/packages.rst:104 +msgid "`Programming utilities `_" +msgstr "" + +#: ../../source/packages.rst:106 ../../source/packages/programming.rst:17 +msgid "Error handling, logging, documentation and testing" +msgstr "" + +#: ../../source/packages.rst:109 +msgid "`Characters and strings `_" +msgstr "" + +#: ../../source/packages.rst:111 ../../source/packages/strings.rst:17 +msgid "Libraries for manipulating characters and strings" +msgstr "" + +#: ../../source/packages.rst:114 +msgid "`Scientific Codes `_" +msgstr "" + +#: ../../source/packages.rst:116 ../../source/packages/scientific.rst:18 +msgid "" +"Applications and libraries for applied mathematical and scientific " +"problems" +msgstr "" + +#: ../../source/packages/data-types.rst:3 ../../source/packages/examples.rst:3 +#: ../../source/packages/graphics.rst:3 ../../source/packages/interfaces.rst:3 +#: ../../source/packages/io.rst:3 ../../source/packages/libraries.rst:3 +#: ../../source/packages/numerical.rst:3 +#: ../../source/packages/programming.rst:3 +#: ../../source/packages/scientific.rst:3 ../../source/packages/strings.rst:3 +msgid "Featured Open Source Projects" +msgstr "" + +#: ../../source/packages/data-types.rst:9 ../../source/packages/examples.rst:9 +#: ../../source/packages/graphics.rst:9 ../../source/packages/interfaces.rst:9 +#: ../../source/packages/io.rst:9 ../../source/packages/libraries.rst:9 +#: ../../source/packages/numerical.rst:9 +#: ../../source/packages/programming.rst:9 +#: ../../source/packages/scientific.rst:9 ../../source/packages/strings.rst:9 +msgid "license" +msgstr "" + +#: ../../source/packages/data-types.rst:10 +#: ../../source/packages/examples.rst:10 ../../source/packages/graphics.rst:10 +#: ../../source/packages/interfaces.rst:10 ../../source/packages/io.rst:10 +#: ../../source/packages/libraries.rst:10 +#: ../../source/packages/numerical.rst:10 +#: ../../source/packages/programming.rst:10 +#: ../../source/packages/scientific.rst:10 ../../source/packages/strings.rst:10 +msgid "stars" +msgstr "" + +#: ../../source/packages/data-types.rst:11 +#: ../../source/packages/examples.rst:11 ../../source/packages/graphics.rst:11 +#: ../../source/packages/interfaces.rst:11 ../../source/packages/io.rst:11 +#: ../../source/packages/libraries.rst:11 +#: ../../source/packages/numerical.rst:11 +#: ../../source/packages/programming.rst:11 +#: ../../source/packages/scientific.rst:11 ../../source/packages/strings.rst:11 +msgid "forks" +msgstr "" + +#: ../../source/packages/data-types.rst:12 +#: ../../source/packages/examples.rst:12 ../../source/packages/graphics.rst:12 +#: ../../source/packages/interfaces.rst:12 ../../source/packages/io.rst:12 +#: ../../source/packages/libraries.rst:12 +#: ../../source/packages/numerical.rst:12 +#: ../../source/packages/programming.rst:12 +#: ../../source/packages/scientific.rst:12 ../../source/packages/strings.rst:12 +msgid "lastcommit" +msgstr "" + +#: ../../source/packages/data-types.rst:13 +#: ../../source/packages/examples.rst:13 ../../source/packages/graphics.rst:13 +#: ../../source/packages/interfaces.rst:13 ../../source/packages/io.rst:13 +#: ../../source/packages/libraries.rst:13 +#: ../../source/packages/numerical.rst:13 +#: ../../source/packages/programming.rst:13 +#: ../../source/packages/scientific.rst:13 ../../source/packages/strings.rst:13 +msgid "issues" +msgstr "" + +#: ../../source/packages/data-types.rst:14 +#: ../../source/packages/examples.rst:14 ../../source/packages/graphics.rst:14 +#: ../../source/packages/interfaces.rst:14 ../../source/packages/io.rst:14 +#: ../../source/packages/libraries.rst:14 +#: ../../source/packages/numerical.rst:14 +#: ../../source/packages/programming.rst:14 +#: ../../source/packages/scientific.rst:14 ../../source/packages/strings.rst:14 +msgid "release" +msgstr "" + diff --git a/locale/fr/LC_MESSAGES/sphinx.po b/locale/fr/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000..2d0fb74fa --- /dev/null +++ b/locale/fr/LC_MESSAGES/sphinx.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/archives.html:3 +msgid "Archives" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/authors.html:2 +msgid "Authors" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/categories.html:3 +msgid "Categories" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/collection.html:47 +msgid "Read more ..." +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/languages.html:3 +msgid "Languages" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/locations.html:3 +msgid "Locations" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:5 +msgid "Update" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:12 +msgid "Author" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:24 +msgid "Location" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:35 +msgid "Language" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:46 +msgid "Category" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:57 +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/tagcloud.html:2 +msgid "Tags" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:60 +msgid "Tag" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:5 +msgid "Previous" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:15 +msgid "Next" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/recentposts.html:3 +msgid "Recent Posts" +msgstr "" + +#: ../../source/_templates/inpage_toc.html:25 +msgid "On this page" +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/community.po b/locale/ja/LC_MESSAGES/community.po new file mode 100644 index 000000000..2168602ec --- /dev/null +++ b/locale/ja/LC_MESSAGES/community.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/community.rst:17 +msgid "Community - The Fortran Programming Language" +msgstr "" + +#: ../../source/community.rst:21 +msgid "Fortran-lang Community" +msgstr "" + +#: ../../source/community.rst:25 +msgid "Collaboration for the advancement of Fortran" +msgstr "" + +#: ../../source/community.rst:30 +msgid "Fortran-lang Community Projects" +msgstr "" + +#: ../../source/community.rst:40 +msgid "Fortran Standard Library (stdlib)" +msgstr "" + +#: ../../source/community.rst:42 +msgid "" +"A community-driven project for a de facto 'standard' library for Fortran." +" The stdlib project is both a specification and a reference " +"implementation, developed in cooperation with the Fortran Standards " +"Committee." +msgstr "" + +#: ../../source/community.rst:44 +msgid "" +"`GitHub `_ `Documentation " +"`_ `Contributing `_" +msgstr "" + +#: ../../source/community.rst:48 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/community.rst:50 +msgid "" +"A prototype project to develop a common build system for Fortran packages" +" and their dependencies." +msgstr "" + +#: ../../source/community.rst:52 +msgid "" +"`GitHub `_ `Documentation " +"`_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:56 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/community.rst:58 +msgid "This website is open source and contributions are welcome!." +msgstr "" + +#: ../../source/community.rst:60 +msgid "" +"`GitHub `_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:82 +msgid "Get Involved" +msgstr "" + +#: ../../source/community.rst:97 +msgid "Join the Discussion" +msgstr "" + +#: ../../source/community.rst:98 +msgid "" +"The easiest way to join the community and contribute is by commenting on " +"issues and pull requests in the project repositories." +msgstr "" + +#: ../../source/community.rst:102 +msgid "" +"Whether Fortran beginner or seasoned veteran, your feedback and comments " +"are most welcome in guiding the future of Fortran-lang." +msgstr "" + +#: ../../source/community.rst:110 +msgid "Contributor Guide" +msgstr "" + +#: ../../source/community.rst:112 +msgid "" +"Want to contribute code and content? Check out the contributor guides in " +"each repository for information on the project workflow and recommended " +"practices. Contributor guide for stdlib" +msgstr "" + +#: ../../source/community.rst:117 +msgid "" +"`Contributor guide for stdlib `_ |br| `Contributor guide for fpm " +"`_ |br| " +"`Contributor guide for fortran-lang.org `_" +msgstr "" + +#: ../../source/community.rst:132 +msgid "Build and Test" +msgstr "" + +#: ../../source/community.rst:134 +msgid "" +"Get more involved with each project by cloning, building and testing it " +"on your own machine(s) and with your own codes; if something doesn't " +"work, create an issue to let us know! We value user feedback highly, be " +"it a bug report, feature request, or suggestion for documentation." +msgstr "" + +#: ../../source/community.rst:145 +msgid "Community Conduct" +msgstr "" + +#: ../../source/community.rst:147 +msgid "" +"As a community, we strive to make participation in our discussions and " +"projects a friendly and harassment-free experience for everyone. See the " +"full `Code of Conduct `_" +msgstr "" + +#: ../../source/community.rst:156 +msgid "Fortran-lang Contributors" +msgstr "" + +#: ../../source/community.rst:158 +msgid "" +"We are grateful for every contribution made by all members of the " +"community." +msgstr "" + +#: ../../source/community.rst:167 +msgid "source: https://git-contributor.com/" +msgstr "" + +#: ../../source/community.rst:171 +msgid "Contributors:" +msgstr "" + +#: ../../source/community.rst +msgid "card-img-top" +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/compilers.po b/locale/ja/LC_MESSAGES/compilers.po new file mode 100644 index 000000000..eb39a0123 --- /dev/null +++ b/locale/ja/LC_MESSAGES/compilers.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/compilers.md:10 +msgid "Compilers" +msgstr "" + +#: ../../source/compilers.md:16 +msgid "" +"[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a " +"mature free and open source compiler, part of the GNU Compiler " +"Collection." +msgstr "" + +#: ../../source/compilers.md:19 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler " +"wrapper around gfortran which enables the parallel programming features " +"of Fortran 2018 with gfortran." +msgstr "" + +#: ../../source/compilers.md:25 +msgid "" +"[Flang](https://github.com/llvm/llvm-project/tree/main/flang) is a new " +"front-end for Fortran 2018 that has been recently added to LLVM. It is " +"implemented in modern C++ and uses a Fortran-oriented MLIR dialect for " +"lowering to LLVM IR. This project is under active development." +msgstr "" + +#: ../../source/compilers.md:34 +msgid "" +"[Flang](https://github.com/flang-compiler/flang) is an open source " +"compiler based on the NVIDIA/PGI commercial compiler." +msgstr "" + +#: ../../source/compilers.md:40 +msgid "" +"[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based " +"Fortran compiler." +msgstr "" + +#: ../../source/compilers.md:48 +msgid "" +"[Intel " +"oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi" +"/all-toolkits.html) is Intel's suite of compilers, tools, and libraries " +"for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides [two " +"Fortran " +"compilers](https://software.intel.com/content/www/us/en/develop/articles" +"/intel-oneapi-fortran-compiler-release-notes.html):" +msgstr "" + +#: ../../source/compilers.md:53 +msgid "" +"Intel Fortran Compiler Classic (`ifort`), a mature compiler with full " +"Fortran 2018 support; and" +msgstr "" + +#: ../../source/compilers.md:55 +msgid "" +"Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler that " +"supports Fortran 95 and partially newer versions of the standard." +msgstr "" + +#: ../../source/compilers.md:58 +msgid "" +"Intel oneAPI is available for free. Currently the compiler supports " +"Linux, MacOS and Windows platforms and x86\\_64 architectures. Community " +"support is available for the free version at the [Intel Developer " +"forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p" +"/fortran-compiler)." +msgstr "" + +#: ../../source/compilers.md:65 +msgid "" +"The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) " +"release (7.0) has extensive support for legacy and modern Fortran " +"features including parallel programming with coarrays, as well as " +"additional support for programming with OpenMP." +msgstr "" + +#: ../../source/compilers.md:68 +msgid "" +"The Compiler also provides significant support for Fortran 2018 (atomic " +"operations, events and tasks, plus other smaller features), almost all of" +" Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. " +"All platforms include supporting tools for software development: source " +"file polishers, dependency generator for module and include files, call-" +"graph generator, interface builder and a precision unifier." +msgstr "" + +#: ../../source/compilers.md:77 +msgid "" +"The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and " +"Fortran compilers, former [PGI " +"compilers](https://www.pgroup.com/products/index.htm), support GPU " +"acceleration of HPC modeling and simulation applications with standard " +"C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math " +"libraries maximize performance on common HPC algorithms, and optimized " +"communications libraries enable standards-based multi-GPU and scalable " +"systems programming." +msgstr "" + +#: ../../source/compilers.md:79 +msgid "" +"NVHPC compilers are available free of charge. Currently the compiler " +"supports Linux platforms and x86\\_64, ppc64le and aarch64 architectures." +" Community support is available at the [HPC compiler " +"forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-" +"compilers/nvc-nvc-and-nvfortran/313)." +msgstr "" + +#: ../../source/compilers.md:86 +msgid "" +"The [Cray Compiling Environment " +"(CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-" +"Environment.pdf) is the cornerstone innovation of Cray's adaptive " +"computing paradigm. CCE builds on a well-developed and sophisticated Cray" +" technology base that identifies regions of computation that are either " +"sequential scalar, vector parallel or highly multithreaded. It includes " +"optimizing compilers that automatically exploit the scalar, vector and " +"multithreading hardware capabilities of the Cray system. CCE supports " +"Fortran, C and C++." +msgstr "" + +#: ../../source/compilers.md:96 +msgid "" +"[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-" +"compiler-power) for Linux is an industry standards-based programming tool" +" used to develop large and complex applications in the Fortran " +"programming language. It generates code that leverages the capabilities " +"of the latest POWER9 architecture and maximizes your hardware " +"utilization. IBM XL Fortran for Linux optimizes your infrastructure on " +"IBM Power Systems™ in support of extensive numerical, scientific and " +"high-performance computing." +msgstr "" + +#: ../../source/compilers.md:104 +msgid "" +"A community edition of the IBM XL compilers are available free of charge." +" The compilers support Linux and AIX platforms and ppc64le architectures." +msgstr "" + +#: ../../source/compilers.md:110 +msgid "" +"The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-" +"aocc/) compiler system is a high performance, production quality code " +"generation tool. The AOCC environment provides various options to " +"developers when building and optimizing C, C++, and Fortran applications " +"targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system " +"offers a high level of advanced optimizations, multi-threading and " +"processor support that includes global optimization, vectorization, " +"inter-procedural analyses, loop transformations, and code generation. AMD" +" also provides highly optimized libraries, which extract the optimal " +"performance from each x86 processor core when utilized. The AOCC Compiler" +" Suite simplifies and accelerates development and tuning for x86 " +"applications." +msgstr "" + +#: ../../source/compilers.md:122 +msgid "" +"The AOCC compilers are available free of charge and support Linux " +"platforms with x86\\_64 architectures." +msgstr "" + +#: ../../source/compilers.md:127 +msgid "" +"[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-" +"software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-" +"compiler). Tailored for HPC and scientific codes, with support for " +"popular Fortran and OpenMP standards and tuned for leading server-class " +"Arm-based platforms. Built on the open source Flang front-end, and the " +"LLVM‑based optimization and code generation back-end. Available as part " +"of the Arm Compiler for Linux package." +msgstr "" + +#: ../../source/compilers.md:135 +msgid "" +"[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran " +"delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, " +"extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical" +" debugger, native tool suite integration, AMDAL HPC scientific and " +"engineering library, and more. Pro Fortran includes Fast Data " +"Visualization, an Absoft exclusive technology for graphical rendering and" +" data output." +msgstr "" + +#: ../../source/compilers.md:144 +msgid "" +"[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-" +"development/technologies/developerstudio-features.html) is highly " +"optimized for Oracle systems, on-premise and in the cloud" +msgstr "" + +#: ../../source/compilers.md:147 +msgid "" +"Advanced code generation technology for the latest Oracle SPARC and x86 " +"based systems" +msgstr "" + +#: ../../source/compilers.md:148 +msgid "" +"Support for the latest industry standards, including C++14, C++11, C11 " +"and OpenMP 4.0 and extensive GCC compatibility features" +msgstr "" + +#: ../../source/compilers.md:149 +msgid "" +"Automatic code analysis during compilation and automatic stack overflow " +"protection at application runtime" +msgstr "" + +#: ../../source/compilers.md:154 +msgid "" +"LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the" +" classic [Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier " +"has full Fortran 95/90/77 compliance with extensive support for the " +"Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class " +"diagnostics. Includes the automatic-parallelizing GFortran compiler, " +"Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, " +"Winteracter WiSK Graphics package, and more." +msgstr "" + +#: ../../source/compilers.md:163 +msgid "" +"[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 " +"standards compliant compiler, capable of producing fast executables for " +"Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime " +"checking and a great range of supporting software. All standard and many " +"vendor-specific legacy language features are supported, so that Fortran " +"projects may be any combination of Fortran 77, Fortran 90 and Fortran 95." +" Some features of Fortran 2003 and 2008 have been " +"[added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx)." +" Silverfrost Fortran runs on Windows / x86_64. There is a free personal " +"edition." +msgstr "" + +#: ../../source/compilers.md:175 +msgid "" +"[The Fortran " +"compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) " +"conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports " +"many features from Fortran-2008 (ISO/IEC 1539-1:2010)." +msgstr "" + +#: ../../source/compilers.md:181 +msgid "" +"[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of " +"Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 " +"(ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 " +"(ISO/IEC 1539:2018). Used for russian processor architectures Elbrus " +"(e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture " +"is available." +msgstr "" + +#: ../../source/compilers.md:189 +msgid "" +"The following is a list of Fortran compilers that seem discontinued, so " +"we do not list them above:" +msgstr "" + +#: ../../source/compilers.md:192 +msgid "Apogee" +msgstr "" + +#: ../../source/compilers.md:193 +msgid "Edinburgh Portable Compilers" +msgstr "" + +#: ../../source/compilers.md:194 +msgid "Hewlett Packard" +msgstr "" + +#: ../../source/compilers.md:195 +msgid "Watcom" +msgstr "" + +#: ../../source/compilers.md:196 +msgid "PathScale" +msgstr "" + +#: ../../source/compilers.md:197 +msgid "G95" +msgstr "" + +#: ../../source/compilers.md:198 +msgid "Open64" +msgstr "" + +#: ../../source/compilers.md:199 +msgid "Unisys" +msgstr "" + +#: ../../source/compilers.md:203 +msgid "" +"Please let us know if there is any compiler that is not listed, or if we " +"listed a compiler in the Discontinued section and it is in fact actively " +"maintained." +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/index.po b/locale/ja/LC_MESSAGES/index.po new file mode 100644 index 000000000..ccd9f86c4 --- /dev/null +++ b/locale/ja/LC_MESSAGES/index.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/index.rst:3 ../../source/index.rst:8 +msgid "The Fortran Programming Language" +msgstr "" + +#: ../../source/index.rst:3 +msgid "Fortran, High-performance, parallel programming language" +msgstr "" + +#: ../../source/index.rst:14 +msgid "High-performance parallel programming language" +msgstr "" + +#: ../../source/index.rst:16 +msgid "Get started" +msgstr "" + +#: ../../source/index.rst:24 +msgid "Features" +msgstr "" + +#: ../../source/index.rst:28 +msgid "High performance" +msgstr "" + +#: ../../source/index.rst:30 +msgid "" +"Fortran has been designed from the ground up for computationally " +"intensive applications in science and engineering. Mature and battle-" +"tested compilers and libraries allow you to write code that runs close to" +" the metal, fast." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Statically and strongly typed" +msgstr "" + +#: ../../source/index.rst:36 +msgid "" +"Fortran is statically and strongly typed, which allows the compiler to " +"catch many programming errors early on for you. This also allows the " +"compiler to generate efficient binary code." +msgstr "" + +#: ../../source/index.rst:40 +msgid "Easy to learn and use" +msgstr "" + +#: ../../source/index.rst:42 +msgid "" +"Fortran is a relatively small language that is surprisingly easy to learn" +" and use. Expressing most mathematical and arithmetic operations over " +"large arrays is as simple as writing them as equations on a whiteboard." +msgstr "" + +#: ../../source/index.rst:46 +msgid "Versatile" +msgstr "" + +#: ../../source/index.rst:48 +msgid "" +"Fortran allows you to write code in a style that best fits your problem: " +"imperative, procedural, array-oriented, object-oriented, or functional." +msgstr "" + +#: ../../source/index.rst:52 +msgid "Natively parallel" +msgstr "" + +#: ../../source/index.rst:54 +msgid "" +"Fortran is a natively parallel programming language with intuitive array-" +"like syntax to communicate data between CPUs. You can run almost the same" +" code on a single CPU, on a shared-memory multicore system, or on a " +"distributed-memory HPC or cloud-based system. Coarrays, teams, events, " +"and collective subroutines allow you to express different parallel " +"programming patterns that best fit your problem at hand." +msgstr "" + +#: ../../source/index.rst:58 +msgid "FAQ" +msgstr "" + +#: ../../source/index.rst:62 +msgid "What is the status of Fortran?" +msgstr "" + +#: ../../source/index.rst:64 +msgid "" +"Fortran is still in active development. The latest revision of the " +"language is `Fortran 2018 " +"`_,and" +" the next one, with the working title Fortran 202x, is planned for " +"release in the next few years. Further, open source projects like the " +"`Standard Library `_ and the " +"`Fortran Package Manager `_ are in " +"active development." +msgstr "" + +#: ../../source/index.rst:68 +msgid "What is Fortran used for?" +msgstr "" + +#: ../../source/index.rst:70 +msgid "" +"Fortran is mostly used in domains that adopted computation early--science" +" and engineering. These include numerical weather and ocean prediction, " +"computational fluid dynamics, applied math, statistics, and finance. " +"Fortran is the dominant language of High Performance Computing and is " +"used to `benchmark the fastest supercomputers in the world. " +"`_" +msgstr "" + +#: ../../source/index.rst:74 +msgid "Should I use Fortran for my new project?" +msgstr "" + +#: ../../source/index.rst:76 +msgid "" +"If you're writing a program or a library to perform fast arithmetic " +"computation over large numeric arrays, Fortran is the optimal tool for " +"the job." +msgstr "" + +#: ../../source/index.rst:108 +msgid "Make Fortran better" +msgstr "" + +#: ../../source/index.rst:118 +msgid "Write proposals" +msgstr "" + +#: ../../source/index.rst:119 +msgid "" +"Have an idea about how to improve the language? You can write new " +"proposals or contribute to existing proposals to the Fortran Standard " +"Committee on `GitHub `_ " +"." +msgstr "" + +#: ../../source/index.rst:127 +msgid "Develop tools" +msgstr "" + +#: ../../source/index.rst:128 +msgid "" +"You can also help make Fortran better by contributing to its suite of " +"tools, such as `Standard Library `_ , `Package Manager `_" +" , or `this website `_ " +"." +msgstr "" + +#: ../../source/index.rst:138 +msgid "Write Fortran software" +msgstr "" + +#: ../../source/index.rst:139 +msgid "" +"Or just write Fortran software for your research, business, or " +"schoolwork. You can learn how to `get started here `_ ." +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/learn.po b/locale/ja/LC_MESSAGES/learn.po new file mode 100644 index 000000000..6f2a20c64 --- /dev/null +++ b/locale/ja/LC_MESSAGES/learn.po @@ -0,0 +1,15847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/learn.rst:4 +msgid "Learn" +msgstr "" + +#: ../../source/learn.rst:12 +msgid "Learn Fortran" +msgstr "" + +#: ../../source/learn.rst:16 +msgid "Learning resources for beginners and experts alike" +msgstr "" + +#: ../../source/learn.rst:20 +msgid "Getting Started" +msgstr "" + +#: ../../source/learn.rst:33 +msgid "" +"Try the quickstart Fortran tutorial, to get an overview of the language " +"syntax and capabilities. |br|" +msgstr "" + +#: ../../source/learn.rst:35 +msgid "" +" Quickstart tutorial" +msgstr "" + +#: ../../source/learn.rst:53 +msgid "" +"Ask a question in the Fortran-lang discourse - a forum for friendly " +"discussion of all things Fortran. |br|" +msgstr "" + +#: ../../source/learn.rst:55 +msgid "" +" Fortran-lang Discourse" +msgstr "" + +#: ../../source/learn.rst:65 +msgid "Mini-book Tutorials" +msgstr "" + +#: ../../source/learn.rst:92 +msgid "Other Resources" +msgstr "" + +#: ../../source/learn.rst:96 +msgid "On the web" +msgstr "" + +#: ../../source/learn.rst:111 +msgid "Online Courses" +msgstr "" + +#: ../../source/learn.rst:124 +msgid "In print" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:8 +msgid "Allocatable Arrays" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:10 +msgid "" +"The ``allocatable`` attribute provides a safe way for memory handling. In" +" comparison to variables with ``pointer`` attribute the memory is managed" +" automatically and will be deallocated automatically once the variable " +"goes out-of-scope. Using ``allocatable`` variables removes the " +"possibility to create memory leaks in an application." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:16 +msgid "" +"They can be used in subroutines to create scratch or work arrays, where " +"automatic arrays would become too large to fit on the stack." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:24 +msgid "" +"The allocation status can be checked using the ``allocated`` intrinsic to" +" avoid uninitialized access" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:37 +msgid "" +"To allocate variables inside a procedure the dummy argument has to carry " +"the ``allocatable`` attribute. Using it in combination with " +"``intent(out)`` will deallocate previous allocations before entering the " +"procedure:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:48 +msgid "The allocated array can be used afterwards like a normal array" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:55 +msgid "" +"An already allocated array cannot be allocated again without prior " +"deallocation. Similarly, deallocation can only be invoked for allocated " +"arrays. To reallocate an array use" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:64 +msgid "" +"Passing allocated arrays to procedures does not require the " +"``allocatable`` attribute for the dummy arguments anymore." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:87 +msgid "" +"Passing an unallocated array in this context will lead to an invalid " +"memory access. Allocatable arrays can be passed to ``optional`` dummy " +"arguments -- if they are unallocated the argument will not be present. " +"The ``allocatable`` attribute is not limited to arrays and can also be " +"associated with scalars, which can be useful in combination with " +"``optional`` dummy arguments." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:93 +msgid "" +"Allocations can be moved between different arrays with ``allocatable`` " +"attribute using the ``move_alloc`` intrinsic subroutine." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:125 +msgid "" +"Finally, allocations do not initialize the array. The content of the " +"uninitialized array is most likely just the bytes of whatever was " +"previously at the respective address. The allocation supports " +"initialization using the source attribute:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:134 +msgid "" +"The ``source`` keyword supports scalar and array valued variables and " +"constants." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:8 +msgid "Arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:10 +msgid "" +"Arrays are a central object in Fortran. The creation of dynamic sized " +"arrays is discussed in the [allocatable arrays " +"section](./allocatable_arrays.html)." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:13 +msgid "To pass arrays to procedures four ways are available" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:15 +msgid "*assumed-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:16 +msgid "*assumed-rank* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:17 +#: ../../source/learn/best_practices/element_operations.md:13 +msgid "*explicit-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:18 +msgid "*assumed-size* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:20 +msgid "" +"The preferred way to pass arrays to procedures is as *assumed-shape* " +"arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:33 +msgid "Higher-dimensional arrays can be passed in a similar way." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:42 +msgid "The array is simply passed by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:49 +msgid "" +"In this case no array copy is done, which has the advantage that the " +"shape and size information is automatically passed along and checked at " +"compile and optionally at runtime. Similarly, array strides can be passed" +" without requiring a copy of the array but as *assumed-shape* descriptor:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:61 +msgid "" +"This should always be your default way of passing arrays in and out of " +"subroutines. Avoid passing arrays as whole slices, as it obfuscates the " +"actual intent of the code:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:69 +msgid "" +"In case more general arrays should be passed to a procedure the *assumed-" +"rank* functionality introduced in the Fortran 2018 standard can be used" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:84 +msgid "" +"The actual rank can be queried at runtime using the ``select rank`` " +"construct. This easily allows to create more generic functions that have " +"to deal with different array ranks." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:88 +msgid "" +"*Explicit-shape* arrays can be useful for returning data from functions. " +"Most of their functionality can be provided by *assumed-shape* and " +"*assumed-rank* arrays but they find frequent use for interfacing with C " +"or in legacy Fortran procedures, therefore they will be discussed briefly" +" here." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:93 +msgid "" +"To use *explicit-shape* arrays, the dimension has to be passed explicitly" +" as dummy argument like in the example below" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:107 +msgid "For high-dimensional arrays additional indices have to be passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:117 +msgid "The routines can be invoked by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:125 +msgid "" +"Note that the shape is not checked, so the following would be legal code " +"that will potentially yield incorrect results:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:134 +msgid "" +"In this case the memory layout is preserved but the shape is changed. " +"Also, *explicit-shape* arrays require contiguous memory and will create " +"temporary arrays in case non-contiguous array strides are passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:138 +msgid "To return an array from a function with *explicit-shape* use" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:151 +msgid "" +"Finally, there are *assumed-size* arrays, which provide the least " +"compile-time and run-time checking and can be found frequently in legacy " +"code. They should be avoided in favour of *assumed-shape* or *assumed-" +"rank* arrays. An *assumed-size* array dummy argument is identified by an " +"asterisk as the last dimension, this disables the usage of this array " +"with many intrinsic functions, like ``size`` or ``shape``." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:158 +msgid "" +"To check for the correct size and shape of an *assumed-shape* array the " +"``size`` and ``shape`` intrinsic functions can be used to query for those" +" properties" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:166 +msgid "" +"Note that ``size`` returns the total size of all dimensions. To obtain " +"the shape of a specific dimension add it as second argument to the " +"function." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:169 +msgid "Arrays can be initialized by using an array constructor" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:176 +msgid "" +"The array constructor can be annotated with the type of the constructed " +"array" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:183 +msgid "Implicit do loops can be used inside an array constructor as well" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:191 +msgid "In order for the array to start with different index than 1, do:" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:8 +msgid "Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:10 +msgid "" +"A callback is a function that is passed as an argument to another " +"function." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:12 +msgid "" +"The preferred way of creating such a callback is to provide an *abstract " +"interface* declaring the signature of the callback. This allows to use " +"compile time checks for the passed callback." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:44 +msgid "" +"The function can then be used with a callback by importing the module as " +"shown in the following example" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:73 +msgid "" +"Exporting the abstract interface allows you to create procedure pointers " +"with the correct signature and also to extend the callback further as " +"shown here" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:8 +msgid "Element-wise Operations on Arrays" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:10 +msgid "" +"There are three approaches to perform element-wise operations on arrays " +"when using subroutines and functions:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:12 +msgid "`elemental` procedures" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:14 +msgid "" +"implementing the operation for vectors and write simple wrapper " +"subroutines (that use `reshape` internally) for each array shape" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:17 +msgid "" +"In the first approach, one uses the `elemental` keyword to create a " +"function like this:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:28 +msgid "" +"All arguments (in and out) must be scalars. You can then use this " +"function with arrays of any (compatible) shape, for example:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:39 +msgid "The output will be:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:49 +msgid "" +"In the above, typically `n` is a parameter and `x` is the array of an " +"arbitrary shape, but as you can see, Fortran does not care as long as the" +" final operation makes sense (if one argument is an array, then the other" +" arguments must be either arrays of the same shape or scalars). If it " +"does not, you will get a compiler error." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:55 +msgid "" +"The `elemental` keyword implies the `pure` keyword, so the procedure must" +" be pure. It results that `elemental procedures` can only use `pure` " +"procedures and have no side effects." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:58 +msgid "" +"If the elemental procedure algorithm can be made faster using array " +"operations inside, or if for some reasons the arguments must be arrays of" +" incompatible shapes, then one should use the other two approaches. One " +"can make `nroot` operate on a vector and write a simple wrapper for other" +" array shapes, e.g.:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:89 +msgid "And use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:97 +msgid "This will print:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:105 +msgid "Or one can use *explicit-shape* arrays as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:117 +msgid "Use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:125 +msgid "The output is the same as before:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:8 +msgid "File Input/Output" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:10 +msgid "" +"In Fortran files are managed by unit identifiers. Interaction with the " +"filesystem mainly happens through the ``open`` and ``inquire`` built-in " +"procedures. Generally, the workflow is to open a file to a unit " +"identifier, read and/or write to it and close it again." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:22 +msgid "" +"By default the file will be created if it is not existing already and " +"opened for both reading and writing. Writing to an existing file will " +"start in the first record (line) and therefore overwrite the file by " +"default." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:26 +msgid "" +"To create a read-only access to a file the ``status`` and ``action`` have" +" to be specified with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:36 +msgid "" +"In case the file is not present a runtime error will occur. To check for " +"the existence of a file prior to opening it the ``inquire`` function can " +"be used" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:47 +msgid "" +"Alternatively, the ``open`` procedure can return an optional *iostat* and" +" *iomsg*:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:59 +msgid "" +"Note that *iomsg* requires a fixed-length character variable with " +"sufficient storage size to hold the error message." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:62 +msgid "" +"Similarly, writing to a file happens by using the *status* and *action* " +"keyword. To create a new file use" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:72 +msgid "" +"Alternatively, ``status=\"replace\"`` can be used to overwrite an " +"existing file. It is highly recommended to first check for the existence " +"of a file before deciding on the *status* to use. To append to an output " +"file the *position* keyword can be specified explicitly with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:86 +msgid "" +"To reset the position in a file the built-in procedures ``rewind`` and " +"``backspace`` can be used. ``rewind`` will reset to the first record " +"(line), while ``backspace`` will return to the previous record (line)." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:90 +msgid "" +"Finally, to delete a file the file has to be opened and can be deleted " +"after closing with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:103 +msgid "" +"A useful IO feature is scratch files, which can be opened with " +"``status=\"scratch\"``. They are automatically deleted after closing the " +"unit identifier." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:8 +msgid "Floating Point Numbers" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:10 +msgid "" +"The default representation of floating point numbers is using single " +"precision (usually 32 bits / 4 bytes). For most applications a higher " +"precision is required. For this purpose a custom kind parameter can be " +"defined. The recommended way of defining kind parameters is to use" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:19 +msgid "" +"For many purposes it also suffices to directly infer the kind parameter " +"from a literal like here" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:26 +msgid "" +"or to rename the imported kind parameter from the ``iso_fortran_env`` " +"module" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:32 +msgid "" +"For some insightful thoughts on kind parameters see Doctor Fortran in it takes all " +"KINDs." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:35 +msgid "" +"It is recommended to have a central module to define kind parameters and " +"include them with use as necessary. An example for such a module is given" +" with" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:63 +msgid "" +"Floating point constants should always be declared including a kind " +"parameter suffix:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:72 +msgid "" +"It is safe to assign integers to floating point numbers without losing " +"accuracy:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:79 +msgid "" +"In order to impose floating point division (as opposed to integer " +"division `3/4` equal to `0`), one can convert the integer to a floating " +"point number by:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:88 +msgid "or simply separate the integer division with multiplication by `1.0_dp`" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:95 +msgid "" +"To print floating point numbers without losing precision use the " +"unlimited format specifier ``(g0)`` or the exponential representation " +"``(es24.16e3)``, which will give you 17 significant digits of printout." +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "allocatable arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "file io" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "modules programs" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "floating point" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "multidim arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "callbacks" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "style guide" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "element operations" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "integer division" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "type casting" +msgstr "" + +#: ../../source/learn/best_practices/index.md:9 +msgid "Fortran Best Practices" +msgstr "" + +#: ../../source/learn/best_practices/index.md:11 +msgid "" +"This mini-book collects a modern canonical way of doing things in " +"Fortran. It serves as a style guide and best practice recommendation for " +"popular topics and common tasks. Generally, a canonical solution or " +"pattern is presented and discussed. It is meant for programmers with " +"basic familiarity of the Fortran syntax and programming in general." +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:8 +msgid "Integer Division" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:10 +msgid "" +"Fortran distinguishes between floating point and integer arithmetic. It " +"is important to note that division for integers is always using integer " +"arithmetic. Furthermore, while Fortran uses the standard order-of-" +"operations (e.g. multiplication and division preceed addition and " +"subtraction, in the absence of parenthesis), operations of the same " +"precedence are evaluated from left to right. Consider the following " +"example for integer division of an odd number:" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:28 +msgid "" +"Be careful about whether you want to actually use integer arithmetic in " +"this context. If you want to use floating point arithmetic instead make " +"sure to cast to reals before using the division operator, or separate the" +" integers by multiplying by `1.0_dp`:" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:8 +msgid "Modules and Programs" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:10 +msgid "" +"Modules are the preferred way create modern Fortran libraries and " +"applications. As a convention, one source file should always contain only" +" one module, while the module name should match the filepath to allow " +"easy navigation in larger projects. It is also recommended to prefix " +"module names with the library name to avoid name clashes when used as " +"dependency in other projects." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:16 +msgid "An example for such a module file is given here" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:52 +msgid "" +"There are a few things in this example module to highlight. First, every " +"module starts with comments documenting the purpose and content of the " +"module. Similarly, every procedure starts with a comment briefly " +"describing its purpose and the intent of the dummy arguments. " +"Documentation is one of the most important parts of creating long-living " +"software, regardless of language." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:58 +msgid "" +"Second, imports (*use*) and exports (*public*) are explicitly given, this" +" allows on a glance at the module source to check the used and available " +"procedures, constants and derived types. The imports are usually limited " +"to the module scope rather than reimported in every procedure or " +"interface scope. Similarly, exports are made explicitly by adding a " +"*private* statement on a single line and explicitly listing all exported " +"symbols in *public* statements." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:66 +msgid "" +"Finally, the `implicit none` statement works for the whole module and " +"there is no need to repeat it within each procedure." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:69 +msgid "" +"Variables inside a module are static (*implicitly saved*). It is highly " +"recommended to limit the usage of module variables to constant " +"expressions, like parameters or enumerators only or export them as " +"*protected* rather than *public*." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:74 +msgid "" +"Submodules can be used to break long dependency chains and shorten " +"recompilation cascades in Fortran programs. They also offer the " +"possibility to provide specialized and optimized implementations without " +"requiring the use of preprocessor." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:78 +msgid "" +"An example from the Fortran standard library is the quadrature module, " +"which only defines interfaces to module procedures, but no " +"implementations" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:111 +msgid "" +"While the implementation is provided in separate submodules like the one " +"for the trapezoidal integration rule given here." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:145 +msgid "" +"Note that the module procedures do not have to be implemented in the same" +" submodule. Several submodules can be used to reduce the compilation load" +" for huge modules." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:148 +msgid "" +"Finally, when setting up a program, it is recommended to keep the actual " +"implementations in the program body at minimum. Reusing implementations " +"from modules allows you to write reusable code and focus the program " +"unit on conveying user input to the respective library functions and " +"objects." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:8 +msgid "Multidimensional Arrays" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:10 +msgid "" +"Multidimensional arrays are stored in column-major order. This means the " +"left-most (inner-most) index addresses elements contiguously. From a " +"practical point this means that the array slice ``V(:, 1)`` is " +"contiguous, while the stride between elements in the slice ``V(1, :)`` is" +" the dimension of the columns. This is important when passing array " +"slices to procedures which expect to work on contiguous data." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:17 +msgid "" +"The locality of the memory is important to consider depending on your " +"application, usually when performing operations on a multidimensional the" +" sequential access should always advance in unity strides." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:21 +msgid "" +"In the following example the inverse distance between two sets of points " +"is evaluated. Note that the points are stored contiguously in the arrays " +"``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most " +"index of the matrix ``a``." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:40 +msgid "" +"Another example would be the contraction of the third dimension of a rank" +" three array:" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:53 +msgid "" +"Contiguous array slices can be used in array-bound remapping to allow " +"usage of higher rank arrays as lower rank arrays without requiring to " +"reshape and potentially create a temporary copy of the array." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:57 +msgid "" +"For example this can be used to contract the third dimension of a rank " +"three array using a matrix-vector operation:" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:8 +msgid "Fortran Style Guide" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:10 +msgid "Naming Convention" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:13 +msgid "" +"Ultimately this is a matter of preference. Here is a style guide that we " +"like and that seems to be prevalent in most scientific codes (as well as " +"the Fortran standard library), and you are welcome to follow it." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:17 +msgid "" +"Use lowercase for all Fortran constructs (`do`, `subroutine`, `module`, " +"...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:19 +msgid "" +"Follow short mathematical notation for mathematical variables/functions " +"(`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:21 +msgid "" +"For other names use all lowercase: try to keep names to one or two " +"syllables; if more are required, use underscores to clarify (`sortpair`, " +"`whitechar`, `meshexp`, `numstrings`, `linspace`, `meshgrid`, `argsort`, " +"`spline`, `spline_interp`, `spline_interpolate`, `stoperr`, `stop_error`," +" `meshexp_der`)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:27 +msgid "" +"For example \"spline interpolation\" can be shortened to " +"`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, " +"but not to `splineint` (\"int\" could mean integration, integer, etc. ---" +" too much ambiguity, even in the clear context of a computational code). " +"This is in contrast to `get_argument()` where `getarg()` is perfectly " +"clean and clear." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:34 +msgid "" +"The above are general guidelines. In general, choosing the right name " +"certainly depends on the word being truncated as to whether the first " +"syllable is sufficient. Usually it is but clearly not always. Thus some " +"thought should go into step \"try to keep names to 2 syllables or less\" " +"since it can really affect the indicativeness and simplicity. Simple " +"consistent naming rules are a real help in this regard -- for both " +"collaboration and for one's own sanity when going back to some old code " +"you haven't seen in while." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:43 +msgid "Indentation" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:46 +msgid "" +"Use a consistent indentation to make your code readable. The amount of " +"indentation is a matter of preference, the most common choices are two, " +"three or four spaces." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:50 +msgid "Comparison to Other Languages" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:53 +msgid "" +"On the other hand, in most of the rest of the programming world, where " +"the main focus is, in one form or another, on defining and using large " +"sets of complex objects, with tons of properties and behaviors, known " +"only in the code in which they are defined (as opposed to defined by the " +"same notation throughout the literature), it makes more sense to use " +"longer, more descriptive names. The naming conventions one sees used in " +"more general-purpose languages such as C++ and Python, therefore, are " +"perfectly consistent with their more general-purpose missions. But " +"Fortran has a different mission (numerical scientific computing)." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:8 +msgid "Type Casting in Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:10 +msgid "" +"There are essentially five different ways to do type casting, each with " +"its own advantages and disadvantages." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:13 +msgid "" +"The methods I, II and V can be used both in C and Fortran. The methods " +"III and IV are only available in Fortran. The method VI is obsolete and " +"should not be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:17 +msgid "Work Arrays" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:20 +msgid "" +"Pass a \"work array\" which is packed with everything needed by the " +"caller and unpacked by the called routine. This is the old way -- e.g., " +"how LAPACK does it." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:24 +#: ../../source/learn/best_practices/type_casting.md:95 +#: ../../source/learn/best_practices/type_casting.md:179 +#: ../../source/learn/best_practices/type_casting.md:244 +#: ../../source/learn/best_practices/type_casting.md:296 +msgid "Integrator:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:53 +#: ../../source/learn/best_practices/type_casting.md:133 +#: ../../source/learn/best_practices/type_casting.md:206 +#: ../../source/learn/best_practices/type_casting.md:271 +#: ../../source/learn/best_practices/type_casting.md:326 +#: ../../source/learn/best_practices/type_casting.md:438 +msgid "Usage:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:86 +msgid "General Structure" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:89 +msgid "" +"Define a general structure which encompass the variations you actually " +"need (or are even remotely likely to need going forward). This single " +"structure type can then change if needed as future needs/ideas permit but" +" won't likely need to change from passing, say, real numbers to, say, and" +" instantiation of a text editor." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:166 +msgid "" +"There is only so much flexibility really needed. For example, you could " +"define two structure types for this purpose, one for Schroedinger and one" +" for Dirac. Each would then be sufficiently general and contain all the " +"needed pieces with all the right labels." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:171 +msgid "" +"Point is: it needn't be \"one abstract type to encompass all\" or bust. " +"There are natural and viable options between \"all\" and \"none\"." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:174 +msgid "Private Module Variables" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:177 +msgid "Hide the variable arguments completely by passing in module variables." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:236 +msgid "" +"However it is best to avoid such global variables -- even though really " +"just semi-global -- if possible. But sometimes it may be the simplest " +"cleanest way. However, with a bit of thought, usually there is a better, " +"safer, more explicit way along the lines of II or IV." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:241 +msgid "Nested functions" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:290 +msgid "Using type(c\\_ptr) Pointer" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:293 +msgid "" +"In C, one would use the `void *` pointer. In Fortran, one can use " +"`type(c_ptr)` for exactly the same purpose." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:364 +msgid "" +"As always, with the advantages of such re-casting, as Fortran lets you do" +" if you really want to, come also the disadvantages that fewer compile- " +"and run-time checks are possible to catch errors; and with that, " +"inevitably more leaky, bug-prone code. So one always has to balance the " +"costs and benefits." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:370 +msgid "" +"Usually, in the context of scientific programming, where the main thrust " +"is to represent and solve precise mathematical formulations (as opposed " +"to create a GUI with some untold number of buttons, drop-downs, and other" +" interface elements), simplest, least bug-prone, and fastest is to use " +"one of the previous approaches." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:376 +msgid "transfer() Intrinsic Function" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:379 +msgid "" +"Before Fortran 2003, the only way to do type casting was using the " +"`transfer` intrinsic function. It is functionally equivalent to the " +"method V, but more verbose and more error prone. It is now obsolete and " +"one should use the method V instead." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:384 +msgid "Examples:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:386 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:388 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:390 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:392 +msgid "Object Oriented Approach" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:395 +msgid "The module:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:432 +msgid "" +"The abstract type prescribes exactly what the integration routine needs, " +"namely a method to evaluate the function, but imposes nothing else on the" +" user. The user extends this type, providing a concrete implementation of" +" the eval type bound procedure and adding necessary context data as " +"components of the extended type." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:477 +msgid "Complete Example of void \\* vs type(c\\_ptr) and transfer()" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:480 +msgid "" +"Here are three equivalent codes: one in C using `void *` and two codes in" +" Fortran using `type(c_ptr)` and `transfer()`:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Language  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Method" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Link" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "C" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`void *`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Fortran" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`type(c_ptr)`  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`transfer()`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:489 +msgid "" +"The C code uses the standard C approach for writing extensible libraries " +"that accept callbacks and contexts. The two Fortran codes show how to do " +"the same. The `type(c_ptr)` method is equivalent to the C version and " +"that is the approach that should be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:494 +msgid "" +"The `transfer()` method is here for completeness only (before Fortran " +"2003, it was the only way) and it is a little cumbersome, because the " +"user needs to create auxiliary conversion functions for each of his " +"types. As such, the `type(c_ptr)` method should be used instead." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:8 +msgid "Build tools" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:10 +msgid "" +"Compiling your Fortran projects by hand can become quite complicated " +"depending on the number of source files and the interdependencies through" +" the module. Supporting different compilers and linkers or different " +"platforms can become increasingly complicated unless the right tools are " +"used to automatically perform those tasks." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:16 +msgid "" +"Depending on the size of your project and the purpose of project " +"different options for the build automation can be used." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:19 +msgid "" +"First, your integrated development environment probably provides a way to" +" build your program. A popular cross-platform tool is Microsoft's Visual Studio Code, but others exist, such as Atom, Eclipse Photran, and Code::Blocks. They offer a graphical user-interface," +" but are often very specific for the compiler and platform." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:29 +msgid "" +"For smaller projects, the rule based build system ``make`` is a common " +"choice. Based on the rules defined it can perform task like (re)compiling" +" object files from updated source files, creating libraries and linking " +"executables. To use ``make`` for your project you have to encode those " +"rules in ``Makefile``, which defines the interdependencies of all the " +"final program, the intermediary object files or libraries and the actual " +"source files. For a short introduction see [the guide on ``make" +"``](#using-make-as-build-tool)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:38 +msgid "" +"Maintenance tools like autotools and CMake can generate Makefiles or " +"Visual Studio project files via a high-level description. They abstract " +"away from the compiler and platform specifics." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:42 +msgid "" +"Which of those tools are the best choice for your projects depends on " +"many factors. Choose a build tool you are comfortable working with, it " +"should not get in your way while developing. Spending more time on " +"working against your build tools than doing actual development work can " +"quickly become frustrating." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:47 +msgid "" +"Also, consider the accessibility of your build tools. If it is restricted" +" to a specific integrated development environment, can all developers on " +"your project access it? If you are using a specific build system, does it" +" work on all platforms you are developing for? How large is the entry " +"barrier of your build tools? Consider the learning curve for the build " +"tools, the perfect build tool will be of no use, if you have to learn a " +"complex programming language first to add a new source file. Finally, " +"consider what other project are using, those you are depending on and " +"those that use (or will use) your project as dependency." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:59 +msgid "Using make as build tool" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:61 +msgid "" +"The most well-known and commonly used build system is called ``make``. It" +" performs actions following rules defined in a configuration file called " +"``Makefile`` or ``makefile``, which usually leads to compiling a program " +"from the provided source code." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:68 +msgid "" +"For an in-depth ``make`` tutorial lookup its info page. There is an " +"online version of this info page, available." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:70 +msgid "" +"We will start with the basics from your clean source directory. Create " +"and open the file ``Makefile``, we start with a simple rule called *all*:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:78 +msgid "" +"After saving the ``Makefile`` run it by executing ``make`` in the same " +"directory. You should see the following output:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:84 +msgid "" +"First, we note that ``make`` is substituting ``$@`` for the name of the " +"rule, the second thing to note is that ``make`` is always printing the " +"command it is running, finally, we see the result of running ``echo " +"\"all\"``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:89 +msgid "" +"We call the entry point of our ``Makefile`` always *all* by convention, " +"but you can choose whatever name you like." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:93 +msgid "" +"You should not have noticed it if your editor is working correctly, but " +"you have to indent the content of a rule with a tab character. In case " +"you have problems running the above ``Makefile`` and see an error like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:99 +msgid "" +"The indentation is probably not correct. In this case replace the " +"indentation in the second line with a tab character." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:105 +msgid "" +"Now we want to make our rules more complicated, therefore we add another " +"rule:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:117 +msgid "" +"Note how we declare variables in ``make``, you should always declare your" +" local variables with ``:=``. To access the content of a variable we use " +"the ``$(...)``, note that we have to enclose the variable name in " +"parenthesis." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:122 +msgid "" +"The declaration of variables is usually done with ``:=``, but ``make`` " +"does support *recursively expanded* variables as well with ``=``. " +"Normally, the first kind of declaration is wanted, as they are more " +"predictable and do not have a runtime overhead from the recursive " +"expansion." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:128 +msgid "" +"We introduced a dependency of the rule all, namely the content of the " +"variable ``PROG``, also we modified the printout, we want to see all the " +"dependencies of this rule, which are stored in the variable ``$^``. Now " +"for the new rule which we name after the value of the variable ``PROG``, " +"it does the same thing we did before for the rule *all*, note how the " +"value of ``$@`` is dependent on the rule it is used in." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:135 +msgid "Again check by running the ``make``, you should see:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:142 +msgid "" +"The dependency has been correctly resolved and evaluated before " +"performing any action on the rule *all*. Let's run only the second rule: " +"type ``make my_prog`` and you will only find the first two lines in your " +"terminal." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:147 +msgid "" +"The next step is to perform some real actions with ``make``, we take the " +"source code from the previous chapter here and add new rules to our " +"``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:164 +msgid "" +"We define ``OBJS`` which stands for object files, our program depends on " +"those ``OBJS`` and for each object file we create a rule to make them " +"from a source file. The last rule we introduced is a pattern matching " +"rule, ``%`` is the common pattern between ``tabulate.o`` and " +"``tabulate.f90``, which connects our object file ``tabulate.o`` to the " +"source file ``tabulate.f90``. With this set, we run our compiler, here " +"``gfortran`` and translate the source file into an object file, we do not" +" create an executable yet due to the ``-c`` flag. Note the usage of the " +"``$<`` for the first element of the dependencies here." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:175 +msgid "" +"After compiling all the object files we attempt to link the program, we " +"do not use a linker directly, but ``gfortran`` to produce the executable." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:178 +msgid "Now we run the build script with ``make``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:189 +msgid "" +"We remember that we have dependencies between our source files, therefore" +" we add this dependency explicitly to the ``Makefile`` with" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:196 +msgid "" +"Now we can retry and find that the build is working correctly. The output" +" should look like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:203 +msgid "" +"You should find *four* new files in the directory now. Run ``my_prog`` to" +" make sure everything works as expected. Let's run ``make`` again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:209 +msgid "" +"Using the timestamps of the executable ``make`` was able to determine, it" +" is newer than both ``tabulate.o`` and ``functions.o``, which in turn are" +" newer than ``tabulate.f90`` and ``functions.f90``. Therefore, the " +"program is already up-to-date with the latest code and no action has to " +"be performed." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:215 +msgid "In the end, we will have a look at a complete ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:249 +msgid "" +"Since you are starting with ``make`` we highly recommend to always " +"include the first line, like with Fortran's ``implicit none`` we do not " +"want to have implicit rules messing up our ``Makefile`` in surprising and" +" harmful ways." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:253 +msgid "" +"Next, we have a configuration section where we define variables, in case " +"you want to switch out your compiler, it can be easily done here. We also" +" introduced the ``SRCS`` variable to hold all source files, which is more" +" intuitive than specifying object files. We can easily create the object " +"files by appending a ``.o`` suffix using the functions ``addsuffix``. The" +" ``.PHONY`` is a special rule, which should be used for all entry points " +"of your ``Makefile``, here we define two entry point, we already know " +"*all*, the new *clean* rule deletes all the build artifacts again such " +"that we indeed start with a clean directory." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:264 +msgid "" +"Also, we slightly changed the build rule for the object files to account " +"for appending the ``.o`` suffix instead of substituting it. Notice that " +"we still need to explicitly define the interdependencies in the " +"``Makefile``. We also added a dependency for the object files on the " +"``Makefile`` itself, in case you change the compiler, this will allow you" +" to safely rebuild." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:270 +msgid "" +"Now you know enough about ``make`` to use it for building small projects." +" If you plan to use ``make`` more extensively, we have compiled a few " +"tips for you as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:275 +msgid "" +"In this guide, we avoided and disabled a lot of the commonly used " +"``make`` features that can be particularly troublesome if not used " +"correctly, we highly recommend staying away from the builtin rules and " +"variables if you do not feel confident working with ``make``, but " +"explicitly declare all variables and rules." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:280 +msgid "" +"You will find that ``make`` is capable tool to automate short " +"interdependent workflows and to build small projects. But for larger " +"projects, you will probably soon run against some of it limitations. " +"Usually, ``make`` is therefore not used alone but combined with other " +"tools to generate the ``Makefile`` completely or in parts." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:288 +msgid "Recursively expanded variables" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:290 +msgid "" +"Commonly seen in many projects are recursively expanded variables " +"(declared with ``=`` instead of ``:=``). Recursive expansion of your " +"variables allows out-of-order declaration and other neat tricks with " +"``make``, since they are defined as rules, which are expanded at runtime," +" rather than being defined while parsing." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:295 +msgid "" +"For example, declaring and using your Fortran flags with this snippet " +"will work completely fine:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:307 +msgid "" +"You should find the expected (or maybe unexpected) printout after running" +" ``make``" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:312 +#, python-format +msgid "{% include note.html content=\"\" %}" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:315 +msgid "" +"appending with ``+=`` to an undefined variable will produce a recursively" +" expanded variable with this state being inherited for all further " +"appending." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:318 +msgid "" +"While, it seems like an interesting feature to use, it tends to lead to " +"surprising and unexpected outcomes. Usually, when defining variables like" +" your compiler, there is little reason to actually use the recursive " +"expansion at all." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:322 +msgid "The same can easily be archived using the ``:=`` declaration:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:334 +msgid "" +"always think of a ``Makefile`` as a whole set of rules, it must be parsed" +" completely before any rule can be evaluated." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:337 +msgid "" +"You can use whatever kind of variables you like most, mixing them should " +"be done carefully, of course. It is important to be aware of the " +"differences between the two kinds and the respective implications." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:342 +msgid "Comments and whitespace" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:344 +msgid "" +"There are some caveats with whitespace and comments, which might pop up " +"from time to time when using ``make``. First, ``make`` does not know of " +"any data type except for strings and the default separator is just a " +"space. This means ``make`` will give a hard time trying to build a " +"project which has spaces in file names. If you encounter such case, " +"renaming the file is possibly the easiest solution at hand." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:351 +msgid "" +"Another common problem is leading and trailing whitespace, once " +"introduced, ``make`` will happily carry it along and it does in fact make" +" a difference when comparing strings in ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:355 +msgid "Those can be introduced by comments like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:363 +msgid "" +"While the comment will be correctly removed by ``make``, the trailing two" +" spaces are now part of the variable content. Run ``make`` and check that" +" this is indeed the case:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:372 +msgid "" +"To solve this issue, you can either move the comment, or strip the " +"whitespace with the ``strip`` function instead. Alternatively, you could " +"try to ``join`` the strings." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:383 +msgid "" +"All in all, none of this solutions will make your ``Makefile`` more " +"readable, therefore, it is prudent to pay extra attention to whitespace " +"and comments when writing and using ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:388 +msgid "The meson build system" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:390 +msgid "" +"After you have learned the basics of ``make``, which we call a low-level " +"build system, we will introduce ``meson``, a high-level build system. " +"While you specify in a low-level build system how to build your program, " +"you can use a high-level build system to specify what to build. A high-" +"level build system will deal for you with how and generate build files " +"for a low-level build system." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:397 +msgid "" +"There are plenty of high-level build systems available, but we will focus" +" on ``meson`` because it is constructed to be particularly user friendly." +" The default low-level build-system of ``meson`` is called ``ninja``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:401 +msgid "Let's have a look at a complete ``meson.build`` file:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:409 +msgid "" +"And we are already done, the next step is to configure our low-level " +"build system with ``meson setup build``, you should see output somewhat " +"similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:427 +msgid "" +"The provided information at this point is already more detailed than " +"anything we could have provided in a ``Makefile``, let's run the build " +"with ``ninja -C build``, which should show something like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:436 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. We note the steps ``ninja`` performed are the same we would " +"have coded up in a ``Makefile`` (including the dependency), yet we did " +"not have to specify them, have a look at your ``meson.build`` file again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:446 +msgid "" +"We only specified that we have a Fortran project (which happens to " +"require a certain version of ``meson`` for the Fortran support) and told " +"``meson`` to build an executable ``my_prog`` from the files " +"``tabulate.f90`` and ``functions.f90``. We had not to tell ``meson`` how " +"to build the project, it figured this out by itself." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:454 +msgid "" +"``meson`` is a cross-platform build system, the project you just " +"specified for your program can be used to compile binaries for your " +"native operating system or to cross-compile your project for other " +"platforms. Similarly, the ``meson.build`` file is portable and will work " +"on different platforms as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:461 +msgid "" +"The documentation of ``meson`` can be found at the meson-build webpage." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:465 +msgid "Creating a CMake project" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:467 +msgid "" +"Similar to ``meson`` CMake is a high-level build system as well and " +"commonly used to build Fortran projects." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:471 +msgid "" +"CMake follows a slightly different strategy and provides you with a " +"complete programming language to create your build files. This is has the" +" advantage that you can do almost everything with CMake, but your CMake " +"build files can also become as complex as the program you are building." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:478 +msgid "Start by creating the file ``CMakeLists.txt`` with the content" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:486 +msgid "" +"Similar to ``meson`` we are already done with our CMake build file. We " +"configure our low-level build files with ``cmake -B build -G Ninja``, you" +" should see output similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:500 +msgid "" +"You might be surprised that CMake tries to use the compiler ``f95``, " +"fortunately this is just a symbolic link to ``gfortran`` on most systems " +"and not the actual ``f95`` compiler. To give CMake a better hint you can " +"export the environment variable ``FC=gfortran`` rerunning should show the" +" correct compiler name now" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:516 +msgid "" +"In a similar manner you could use your Intel Fortran compiler instead to " +"build your project (set ``FC=ifort``)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:519 +msgid "" +"CMake provides support for several low-level build files, since the " +"default is platform specific, we will just use ``ninja`` since we already" +" used it together with ``meson``. As before, build your project with " +"``ninja -C build``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:530 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. The steps ``ninja`` performed are somewhat different, because " +"there is usually more than one way to write the low-level build files to " +"accomplish the task of building a project. Fortunately, we do not have to" +" concern ourselves but have our build system handle those details for us." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:536 +msgid "" +"Finally, we will shortly recap on our complete ``CMakeLists.txt`` to " +"specify our project:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:545 +msgid "" +"We specified that we have a Fortran project and told CMake to create an " +"executable ``my_prog`` from the files ``tabulate.f90`` and " +"``functions.f90``. CMake knows the details how to build the executable " +"from the specified sources, so we do not have to worry about the actual " +"steps in the build process." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:551 +msgid "" +"CMake's offical reference can be found at the CMake webpage. It is organised in manpages, which " +"are also available with your local CMake installation as well using ``man" +" cmake``. While it covers all functionality of CMake, it sometimes covers" +" them only very briefly." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:8 +msgid "Compiling the source code" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:10 +msgid "" +"The first step in the build process is to compile the source code. The " +"output from this step is generally known as the object code — a set of " +"instructions for the computer generated from the human-readable source " +"code. Different compilers will produce different object codes from the " +"same source code and the naming conventions are different." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:16 +msgid "The consequences:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:18 +msgid "" +"If you use a particular compiler for one source file, you need to use the" +" same compiler (or a compatible one) for all other pieces. After all, a " +"program may be built from many different source files and the compiled " +"pieces have to cooperate." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:22 +msgid "" +"Each source file will be compiled and the result is stored in a file with" +" an extension like \".o\" or \".obj\". It is these object files that are " +"the input for the next step: the link process." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:26 +msgid "" +"Compilers are complex pieces of software: they have to understand the " +"language in much more detail and depth than the average programmer. They " +"also need to understand the inner working of the computer. And then, over" +" the years they have been extended with numerous options to customise the" +" compilation process and the final program that will be built." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:33 +msgid "" +"But the basics are simple enough. Take the gfortran compiler, part of the" +" GNU compiler collection. To compile a simple program as the one above, " +"that consists of one source file, you run the following command, assuming" +" the source code is stored in the file \"hello.f90\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:42 +msgid "" +"This results in a file \"hello.o\" (as the gfortran compiler uses \".o\" " +"as the extension for the object files)." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:45 +msgid "" +"The option \"-c\" means: only compile the source files. If you were to " +"leave it out, then the default action of the compiler is to compile the " +"source file and start the linker to build the actual executable program. " +"The command:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:54 +msgid "results in an executable file, \"a.out\" on Linux or \"a.exe\" on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:57 +msgid "Some remarks:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:59 +msgid "" +"The compiler may complain about the contents of the source file, if it " +"finds something wrong with it — a typo for instance or an unknown " +"keyword. In that case the compilation process is broken off and you will " +"not get an object file or an executable program. For instance, if the " +"word \"program\" was inadvertently typed as \"prgoram\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:80 +msgid "" +"Using this compilation report you can correct the source code and try " +"again." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:83 +msgid "" +"The step without \"-c\" can only succeed if the source file contains a " +"main program — characterised by the `program` statement in Fortran. " +"Otherwise the link step will complain about a missing \"symbol\", " +"something along these lines:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:95 +msgid "" +"The file \"hello2.f90\" is almost the same as the file \"hello.f90\", " +"except that the keyword `program` has been replaced by the keyword " +"`subroutine`." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:98 +msgid "" +"The above examples of output from the compiler will differ per compiler " +"and platform on which it runs. These examples come from the gfortran " +"compiler running in a Cygwin environment on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:102 +msgid "Compilers also differ in the options they support, but in general:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:104 +msgid "" +"Options for optimising the code — resulting in faster programs or smaller" +" memory footprints;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:106 +msgid "" +"Options for checking the source code — checks that a variable is not used" +" before it has been given a value, for instance or checks if some " +"extension to the language is used;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:109 +msgid "Options for the location of include or module files, see below;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:110 +msgid "Options for debugging." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:8 +msgid "Distributing your programs" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:10 +msgid "" +"When you distribute your programs, there are a number of options you can " +"choose from:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:13 +msgid "Distribute the entire source code" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:14 +msgid "Distribute a pre-built executable program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:15 +msgid "Distribute static or dynamic libraries that people can use" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:17 +msgid "__Option 1: Distribute the entire source code__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:19 +msgid "" +"By far the simplest — for you as a programmer — is this one: you leave it" +" up to the user to build it on their own machine. Unfortunately, that " +"means you will have to have a user-friendly build system in place and the" +" user will have to have access to suitable compilers. For build systems: " +"see the previous section." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:25 +msgid "__Option 2: Distribute a pre-built executable program__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:27 +msgid "" +"A pre-built program that does not need to be customised, other than via " +"its input, will still need to come with the various run-time libraries " +"and will be specific to the operating system/environment it was built " +"for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:31 +msgid "" +"The set of run-time libraries differs per operating system and compiler " +"version. For a freely available compiler like gfortran, the easiest thing" +" is to ask the user to install that compiler on their system. In the case" +" of Windows: the Cygwin environment may be called for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:36 +msgid "" +"Alternatively, you can supply copies of the run-time libraries together " +"with your program. Put them in the directory where they can be found at " +"run-time." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:39 +msgid "" +"Note: On Windows, the Intel Fortran comes with a set of _redistributable_" +" libraries. These will need to be made available." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:42 +msgid "" +"In general: use a tool like \"ldd\" or \"dependency walker\" to find out " +"what libraries are required and consult the documentation of the " +"compiler." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:45 +msgid "" +"If your program does allow customisation, consider using dynamic " +"libraries for this. More is said about this below." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:48 +msgid "__Option 3: Distribute static or dynamic libraries that people can use__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:50 +msgid "" +"This option is a combination of the first two options. It does put some " +"burden on the user, as they must create a main program that calls your " +"routines in the proper way, but they do not need to know much about the " +"build system you used. You will have to deal with the run-time libraries," +" though." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:55 +msgid "" +"If you choose this option, besides the compiled libraries, you will also " +"need to supply the module intermediate files. These files are compiler-" +"specific, but so are the static libraries you build." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:59 +msgid "Distributing the tabulation program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:60 +msgid "" +"As shown above, the tabulation program can be built with the user-defined" +" function in a dynamic library. This enables you to:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:63 +msgid "Ship the executable (with the appropriate run-time libraries)" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:64 +msgid "Provide a skeleton version of the module, something like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:82 +msgid "Provide a basic build script with a command like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:88 +msgid "or:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:94 +msgid "" +"As said, you cannot control that the user has done the right thing — any " +"DLL \"functions.dll\" with a function `f` would be accepted, but not " +"necessarily lead to a successful run." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:98 +msgid "" +"An alternative set-up would be to change the main program into a " +"subroutine and have the function as an argument:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:120 +msgid "Then provide a skeleton main program:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:140 +msgid "" +"The advantage is that the compiler can check the interface of the " +"function that is passed and that the user has more freedom in the use of " +"the functionality provided by your library." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:8 +msgid "Include files and modules" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:10 +msgid "" +"Your program can be contained in various source files, all stored in the " +"same directory or organised in some convenient directory tree. The " +"details of the organisation depend on personal taste, arrangements made " +"by the group of developers you belong to, or simply the history of the " +"program. Whatever the directory structure is, you will encounter a " +"situation where the compiler needs assistence in order to compile a " +"particular source file:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:18 +msgid "" +"Fortran (and other languages) has the possibility to include an external " +"file. While this feature has become a bit less useful with the advent of " +"modules, it still has its uses. Quite often, such \"include files\" are " +"stored in a directory separated from the directories containing the " +"source files, because they are used in several locations. Quite often the" +" name of that directory is \"include\"." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:24 +msgid "" +"As we have seen, compiling source code that defines one or more modules, " +"leads to the compiler generating so-called \"module intermediate files\" " +"(with the extension \".mod\"). The compiler needs access to these files " +"to be able to read the interfaces and variables and what not, and based " +"on this information, actually compile the source code that uses the " +"various modules." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:30 +msgid "" +"Compilers support options like `-I` to indicate where these include files" +" and module intermediate files are to be found. Suppose we store the two " +"files of our `tabulate` program in the following directory structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:43 +msgid "Compiling the file \"functions.f90\" with the commands" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:50 +msgid "leads to this structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:62 +msgid "" +"To successfully compile and subsequently build the program we need to " +"tell the compiler where it can find the file \"user\\_functions.mod\":" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:71 +msgid "The result:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:85 +msgid "Notes:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:87 +msgid "" +"The details differ per compiler. Sometimes the `-I` option should be " +"followed by a space and then the name of the directory, sometimes the " +"directory should come consecutively." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:90 +msgid "" +"By default the module intermediate files (.mod) are put in the same " +"directory as the object files. When your program code is organised in " +"different subdirectories, they will get scattered over the directory " +"tree, complicating the compilation process. Luckily, many compilers allow" +" you to specify the output location for these files. For gfortran this is" +" `-J`, for instance: `-J../include` (so that the .mod files could all " +"appear in the same directory)" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:98 +msgid "" +"For large programs, consisting of many source files, it is important to " +"think through what organisation to use." +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "build tools" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "include files" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "managing libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "compiling source" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "project make" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "distributing" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "linking pieces" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "runtime libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:9 +msgid "Building programs" +msgstr "" + +#: ../../source/learn/building_programs/index.md:11 +msgid "" +"Languages like Fortran, C, C++ and Java, to name but a few, share certain" +" characteristics: you write code in your language of choice but then you " +"have to build an executable program from that source code. Other " +"languages are interpreted — the source code is analysed by a special " +"program and taken as direct instructions. Two very simple examples of " +"that type of language: Windows batch files and Linux shell scripts." +msgstr "" + +#: ../../source/learn/building_programs/index.md:19 +msgid "" +"In this tutorial we concentrate on the first type of languages, with " +"Fortran as the main example. One advantage of compiled languages is that " +"the build process that you need to build an executable program, is used " +"to transform the human-readable source code into an efficient program " +"that can be run on the computer." +msgstr "" + +#: ../../source/learn/building_programs/index.md:25 +msgid "" +"Remark: this tutorial gives examples for the Windows and Linux operating " +"systems, however the workflow and general principles still apply to " +"macOS." +msgstr "" + +#: ../../source/learn/building_programs/index.md:28 +msgid "Compiled languages" +msgstr "" + +#: ../../source/learn/building_programs/index.md:30 +msgid "Let us have a look at a simple example:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:38 +msgid "" +"This is just about the simplest program you can write in Fortran and it " +"is certainly a variation on one of the most famous programs. Even though " +"it is simple to express in source code, a lot of things actually happen " +"when the executable that is built from this code runs:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:43 +msgid "" +"A process is started on the computer in such a way that it can write to " +"the console — the window (DOS-box, xterm, ...) at which you type the " +"program's name." +msgstr "" + +#: ../../source/learn/building_programs/index.md:46 +msgid "" +"It writes the text \"Hello!\" to the console. To do so it must properly " +"interact with the console." +msgstr "" + +#: ../../source/learn/building_programs/index.md:48 +msgid "" +"When done, it finishes, cleaning up all the resources (memory, connection" +" to the console etc.) it took." +msgstr "" + +#: ../../source/learn/building_programs/index.md:51 +msgid "" +"Fortunately, as a programmer in a high-level language you do not need to " +"consider all these details. In fact, this is the sort of things that is " +"taken care of by the build process: the compiler and the linker." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:8 +msgid "Linking the objects" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:10 +msgid "" +"Almost all programs, except for the simplest, are built up from different" +" pieces. We are going to examine such a situation in more detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:14 +msgid "" +"Here is a general program for tabulating a function (source code in " +"\"tabulate.f90\"):" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:35 +msgid "Note the `use` statement — this will be where we define the function `f`." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:37 +msgid "" +"We want to make the program general, so keep the specific source code — " +"the implementation of the function `f` — separated from the general " +"source code. There are several ways to achieve this, but one is to put it" +" in a different source file. We can give the general program to a user " +"and they provide a specific source code." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:43 +msgid "" +"Assume for the sake of the example that the function is implemented in a " +"source file \"function.f90\" as:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:59 +msgid "" +"To build the program with this specific function, we need to compile two " +"source files and combine them via the link step into one executable " +"program. Because the program \"tabulate\" depends on the module " +"\"function\", we need to compile the source file containing our module " +"first. A sequence of commands to do this is:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:70 +msgid "" +"The first step compiles the module, resulting in an object file " +"\"functions.o\" and a module intermediate file, \"user\\_functions.mod\"." +" This module file contains all the information the compiler needs to " +"determine that the function `f` is defined in this module and what its " +"interface is. This information is important: it enables the compiler to " +"check that you call the function in the right way. It might be that you " +"made a mistake and called the function with two arguments instead of one." +" If the compiler does not know anything about the function's interface, " +"then it cannot check anything." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:80 +msgid "The second step invokes the compiler in such a way that:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:82 +msgid "it compiles the file \"tabulate.f90\" (using the module file);" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:83 +msgid "" +"it invokes the linker to combine the object files tabulate.o and " +"functions.o into an executable program — with the default name \"a.out\" " +"or \"a.exe\" (if you want a different name, use the option \"-o\")." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:87 +msgid "" +"What you do not see in general is that the linker also adds a number of " +"extra files in this link step, the run-time libraries. These run-time " +"libraries contain all the \"standard\" stuff — low-level routines that do" +" the input and output to screen, the `sin` function and much more." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:92 +msgid "" +"If you want to see the gory details, add the option \"-v\". This " +"instructs the compiler to report all the steps that are in detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:95 +msgid "" +"The end result, the executable program, contains the compiled source code" +" and various auxiliary routines that make it work. It also contains " +"references to so-called dynamic run-time libraries (in Windows: DLLs, in " +"Linux: shared objects or shared libraries). Without these run-time " +"libraries the program will not start." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:8 +msgid "Managing libraries (static and dynamic libraries)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:10 +msgid "" +"If you need to manage a program built of dozens of source files (and that" +" is not uncommon!), the command-line needed to specify all the object " +"files will be very long indeed. This soon becomes tedious or even " +"impossible to maintain. So a different solution is called for: create " +"your own libraries." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:16 +msgid "" +"Libraries contain any number of object files in a compact form, so that " +"the command-line becomes far shorter:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:23 +msgid "" +"where \"supportlib.a\" is a collection of one, two or many object files, " +"all compiled and then put into a library. The extension \".a\" is used by" +" Linux and Linux-like platforms. On Windows the extension \".lib\" is " +"used." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:27 +msgid "" +"Creating your own libraries is not that complicated: on Linux, you can " +"achieve this using a utility like `ar`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:37 +msgid "or on Windows using the `lib` utility:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:46 +msgid "Note:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:48 +msgid "" +"The command `ar` with the option `r` either creates the library (the name" +" appears after the option) or adds new object files to the library (or " +"replaces any existing ones)." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:51 +msgid "" +"The command `lib` will create a new library if you use specify the option" +" `/out:` with the name of the new library next to it. To add object files" +" to an existing library, leave out the `/out:` bit." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:54 +msgid "" +"On platforms like Linux there is a particular convention to name " +"libraries. If you name your library like \"libname.a\" (note the \"lib\" " +"prefix), then you can refer to it as `-lname` in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:57 +msgid "" +"Libraries are often sought in directories indicated by an option `-L` or " +"`/LIBPATH`. This saves you from having to specify the exact path for " +"every library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:61 +msgid "" +"Using libraries you can build very large programs without having to " +"resort to extremely long command lines." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:65 +msgid "Static versus dynamic libraries" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:67 +msgid "" +"The above discussion is tacitly assuming that you are using the so-called" +" static libraries. Static libraries (or at least parts of their contents)" +" become an integral part of the executable program. The only way to " +"change the routines incorporated in the program is by rebuilding the " +"program with a new version of the library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:73 +msgid "" +"A flexible alternative is to use the so-called dynamic libraries. These " +"libraries remain outside the executable program and as a consequence can " +"be replaced without rebulding the entire program. Compilers and indeed " +"the operating system itself rely heavily on such dynamic libraries. You " +"could consider dynamic libraries as a sort of executable programs that " +"need a bit of help to be run." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:80 +msgid "" +"Building dynamic libraries works slightly differently from building " +"static libraries: you use the compiler/linker instead of a tool like `ar`" +" or `lib`." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:84 +msgid "On Linux:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:92 +msgid "On Windows, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:100 +msgid "The differences are that:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:102 +msgid "" +"You need to specify a compile option on Linux, for gfortran that is " +"`-fpic`, because the object code is slightly different." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:104 +msgid "" +"You need to tell in the link step that you want a dynamic library (on " +"Linux: a shared object/library, hence the extension \".so\"; on Windows: " +"a dynamic link library)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:108 +msgid "" +"There is one more thing to be aware of: On Windows you must explicitly " +"specify that a procedure is to be _exported_, i.e. is visible in the " +"dynamic library. There are several ways — depending on the compiler you " +"use — to achieve this. One method is via a so-called compiler directive:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:119 +msgid "Or, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:126 +msgid "" +"Besides a dynamic library (DLL), a so-called import library may be " +"generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:129 +msgid "" +"Because the details differ per compiler, here are two examples: gfortran " +"on Cygwin and Intel Fortran on Windows. In both cases we look at the " +"`tabulate` program in the file \"tabulate.f90\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:133 +msgid "GNU/Linux and gfortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:134 +msgid "" +"The `tabulate` program requires a user-defined routine `f`. If we let it " +"reside in a dynamic library, say \"functions.dll\", we can simply replace" +" the implementation of the function by putting another dynamic library in" +" the directory. No need to rebuild the program as such." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:139 +msgid "" +"On Cygwin it is not necessary to explicitly export a procedure — all " +"publically visible routines are exported when you build a dynamic " +"library. Also, no import library is generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:143 +msgid "" +"Since our dynamic library can be built from a single source file, we can " +"take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:150 +msgid "" +"This produces the files \"functions.dll\" and \"user\\_functions.mod\". " +"The utility `nm` tells us the exact name of the function `f`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:165 +msgid "" +"It has received a prefix `__function_MOD_` to distinguish it from any " +"other routine \"f\" that might be defined in another module." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:168 +msgid "The next step is to build the program:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:174 +msgid "" +"The DLL and the .mod file are used to build the executable program with " +"checks on the function's interface, the right name and the reference to " +"\"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:178 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, " +"implementing a different function \"f\". Of course, you need to be " +"careful to use the correct interface for this function. The " +"compiler/linker are not invoked anymore, so they can do no checking." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:183 +msgid "Windows and Intel Fortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:184 +msgid "" +"The setup is the same as with Linux, but on Windows it is necessary to " +"explicitly export the routines. And an import library is generated — this" +" is the library that should be used in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:188 +msgid "" +"The source file must contain the compiler directive, otherwise the " +"function `f` is not exported:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:196 +msgid "Again we take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:202 +msgid "" +"This produces the files \"functions.dll\", \"user\\_functions.mod\" as " +"well as \"functions.lib\" (and two other files of no importance here). " +"The \"dependency walker\" program tells us that the exact name of the " +"function \"f\" is `FUNCTION_mp_F`. It is also exported, so that it can be" +" found by the linker in the next step:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:211 +msgid "Note that we need to specify the name of the export library, not the DLL!" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:213 +msgid "" +"(Note also: the Intel Fortran compiler uses the name of the first source " +"file as the name for the executable — here we do without the `-exe` " +"option.)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:216 +msgid "" +"Just as under Cygwin, the DLL and the .mod file are used to build the " +"executable program with checks on the function's interface, the right " +"name and the reference to \"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:220 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, but " +"the same caution is required: while the implementation can be quite " +"different, the function's interface must be the same." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:8 +msgid "An introduction to make" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:10 +msgid "" +"We briefly discussed the basics of ``make``. This chapter gives ideas and" +" strategies to scale ``make`` for larger projects." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:13 +msgid "Before going into detail with ``make``, consider a few points:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:14 +msgid "" +"``make`` is a Unix tool and might give you a hard time when porting to " +"non-Unix platforms. That said, there are also different flavors of " +"``make`` available, not all might support the features you want to use." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:17 +msgid "" +"While ``make`` gives you full control over the build process, it also " +"means you are responsible for the entire build process, and you have to " +"specify the rules for every detail of your project. You might find " +"yourself spending a significant amount of time writing and maintaining " +"your ``Makefile`` instead of developing your source code." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:21 +msgid "" +"You can work with your ``Makefile``, but think about other developers on " +"your project who may not be familiar with ``make``. How much time do you " +"expect them to spend learning your ``Makefile`` and would they be able to" +" debug or add features?" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:24 +msgid "" +"Pure ``make`` will not scale. You will soon add auxiliary programs to " +"dynamically or statically generate your ``Makefile``. Those introduce " +"dependencies and possible sources of errors. The effort needed to test " +"and document those tools should not be underestimated." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:29 +msgid "" +"If you think ``make`` is suitable for your needs, than you can start " +"writing your ``Makefile``. For this course we will use real world " +"examples from the package index, which (at the time of writing) use build" +" systems other than ``make``. This guide should present a general " +"recommended style to write ``make``, but also serve as demonstration of " +"useful and interesting features." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:36 +msgid "" +"Even if you find ``make`` unsuitable to build your project, it is *the* " +"tool to automate workflows defined by files. Maybe you can leverage its " +"power in a different context." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:39 +msgid "Getting started" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:41 +msgid "" +"For this part we will work with the Fortran CSV module (v1.2.0). " +"Our goal is to write a ``Makefile`` to compile this project to a static " +"library. Start by cloning the repository" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:52 +msgid "" +"For this part we will work with the code from tag ``1.2.0``, to make it " +"as reproducible as possible. Feel free to use the latest version or " +"another project instead." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:55 +msgid "" +"This project uses FoBiS as build system, and you can check the " +"``build.sh`` for options used with FoBiS. We are about to write a " +"``Makefile`` for this project. First, we check the directory structure " +"and the source files" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:77 +msgid "" +"We find seven different Fortran source files; the four in ``src`` should " +"be compiled and added to a static library while the three in " +"``src/tests`` contain individual programs that depend on this static " +"library." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:81 +msgid "Start by creating a simple ``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:147 +msgid "" +"Invoking ``make`` should build the static library and the test " +"executables as expected:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:162 +msgid "" +"There are a few things to note there, a ``make`` build usually interlaces" +" the build artifacts and the source code, unless you put extra effort " +"into implementing a build directory. Also, right now the the source files" +" and dependencies are specified explicitly, which results in several " +"additional lines even for such a simple project." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:169 +msgid "Automatically generated dependencies" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:171 +msgid "" +"The main drawback of ``make`` for Fortran is the missing capability to " +"determine module dependencies. This is usually solved by either adding " +"those by hand or automatically scanning the source code with an external " +"tool. Some compilers (like the Intel Fortran compiler) also offer to " +"generate dependencies in ``make`` format." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:176 +msgid "" +"Before diving into the dependency generation, we will outline the concept" +" of a robust take on the dependency problem. First, we want an approach " +"that can process all source files independently, while each source file " +"provides (``module``) or requires (``use``) modules. When generating the " +"dependencies only the name of the source file and the module files are " +"known, and no information on the object file names should be required." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:184 +msgid "" +"If you check the dependency section above you will note that all " +"dependencies are defined between object files rather than source files. " +"To change this, we can generate a map from the source files their " +"respective object files:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:194 +msgid "" +"Note the declaration of ``obj`` as recursively expanded variable, we " +"effectively use this mechanism to define a function in ``make``. The " +"``foreach`` function allows us to loop over all source files, while the " +"``eval`` function allows us to generate ``make`` statements and evaluate " +"them for this ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:199 +msgid "" +"We adjust the dependencies accordingly as we can now define the name of " +"the object files through the source file names:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:219 +msgid "" +"The same strategy of creating a map is already used for the module files," +" now it is just expanded to the object files as well." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:222 +msgid "" +"To generate the respective dependency map automatically we will use an " +"``awk`` script here" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:284 +msgid "" +"This script makes a few assumptions about the source code it parses, so " +"it will not work with all Fortran code (namely submodules are not " +"supported), but for this example it will suffice." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:289 +msgid "Using awk" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:291 +msgid "" +"The above script uses the ``awk`` language, which is designed for the " +"purpose of text stream processing and uses a C-like syntax. In ``awk`` " +"you can define groups which are evaluated on certain events, *e.g.* when " +"a line matches a specific pattern, usually expressed by a regular expression." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:297 +msgid "" +"This ``awk`` script defines five groups, two of them use the special " +"pattern ``BEGIN`` and ``END`` which are run before the script starts and " +"after the script finishes, respectively. Before the script starts we make" +" the script case-insensitive since we are dealing with Fortran source " +"code here. We also use the special variable ``FILENAME`` to determine " +"which file we are currently parsing and to allow processing multiple " +"files at once." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:305 +msgid "" +"With the three patterns defined we are looking for ``module``, ``use`` " +"and ``include`` statements as the first space delimited entry. With the " +"used pattern not all valid Fortran code will be parsed correctly. A " +"failing example would be:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:314 +msgid "" +"To make this parsable by the ``awk`` script we can add another group " +"directly after the ``BEGIN`` group, modifying the stream while processing" +" it with" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:323 +msgid "" +"In theory you would need a full Fortran parser to deal with continuation " +"lines and other difficulties. This might be possible to implement in " +"``awk`` but would require a huge script in the end." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:327 +msgid "" +"Also, keep in mind that generating the dependencies should be fast, an " +"expensive parser can produce a significant overhead when generating " +"dependencies for a large code base. Making reasonable assumptions can " +"simplify and speed up this step, but also introduces an error source in " +"your build tools." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:334 +msgid "" +"Make the script executable (``chmod +x gen-deps.awk``) and test it with " +"``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output " +"like this:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:356 +msgid "" +"Note that the scripts output will use recursively expanded variables and " +"not define any dependencies yet, because out-of-order declaration of " +"variables might be necessary and we do not want to create any target by " +"accident. You can verify that the same information as in the above " +"handwritten snippet is present. The only exception is the additional " +"dependency on the ``iso_fortran_env.mod``, since it is an undefined " +"variable it will just expand to an empty string and not introduce any " +"further dependencies." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:364 +msgid "" +"Now, you can finally include this piece in your ``Makefile`` to automate " +"the dependency generation:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:431 +msgid "" +"Here additional dependency files are generated for each source file " +"individually and than included into the main ``Makefile``. Also, the " +"dependency files are added as dependency to the object files to ensure " +"they are generated before the object is compiled. The pipe character in " +"the dependencies defines an order of the rules without a timestamp " +"dependency, because it is not necessary to recompile an object file in " +"case dependencies are regenerated and potentially unchanged." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:439 +msgid "" +"Again, we make use of the ``eval`` function to generate the dependencies " +"in a ``foreach`` loop over all object files. Note that we created a map " +"between the object files in the dependency files, expanding ``dep`` once " +"yields the object file name, expanding it again yields the object files " +"it depends on." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:444 +msgid "Building your project with ``make`` should give an output similar to" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:465 +msgid "" +"Once the dependency files are generated, ``make`` will only update them " +"if the source changes and not require to rebuild them again for every " +"invocation." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:469 +msgid "" +"With correct dependencies you can leverage parallel execution of your " +"``Makefile``, just use the ``-j`` flag to create multiple ``make`` " +"processes." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:472 +msgid "" +"Since dependencies can now be generated automatically, there is no need " +"to specify the source files explicitly, the ``wildcard`` function can be " +"used to determine them dynamically:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:8 +msgid "Run-time libraries" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:10 +msgid "" +"To illustrate that even a simple program depends on external run-time " +"libraries, here is the output from the `ldd` utility that reports such " +"dependencies:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:25 +msgid "" +"Other compilers or other versions of the same compiler will probably " +"require different dynamic libraries. As long as you run the program on " +"the same computer — or, more accurately, within the same environment — " +"there should be no problem. However, when such a library cannot be found," +" you will get (hopefully) an error message and the program stops " +"immediately." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:32 +msgid "" +"Therefore it is good to know what libraries are required. On Linux and " +"Linux-like environments, the `ldd` utility is a great help. On Windows, " +"you may want to use the `dependency walker` (the latest version, which " +"works very nicely with Windows 10, is found here: " +")" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:37 +msgid "" +"Another thing you should know is where the program tries to find these " +"libraries. That is a vast subject in its own right and full of " +"complications and history. Here we merely scratch the surface:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:41 +msgid "_On Linux:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:43 +msgid "" +"The environment variable `LD_LIBRARY_PATH` is used. It consists of a list" +" of directories to be searched, each directory separated via colons (:) " +"from the others. For instance: `/usr/lib:/usr/local/lib` — typical system" +" directories." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:47 +msgid "" +"At the link step you can also use an option to set `RPATH`, a list of " +"directories that is put into the executable file itself." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:49 +msgid "Then there are several system directories that are searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:51 +msgid "_On Windows:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:53 +msgid "" +"The directory containing the executable program may also contain dynamic " +"libraries." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:55 +msgid "" +"The environment variable \"PATH\" is used. Again a list of directories to" +" be searched, but now the separating character is the semicolon (;)." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:57 +msgid "A set of system directories is searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:59 +msgid "" +"Unfortunately, the details can change from one version of the operating " +"system to the next. The above is merely an indication — use tools like " +"\"ldd\" or \"dependency walker\" to find out what libraries are loaded " +"and where they are found." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:64 +msgid "" +"If you want to share your program with colleagues or clients or simply " +"users all over the world, you will have to take care that, besides the " +"program, you also distribute the libraries it depends on. For more " +"information: see below." +msgstr "" + +#: ../../source/learn/intrinsics/ARRAY_index.md:1 +#: ../../source/learn/intrinsics/index.md:15 +msgid "Properties and attributes of arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:2 +msgid "merge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:3 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/ACOS.md:3 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:3 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:3 +#: ../../source/learn/intrinsics/_pages/AINT.md:3 +#: ../../source/learn/intrinsics/_pages/ANINT.md:3 +#: ../../source/learn/intrinsics/_pages/ASIN.md:3 +#: ../../source/learn/intrinsics/_pages/ASINH.md:3 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:3 +#: ../../source/learn/intrinsics/_pages/ATANH.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:3 +#: ../../source/learn/intrinsics/_pages/BGE.md:3 +#: ../../source/learn/intrinsics/_pages/BGT.md:3 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/BLE.md:3 +#: ../../source/learn/intrinsics/_pages/BLT.md:3 +#: ../../source/learn/intrinsics/_pages/BTEST.md:3 +#: ../../source/learn/intrinsics/_pages/CEILING.md:3 +#: ../../source/learn/intrinsics/_pages/CHAR.md:3 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:3 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:3 +#: ../../source/learn/intrinsics/_pages/CONJG.md:3 +#: ../../source/learn/intrinsics/_pages/COS.md:3 +#: ../../source/learn/intrinsics/_pages/COSH.md:3 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:3 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:3 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:3 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:3 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:3 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/DBLE.md:3 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:3 +#: ../../source/learn/intrinsics/_pages/DIM.md:3 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:3 +#: ../../source/learn/intrinsics/_pages/DPROD.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:3 +#: ../../source/learn/intrinsics/_pages/ERF.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:3 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:3 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/EXP.md:3 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:3 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:3 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:3 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:3 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:3 +#: ../../source/learn/intrinsics/_pages/HUGE.md:3 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:3 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IALL.md:3 +#: ../../source/learn/intrinsics/_pages/IAND.md:3 +#: ../../source/learn/intrinsics/_pages/IANY.md:3 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:3 +#: ../../source/learn/intrinsics/_pages/IBITS.md:3 +#: ../../source/learn/intrinsics/_pages/IBSET.md:3 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IEOR.md:3 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INT.md:3 +#: ../../source/learn/intrinsics/_pages/IOR.md:3 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:3 +#: ../../source/learn/intrinsics/_pages/KIND.md:3 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:3 +#: ../../source/learn/intrinsics/_pages/LEN.md:3 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/LGE.md:3 +#: ../../source/learn/intrinsics/_pages/LGT.md:3 +#: ../../source/learn/intrinsics/_pages/LLE.md:3 +#: ../../source/learn/intrinsics/_pages/LLT.md:3 +#: ../../source/learn/intrinsics/_pages/LOG.md:3 +#: ../../source/learn/intrinsics/_pages/LOG10.md:3 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:3 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/MASKL.md:3 +#: ../../source/learn/intrinsics/_pages/MASKR.md:3 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:3 +#: ../../source/learn/intrinsics/_pages/MAX.md:3 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:3 +#: ../../source/learn/intrinsics/_pages/MIN.md:3 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MOD.md:3 +#: ../../source/learn/intrinsics/_pages/MODULO.md:3 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:3 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:3 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:3 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/NINT.md:3 +#: ../../source/learn/intrinsics/_pages/NORM2.md:3 +#: ../../source/learn/intrinsics/_pages/NOT.md:3 +#: ../../source/learn/intrinsics/_pages/NULL.md:3 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:3 +#: ../../source/learn/intrinsics/_pages/PACK.md:3 +#: ../../source/learn/intrinsics/_pages/PARITY.md:3 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:3 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:3 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:3 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:3 +#: ../../source/learn/intrinsics/_pages/RADIX.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:3 +#: ../../source/learn/intrinsics/_pages/RANGE.md:3 +#: ../../source/learn/intrinsics/_pages/REAL.md:3 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:3 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:3 +#: ../../source/learn/intrinsics/_pages/SCALE.md:3 +#: ../../source/learn/intrinsics/_pages/SCAN.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/SIGN.md:3 +#: ../../source/learn/intrinsics/_pages/SIN.md:3 +#: ../../source/learn/intrinsics/_pages/SINH.md:3 +#: ../../source/learn/intrinsics/_pages/SPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:3 +#: ../../source/learn/intrinsics/_pages/SQRT.md:3 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:3 +#: ../../source/learn/intrinsics/_pages/TAN.md:3 +#: ../../source/learn/intrinsics/_pages/TANH.md:3 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:3 +#: ../../source/learn/intrinsics/_pages/TINY.md:3 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:3 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:3 +#: ../../source/learn/intrinsics/_pages/TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:3 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:3 +msgid "__Name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:5 +msgid "__merge__(3) - \\[ARRAY CONSTRUCTION\\] Merge variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:7 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:7 +#: ../../source/learn/intrinsics/_pages/ACOS.md:6 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:7 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:8 +#: ../../source/learn/intrinsics/_pages/AINT.md:8 +#: ../../source/learn/intrinsics/_pages/ANINT.md:8 +#: ../../source/learn/intrinsics/_pages/ASIN.md:7 +#: ../../source/learn/intrinsics/_pages/ASINH.md:8 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/ATAN.md:7 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:7 +#: ../../source/learn/intrinsics/_pages/ATANH.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:7 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:8 +#: ../../source/learn/intrinsics/_pages/BGE.md:8 +#: ../../source/learn/intrinsics/_pages/BGT.md:8 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:7 +#: ../../source/learn/intrinsics/_pages/BLE.md:8 +#: ../../source/learn/intrinsics/_pages/BLT.md:8 +#: ../../source/learn/intrinsics/_pages/BTEST.md:7 +#: ../../source/learn/intrinsics/_pages/CEILING.md:8 +#: ../../source/learn/intrinsics/_pages/CHAR.md:8 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:8 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:7 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:8 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:8 +#: ../../source/learn/intrinsics/_pages/CONJG.md:7 +#: ../../source/learn/intrinsics/_pages/COS.md:7 +#: ../../source/learn/intrinsics/_pages/COSH.md:8 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:8 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:8 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:8 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:8 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:8 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/DBLE.md:8 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:7 +#: ../../source/learn/intrinsics/_pages/DIM.md:8 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:8 +#: ../../source/learn/intrinsics/_pages/DPROD.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:7 +#: ../../source/learn/intrinsics/_pages/ERF.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:8 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:8 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:8 +#: ../../source/learn/intrinsics/_pages/EXP.md:7 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:8 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:7 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:8 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:7 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:7 +#: ../../source/learn/intrinsics/_pages/HUGE.md:7 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:7 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IALL.md:8 +#: ../../source/learn/intrinsics/_pages/IAND.md:8 +#: ../../source/learn/intrinsics/_pages/IANY.md:8 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:8 +#: ../../source/learn/intrinsics/_pages/IBITS.md:8 +#: ../../source/learn/intrinsics/_pages/IBSET.md:8 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IEOR.md:8 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INT.md:6 +#: ../../source/learn/intrinsics/_pages/IOR.md:8 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:8 +#: ../../source/learn/intrinsics/_pages/KIND.md:8 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:8 +#: ../../source/learn/intrinsics/_pages/LEN.md:7 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:7 +#: ../../source/learn/intrinsics/_pages/LGE.md:8 +#: ../../source/learn/intrinsics/_pages/LGT.md:8 +#: ../../source/learn/intrinsics/_pages/LLE.md:8 +#: ../../source/learn/intrinsics/_pages/LLT.md:8 +#: ../../source/learn/intrinsics/_pages/LOG.md:8 +#: ../../source/learn/intrinsics/_pages/LOG10.md:7 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:8 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:8 +#: ../../source/learn/intrinsics/_pages/MASKL.md:7 +#: ../../source/learn/intrinsics/_pages/MASKR.md:7 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:8 +#: ../../source/learn/intrinsics/_pages/MAX.md:7 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MERGE.md:7 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:7 +#: ../../source/learn/intrinsics/_pages/MIN.md:8 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MOD.md:8 +#: ../../source/learn/intrinsics/_pages/MODULO.md:8 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:8 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:8 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:8 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:7 +#: ../../source/learn/intrinsics/_pages/NINT.md:7 +#: ../../source/learn/intrinsics/_pages/NORM2.md:8 +#: ../../source/learn/intrinsics/_pages/NOT.md:6 +#: ../../source/learn/intrinsics/_pages/NULL.md:8 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:8 +#: ../../source/learn/intrinsics/_pages/PACK.md:7 +#: ../../source/learn/intrinsics/_pages/PARITY.md:8 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:8 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:8 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:8 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:8 +#: ../../source/learn/intrinsics/_pages/RADIX.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:8 +#: ../../source/learn/intrinsics/_pages/RANGE.md:8 +#: ../../source/learn/intrinsics/_pages/REAL.md:7 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:8 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:8 +#: ../../source/learn/intrinsics/_pages/SCALE.md:8 +#: ../../source/learn/intrinsics/_pages/SCAN.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/SIGN.md:8 +#: ../../source/learn/intrinsics/_pages/SIN.md:7 +#: ../../source/learn/intrinsics/_pages/SINH.md:7 +#: ../../source/learn/intrinsics/_pages/SPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:8 +#: ../../source/learn/intrinsics/_pages/SQRT.md:7 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:8 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:8 +#: ../../source/learn/intrinsics/_pages/TAN.md:8 +#: ../../source/learn/intrinsics/_pages/TANH.md:8 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:8 +#: ../../source/learn/intrinsics/_pages/TINY.md:8 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:7 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:8 +#: ../../source/learn/intrinsics/_pages/TRIM.md:8 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:8 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:7 +msgid "__Syntax__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:23 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:18 +#: ../../source/learn/intrinsics/_pages/ACOS.md:17 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:18 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:15 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:15 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:16 +#: ../../source/learn/intrinsics/_pages/AINT.md:25 +#: ../../source/learn/intrinsics/_pages/ANINT.md:12 +#: ../../source/learn/intrinsics/_pages/ASIN.md:17 +#: ../../source/learn/intrinsics/_pages/ASINH.md:18 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/ATAN.md:18 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:11 +#: ../../source/learn/intrinsics/_pages/ATANH.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:11 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:17 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:14 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:14 +#: ../../source/learn/intrinsics/_pages/BGE.md:12 +#: ../../source/learn/intrinsics/_pages/BGT.md:12 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:14 +#: ../../source/learn/intrinsics/_pages/BLE.md:12 +#: ../../source/learn/intrinsics/_pages/BLT.md:12 +#: ../../source/learn/intrinsics/_pages/BTEST.md:17 +#: ../../source/learn/intrinsics/_pages/CEILING.md:16 +#: ../../source/learn/intrinsics/_pages/CHAR.md:16 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:17 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:14 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:12 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:14 +#: ../../source/learn/intrinsics/_pages/CONJG.md:16 +#: ../../source/learn/intrinsics/_pages/COS.md:17 +#: ../../source/learn/intrinsics/_pages/COSH.md:19 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:12 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:12 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:12 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:12 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:12 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:12 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:16 +#: ../../source/learn/intrinsics/_pages/DBLE.md:18 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:17 +#: ../../source/learn/intrinsics/_pages/DIM.md:17 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:12 +#: ../../source/learn/intrinsics/_pages/DPROD.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:11 +#: ../../source/learn/intrinsics/_pages/ERF.md:12 +#: ../../source/learn/intrinsics/_pages/ERFC.md:16 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:12 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:12 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:18 +#: ../../source/learn/intrinsics/_pages/EXP.md:11 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:12 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:17 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:12 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:11 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:16 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:17 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:17 +#: ../../source/learn/intrinsics/_pages/HUGE.md:18 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:16 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:12 +#: ../../source/learn/intrinsics/_pages/IALL.md:16 +#: ../../source/learn/intrinsics/_pages/IAND.md:12 +#: ../../source/learn/intrinsics/_pages/IANY.md:16 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:12 +#: ../../source/learn/intrinsics/_pages/IBITS.md:12 +#: ../../source/learn/intrinsics/_pages/IBSET.md:12 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:15 +#: ../../source/learn/intrinsics/_pages/IEOR.md:12 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:12 +#: ../../source/learn/intrinsics/_pages/INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/INT.md:14 +#: ../../source/learn/intrinsics/_pages/IOR.md:14 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:16 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:12 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:12 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:15 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:12 +#: ../../source/learn/intrinsics/_pages/KIND.md:12 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:12 +#: ../../source/learn/intrinsics/_pages/LEN.md:19 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/LGE.md:12 +#: ../../source/learn/intrinsics/_pages/LGT.md:12 +#: ../../source/learn/intrinsics/_pages/LLE.md:18 +#: ../../source/learn/intrinsics/_pages/LLT.md:12 +#: ../../source/learn/intrinsics/_pages/LOG.md:12 +#: ../../source/learn/intrinsics/_pages/LOG10.md:14 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:16 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:12 +#: ../../source/learn/intrinsics/_pages/MASKL.md:14 +#: ../../source/learn/intrinsics/_pages/MASKR.md:14 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:12 +#: ../../source/learn/intrinsics/_pages/MAX.md:11 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MERGE.md:11 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:19 +#: ../../source/learn/intrinsics/_pages/MIN.md:12 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MOD.md:12 +#: ../../source/learn/intrinsics/_pages/MODULO.md:12 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:12 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:12 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:12 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:14 +#: ../../source/learn/intrinsics/_pages/NINT.md:13 +#: ../../source/learn/intrinsics/_pages/NORM2.md:17 +#: ../../source/learn/intrinsics/_pages/NOT.md:10 +#: ../../source/learn/intrinsics/_pages/NULL.md:13 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:12 +#: ../../source/learn/intrinsics/_pages/PACK.md:20 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:12 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:12 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:12 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:15 +#: ../../source/learn/intrinsics/_pages/RADIX.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:12 +#: ../../source/learn/intrinsics/_pages/RANGE.md:18 +#: ../../source/learn/intrinsics/_pages/REAL.md:11 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:16 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:12 +#: ../../source/learn/intrinsics/_pages/SCALE.md:15 +#: ../../source/learn/intrinsics/_pages/SCAN.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/SIN.md:17 +#: ../../source/learn/intrinsics/_pages/SINH.md:17 +#: ../../source/learn/intrinsics/_pages/SPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:18 +#: ../../source/learn/intrinsics/_pages/SQRT.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:12 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:18 +#: ../../source/learn/intrinsics/_pages/TAN.md:12 +#: ../../source/learn/intrinsics/_pages/TANH.md:12 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:13 +#: ../../source/learn/intrinsics/_pages/TINY.md:16 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:12 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:12 +#: ../../source/learn/intrinsics/_pages/TRIM.md:12 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:12 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:18 +msgid "__Description__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:13 +msgid "" +"The elemental function __merge__(3) selects values from two arrays or " +"scalars according to a logical mask. The result is equal to an element of" +" __tsource__ where the corresponding element of __mask__ is __.true.__, " +"or an element of __fsource__ when it is .false. ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:18 +msgid "Multi-dimensional arrays are supported." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:20 +msgid "" +"Note that argument expressions to __merge__(3) are not required to be " +"short-circuited so (as an example) if the array __x__ contains zero " +"values in the statement below the standard does not prevent floating " +"point divide by zero being generated; as __1.0/x__ may be evaluated for " +"all values of __x__ before the mask is used to select which value to " +"retain:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:30 +msgid "" +"Note the compiler is also free to short-circuit or to generate an " +"infinity so this may work in many programming environments but is not " +"recommended." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:34 +msgid "" +"For cases like this one may instead use masked assignment via the " +"__where__ construct:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:45 +msgid "instead of the more obscure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:34 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/ACOS.md:21 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:20 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:21 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:20 +#: ../../source/learn/intrinsics/_pages/AINT.md:29 +#: ../../source/learn/intrinsics/_pages/ANINT.md:16 +#: ../../source/learn/intrinsics/_pages/ASIN.md:25 +#: ../../source/learn/intrinsics/_pages/ASINH.md:22 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:17 +#: ../../source/learn/intrinsics/_pages/ATAN.md:22 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:23 +#: ../../source/learn/intrinsics/_pages/ATANH.md:16 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:21 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:23 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:23 +#: ../../source/learn/intrinsics/_pages/BGE.md:17 +#: ../../source/learn/intrinsics/_pages/BGT.md:16 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:22 +#: ../../source/learn/intrinsics/_pages/BLE.md:16 +#: ../../source/learn/intrinsics/_pages/BLT.md:16 +#: ../../source/learn/intrinsics/_pages/BTEST.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:20 +#: ../../source/learn/intrinsics/_pages/CHAR.md:20 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:101 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:19 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:16 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:19 +#: ../../source/learn/intrinsics/_pages/CONJG.md:30 +#: ../../source/learn/intrinsics/_pages/COS.md:25 +#: ../../source/learn/intrinsics/_pages/COSH.md:23 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:21 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:23 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:27 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:23 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:18 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:17 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:23 +#: ../../source/learn/intrinsics/_pages/DBLE.md:22 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:24 +#: ../../source/learn/intrinsics/_pages/DIM.md:22 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:18 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:18 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:30 +#: ../../source/learn/intrinsics/_pages/ERF.md:19 +#: ../../source/learn/intrinsics/_pages/ERFC.md:35 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:22 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:20 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/EXP.md:27 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:23 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:18 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:23 +#: ../../source/learn/intrinsics/_pages/HUGE.md:23 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:17 +#: ../../source/learn/intrinsics/_pages/IALL.md:21 +#: ../../source/learn/intrinsics/_pages/IAND.md:16 +#: ../../source/learn/intrinsics/_pages/IANY.md:21 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:16 +#: ../../source/learn/intrinsics/_pages/IBITS.md:19 +#: ../../source/learn/intrinsics/_pages/IBSET.md:16 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:16 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:16 +#: ../../source/learn/intrinsics/_pages/INDEX.md:24 +#: ../../source/learn/intrinsics/_pages/INT.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:18 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:21 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:22 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:22 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:23 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:19 +#: ../../source/learn/intrinsics/_pages/KIND.md:16 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:16 +#: ../../source/learn/intrinsics/_pages/LEN.md:29 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:20 +#: ../../source/learn/intrinsics/_pages/LGE.md:26 +#: ../../source/learn/intrinsics/_pages/LGT.md:26 +#: ../../source/learn/intrinsics/_pages/LLE.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:26 +#: ../../source/learn/intrinsics/_pages/LOG.md:17 +#: ../../source/learn/intrinsics/_pages/LOG10.md:19 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:20 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:16 +#: ../../source/learn/intrinsics/_pages/MASKL.md:19 +#: ../../source/learn/intrinsics/_pages/MASKR.md:19 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:16 +#: ../../source/learn/intrinsics/_pages/MAX.md:15 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MERGE.md:51 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:43 +#: ../../source/learn/intrinsics/_pages/MIN.md:16 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MOD.md:16 +#: ../../source/learn/intrinsics/_pages/MODULO.md:16 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:17 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:17 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:35 +#: ../../source/learn/intrinsics/_pages/NINT.md:27 +#: ../../source/learn/intrinsics/_pages/NORM2.md:22 +#: ../../source/learn/intrinsics/_pages/NOT.md:14 +#: ../../source/learn/intrinsics/_pages/NULL.md:22 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:16 +#: ../../source/learn/intrinsics/_pages/PACK.md:28 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:17 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:17 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:17 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:16 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:17 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:23 +#: ../../source/learn/intrinsics/_pages/REAL.md:15 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:16 +#: ../../source/learn/intrinsics/_pages/SCALE.md:19 +#: ../../source/learn/intrinsics/_pages/SCAN.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:20 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:19 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:18 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:19 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:26 +#: ../../source/learn/intrinsics/_pages/SINH.md:28 +#: ../../source/learn/intrinsics/_pages/SPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:26 +#: ../../source/learn/intrinsics/_pages/SQRT.md:41 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:16 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:40 +#: ../../source/learn/intrinsics/_pages/TAN.md:16 +#: ../../source/learn/intrinsics/_pages/TANH.md:16 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:17 +#: ../../source/learn/intrinsics/_pages/TINY.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:16 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:21 +#: ../../source/learn/intrinsics/_pages/TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:16 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:40 +msgid "__Arguments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:53 +msgid "__tsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:54 +msgid "May be of any type, including user-defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:56 +msgid "__fsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:57 +msgid "Shall be of the same type and type parameters as __tsource__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:30 +#: ../../source/learn/intrinsics/_pages/IANY.md:30 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:30 +#: ../../source/learn/intrinsics/_pages/MERGE.md:59 +#: ../../source/learn/intrinsics/_pages/PACK.md:33 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:22 +msgid "__mask__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:60 +msgid "Shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:62 +msgid "Note that (currently) _character_ values must be of the same length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:40 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:41 +#: ../../source/learn/intrinsics/_pages/ACOS.md:27 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:27 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:25 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:26 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:25 +#: ../../source/learn/intrinsics/_pages/AINT.md:38 +#: ../../source/learn/intrinsics/_pages/ANINT.md:25 +#: ../../source/learn/intrinsics/_pages/ASIN.md:31 +#: ../../source/learn/intrinsics/_pages/ASINH.md:27 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN.md:32 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:32 +#: ../../source/learn/intrinsics/_pages/ATANH.md:21 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:38 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:38 +#: ../../source/learn/intrinsics/_pages/BGE.md:25 +#: ../../source/learn/intrinsics/_pages/BGT.md:25 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:29 +#: ../../source/learn/intrinsics/_pages/BLE.md:24 +#: ../../source/learn/intrinsics/_pages/BLT.md:24 +#: ../../source/learn/intrinsics/_pages/BTEST.md:32 +#: ../../source/learn/intrinsics/_pages/CEILING.md:29 +#: ../../source/learn/intrinsics/_pages/CHAR.md:29 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:114 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:23 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:20 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:23 +#: ../../source/learn/intrinsics/_pages/CONJG.md:35 +#: ../../source/learn/intrinsics/_pages/COS.md:31 +#: ../../source/learn/intrinsics/_pages/COSH.md:28 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:31 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:34 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:26 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:21 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:24 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:22 +#: ../../source/learn/intrinsics/_pages/DBLE.md:27 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:29 +#: ../../source/learn/intrinsics/_pages/DIM.md:30 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:32 +#: ../../source/learn/intrinsics/_pages/DPROD.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:29 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:47 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:24 +#: ../../source/learn/intrinsics/_pages/ERFC.md:40 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:27 +#: ../../source/learn/intrinsics/_pages/EXP.md:32 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:27 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:32 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:23 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:28 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:27 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:32 +#: ../../source/learn/intrinsics/_pages/HUGE.md:30 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:34 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IALL.md:34 +#: ../../source/learn/intrinsics/_pages/IAND.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:34 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:27 +#: ../../source/learn/intrinsics/_pages/IBITS.md:31 +#: ../../source/learn/intrinsics/_pages/IBSET.md:27 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:35 +#: ../../source/learn/intrinsics/_pages/IEOR.md:24 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:25 +#: ../../source/learn/intrinsics/_pages/INDEX.md:40 +#: ../../source/learn/intrinsics/_pages/INT.md:29 +#: ../../source/learn/intrinsics/_pages/IOR.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:30 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:28 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:24 +#: ../../source/learn/intrinsics/_pages/KIND.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:21 +#: ../../source/learn/intrinsics/_pages/LEN.md:38 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:30 +#: ../../source/learn/intrinsics/_pages/LGE.md:34 +#: ../../source/learn/intrinsics/_pages/LGT.md:34 +#: ../../source/learn/intrinsics/_pages/LLE.md:43 +#: ../../source/learn/intrinsics/_pages/LLT.md:34 +#: ../../source/learn/intrinsics/_pages/LOG.md:22 +#: ../../source/learn/intrinsics/_pages/LOG10.md:24 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:30 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:21 +#: ../../source/learn/intrinsics/_pages/MASKL.md:29 +#: ../../source/learn/intrinsics/_pages/MASKR.md:29 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:28 +#: ../../source/learn/intrinsics/_pages/MAX.md:23 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MERGE.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:54 +#: ../../source/learn/intrinsics/_pages/MIN.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MOD.md:25 +#: ../../source/learn/intrinsics/_pages/MODULO.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:25 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/NINT.md:37 +#: ../../source/learn/intrinsics/_pages/NORM2.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:19 +#: ../../source/learn/intrinsics/_pages/NULL.md:28 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:44 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:22 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:22 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:22 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:26 +#: ../../source/learn/intrinsics/_pages/RADIX.md:21 +#: ../../source/learn/intrinsics/_pages/RANGE.md:28 +#: ../../source/learn/intrinsics/_pages/REAL.md:24 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:30 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:26 +#: ../../source/learn/intrinsics/_pages/SCALE.md:27 +#: ../../source/learn/intrinsics/_pages/SCAN.md:36 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:33 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/SIN.md:31 +#: ../../source/learn/intrinsics/_pages/SINH.md:33 +#: ../../source/learn/intrinsics/_pages/SPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:39 +#: ../../source/learn/intrinsics/_pages/SQRT.md:47 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/TAN.md:21 +#: ../../source/learn/intrinsics/_pages/TANH.md:21 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:30 +#: ../../source/learn/intrinsics/_pages/TINY.md:26 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:21 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:32 +#: ../../source/learn/intrinsics/_pages/TRIM.md:21 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:28 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:55 +msgid "__Returns__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:66 +msgid "" +"The result is of the same type and type parameters as __tsource__. For " +"any element the result is __tsource__ if __mask__ is true and __fsource__" +" otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:50 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:47 +#: ../../source/learn/intrinsics/_pages/ACOS.md:32 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:36 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:31 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:32 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:30 +#: ../../source/learn/intrinsics/_pages/AINT.md:47 +#: ../../source/learn/intrinsics/_pages/ANINT.md:33 +#: ../../source/learn/intrinsics/_pages/ASIN.md:38 +#: ../../source/learn/intrinsics/_pages/ASINH.md:33 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:64 +#: ../../source/learn/intrinsics/_pages/ATAN.md:40 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:43 +#: ../../source/learn/intrinsics/_pages/ATANH.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:44 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:35 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:42 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:33 +#: ../../source/learn/intrinsics/_pages/BTEST.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:37 +#: ../../source/learn/intrinsics/_pages/CHAR.md:33 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:120 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:29 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:26 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:28 +#: ../../source/learn/intrinsics/_pages/CONJG.md:39 +#: ../../source/learn/intrinsics/_pages/COS.md:38 +#: ../../source/learn/intrinsics/_pages/COSH.md:36 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:40 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:57 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:40 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:44 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:32 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:26 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:30 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:25 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:29 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:32 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:55 +#: ../../source/learn/intrinsics/_pages/DBLE.md:33 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:33 +#: ../../source/learn/intrinsics/_pages/DIM.md:34 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:38 +#: ../../source/learn/intrinsics/_pages/DPROD.md:43 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:51 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:39 +#: ../../source/learn/intrinsics/_pages/ERF.md:29 +#: ../../source/learn/intrinsics/_pages/ERFC.md:47 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:31 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:33 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:75 +#: ../../source/learn/intrinsics/_pages/EXP.md:38 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:43 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:40 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:29 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:32 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:44 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:54 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:63 +#: ../../source/learn/intrinsics/_pages/HUGE.md:35 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:41 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/IALL.md:43 +#: ../../source/learn/intrinsics/_pages/IAND.md:29 +#: ../../source/learn/intrinsics/_pages/IANY.md:43 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:40 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/INT.md:51 +#: ../../source/learn/intrinsics/_pages/IOR.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:43 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:30 +#: ../../source/learn/intrinsics/_pages/KIND.md:26 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:47 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:49 +#: ../../source/learn/intrinsics/_pages/LOG.md:29 +#: ../../source/learn/intrinsics/_pages/LOG10.md:29 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:36 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/MASKL.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:37 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MERGE.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:29 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MOD.md:32 +#: ../../source/learn/intrinsics/_pages/MODULO.md:38 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:26 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:32 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:46 +#: ../../source/learn/intrinsics/_pages/NINT.md:47 +#: ../../source/learn/intrinsics/_pages/NORM2.md:42 +#: ../../source/learn/intrinsics/_pages/NOT.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:32 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:36 +#: ../../source/learn/intrinsics/_pages/PACK.md:50 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:26 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:26 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:31 +#: ../../source/learn/intrinsics/_pages/RADIX.md:26 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:22 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:37 +#: ../../source/learn/intrinsics/_pages/RANGE.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:38 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:34 +#: ../../source/learn/intrinsics/_pages/SCALE.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:41 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:25 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:57 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:31 +#: ../../source/learn/intrinsics/_pages/SIN.md:36 +#: ../../source/learn/intrinsics/_pages/SINH.md:37 +#: ../../source/learn/intrinsics/_pages/SPACING.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:45 +#: ../../source/learn/intrinsics/_pages/SQRT.md:52 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:31 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:60 +#: ../../source/learn/intrinsics/_pages/TAN.md:25 +#: ../../source/learn/intrinsics/_pages/TANH.md:30 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:44 +#: ../../source/learn/intrinsics/_pages/TINY.md:32 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:26 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:51 +#: ../../source/learn/intrinsics/_pages/TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:33 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:60 +msgid "__Examples__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:71 +msgid "The value of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:77 +msgid "is 1.0 for K=5 and 0.0 for K=__-2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE.md:126 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:41 +msgid "Expected Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:121 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:149 +#: ../../source/learn/intrinsics/_pages/ACOS.md:59 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:53 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:58 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:71 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:60 +#: ../../source/learn/intrinsics/_pages/AINT.md:79 +#: ../../source/learn/intrinsics/_pages/ANINT.md:69 +#: ../../source/learn/intrinsics/_pages/ASIN.md:88 +#: ../../source/learn/intrinsics/_pages/ASINH.md:52 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:80 +#: ../../source/learn/intrinsics/_pages/ATAN.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:61 +#: ../../source/learn/intrinsics/_pages/ATANH.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:53 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:48 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:46 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:59 +#: ../../source/learn/intrinsics/_pages/BGE.md:29 +#: ../../source/learn/intrinsics/_pages/BGT.md:31 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:64 +#: ../../source/learn/intrinsics/_pages/BLE.md:28 +#: ../../source/learn/intrinsics/_pages/BLT.md:28 +#: ../../source/learn/intrinsics/_pages/BTEST.md:114 +#: ../../source/learn/intrinsics/_pages/CEILING.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:56 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:161 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:50 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:53 +#: ../../source/learn/intrinsics/_pages/CONJG.md:96 +#: ../../source/learn/intrinsics/_pages/COS.md:65 +#: ../../source/learn/intrinsics/_pages/COSH.md:50 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:60 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:56 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:90 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:61 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:65 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:67 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:53 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:51 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:44 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:51 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:97 +#: ../../source/learn/intrinsics/_pages/DBLE.md:50 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:57 +#: ../../source/learn/intrinsics/_pages/DIM.md:62 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:63 +#: ../../source/learn/intrinsics/_pages/DPROD.md:82 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:80 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:106 +#: ../../source/learn/intrinsics/_pages/ERF.md:46 +#: ../../source/learn/intrinsics/_pages/ERFC.md:64 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:48 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:52 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:101 +#: ../../source/learn/intrinsics/_pages/EXP.md:82 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:45 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:75 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:45 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:118 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:77 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:119 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:85 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:91 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IALL.md:66 +#: ../../source/learn/intrinsics/_pages/IAND.md:45 +#: ../../source/learn/intrinsics/_pages/IANY.md:64 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:31 +#: ../../source/learn/intrinsics/_pages/IBITS.md:35 +#: ../../source/learn/intrinsics/_pages/IBSET.md:31 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:101 +#: ../../source/learn/intrinsics/_pages/IEOR.md:29 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:44 +#: ../../source/learn/intrinsics/_pages/INDEX.md:68 +#: ../../source/learn/intrinsics/_pages/INT.md:112 +#: ../../source/learn/intrinsics/_pages/IOR.md:54 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:63 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:38 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:59 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:47 +#: ../../source/learn/intrinsics/_pages/KIND.md:46 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:120 +#: ../../source/learn/intrinsics/_pages/LEN.md:43 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:67 +#: ../../source/learn/intrinsics/_pages/LGE.md:39 +#: ../../source/learn/intrinsics/_pages/LGT.md:39 +#: ../../source/learn/intrinsics/_pages/LLE.md:85 +#: ../../source/learn/intrinsics/_pages/LLT.md:39 +#: ../../source/learn/intrinsics/_pages/LOG.md:47 +#: ../../source/learn/intrinsics/_pages/LOG10.md:55 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:59 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:40 +#: ../../source/learn/intrinsics/_pages/MASKL.md:87 +#: ../../source/learn/intrinsics/_pages/MASKR.md:96 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:34 +#: ../../source/learn/intrinsics/_pages/MAX.md:109 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MERGE.md:145 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:113 +#: ../../source/learn/intrinsics/_pages/MIN.md:46 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MOD.md:70 +#: ../../source/learn/intrinsics/_pages/MODULO.md:64 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:64 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:128 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:61 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:72 +#: ../../source/learn/intrinsics/_pages/NINT.md:110 +#: ../../source/learn/intrinsics/_pages/NORM2.md:81 +#: ../../source/learn/intrinsics/_pages/NOT.md:46 +#: ../../source/learn/intrinsics/_pages/NULL.md:110 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:57 +#: ../../source/learn/intrinsics/_pages/PACK.md:100 +#: ../../source/learn/intrinsics/_pages/PARITY.md:59 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:52 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:53 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:46 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:57 +#: ../../source/learn/intrinsics/_pages/RADIX.md:45 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:81 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:60 +#: ../../source/learn/intrinsics/_pages/RANGE.md:52 +#: ../../source/learn/intrinsics/_pages/REAL.md:65 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:58 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:27 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:31 +#: ../../source/learn/intrinsics/_pages/SCALE.md:51 +#: ../../source/learn/intrinsics/_pages/SCAN.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:55 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:49 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:82 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:31 +#: ../../source/learn/intrinsics/_pages/SIGN.md:72 +#: ../../source/learn/intrinsics/_pages/SIN.md:121 +#: ../../source/learn/intrinsics/_pages/SINH.md:81 +#: ../../source/learn/intrinsics/_pages/SPACING.md:45 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:116 +#: ../../source/learn/intrinsics/_pages/SQRT.md:85 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:53 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:94 +#: ../../source/learn/intrinsics/_pages/TAN.md:42 +#: ../../source/learn/intrinsics/_pages/TANH.md:47 +#: ../../source/learn/intrinsics/_pages/TINY.md:48 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:104 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:101 +#: ../../source/learn/intrinsics/_pages/TRIM.md:50 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:55 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:243 +msgid "__Standard__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:60 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:73 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:82 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:66 +#: ../../source/learn/intrinsics/_pages/BTEST.md:116 +#: ../../source/learn/intrinsics/_pages/CEILING.md:65 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:67 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:69 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:99 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:65 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:82 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:108 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:77 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:47 +#: ../../source/learn/intrinsics/_pages/HUGE.md:87 +#: ../../source/learn/intrinsics/_pages/IAND.md:47 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:33 +#: ../../source/learn/intrinsics/_pages/IBITS.md:37 +#: ../../source/learn/intrinsics/_pages/IBSET.md:33 +#: ../../source/learn/intrinsics/_pages/IEOR.md:31 +#: ../../source/learn/intrinsics/_pages/IOR.md:56 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:36 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:40 +#: ../../source/learn/intrinsics/_pages/KIND.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:36 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MERGE.md:147 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MODULO.md:66 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:130 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:63 +#: ../../source/learn/intrinsics/_pages/NOT.md:48 +#: ../../source/learn/intrinsics/_pages/NULL.md:112 +#: ../../source/learn/intrinsics/_pages/PACK.md:102 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:48 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:59 +#: ../../source/learn/intrinsics/_pages/RADIX.md:47 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:83 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:62 +#: ../../source/learn/intrinsics/_pages/RANGE.md:54 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:60 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:29 +#: ../../source/learn/intrinsics/_pages/SCALE.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:51 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/SPACING.md:47 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:118 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:96 +#: ../../source/learn/intrinsics/_pages/TINY.md:50 +#: ../../source/learn/intrinsics/_pages/TRIM.md:52 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:57 +msgid "Fortran 95 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:153 +#: ../../source/learn/intrinsics/_pages/ACOS.md:62 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:57 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:75 +#: ../../source/learn/intrinsics/_pages/AINT.md:83 +#: ../../source/learn/intrinsics/_pages/ANINT.md:73 +#: ../../source/learn/intrinsics/_pages/ASIN.md:92 +#: ../../source/learn/intrinsics/_pages/ASINH.md:56 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:84 +#: ../../source/learn/intrinsics/_pages/ATAN.md:76 +#: ../../source/learn/intrinsics/_pages/ATANH.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:61 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:50 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:65 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:63 +#: ../../source/learn/intrinsics/_pages/BGE.md:33 +#: ../../source/learn/intrinsics/_pages/BGT.md:35 +#: ../../source/learn/intrinsics/_pages/BLE.md:32 +#: ../../source/learn/intrinsics/_pages/BLT.md:32 +#: ../../source/learn/intrinsics/_pages/BTEST.md:118 +#: ../../source/learn/intrinsics/_pages/CEILING.md:67 +#: ../../source/learn/intrinsics/_pages/CHAR.md:60 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:151 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:58 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:57 +#: ../../source/learn/intrinsics/_pages/COS.md:69 +#: ../../source/learn/intrinsics/_pages/COSH.md:54 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:54 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:64 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:60 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:94 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:65 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:69 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:57 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:57 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:48 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:55 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:101 +#: ../../source/learn/intrinsics/_pages/DBLE.md:54 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:61 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:37 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:37 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:110 +#: ../../source/learn/intrinsics/_pages/EXP.md:86 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:79 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:49 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:122 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:81 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:89 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IALL.md:70 +#: ../../source/learn/intrinsics/_pages/IAND.md:49 +#: ../../source/learn/intrinsics/_pages/IANY.md:68 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:35 +#: ../../source/learn/intrinsics/_pages/IBITS.md:39 +#: ../../source/learn/intrinsics/_pages/IBSET.md:35 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:105 +#: ../../source/learn/intrinsics/_pages/IEOR.md:33 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:48 +#: ../../source/learn/intrinsics/_pages/INDEX.md:73 +#: ../../source/learn/intrinsics/_pages/INT.md:116 +#: ../../source/learn/intrinsics/_pages/IOR.md:58 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:67 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:42 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:124 +#: ../../source/learn/intrinsics/_pages/LEN.md:108 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:72 +#: ../../source/learn/intrinsics/_pages/LGE.md:43 +#: ../../source/learn/intrinsics/_pages/LGT.md:43 +#: ../../source/learn/intrinsics/_pages/LLE.md:89 +#: ../../source/learn/intrinsics/_pages/LLT.md:43 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:63 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:44 +#: ../../source/learn/intrinsics/_pages/MASKL.md:91 +#: ../../source/learn/intrinsics/_pages/MASKR.md:100 +#: ../../source/learn/intrinsics/_pages/MAX.md:113 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MERGE.md:149 +#: ../../source/learn/intrinsics/_pages/MIN.md:50 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MOD.md:74 +#: ../../source/learn/intrinsics/_pages/MODULO.md:68 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:68 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:132 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:65 +#: ../../source/learn/intrinsics/_pages/NINT.md:114 +#: ../../source/learn/intrinsics/_pages/NORM2.md:85 +#: ../../source/learn/intrinsics/_pages/NOT.md:50 +#: ../../source/learn/intrinsics/_pages/NULL.md:114 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:61 +#: ../../source/learn/intrinsics/_pages/PACK.md:104 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:56 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:57 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:50 +#: ../../source/learn/intrinsics/_pages/RADIX.md:49 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:85 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:64 +#: ../../source/learn/intrinsics/_pages/RANGE.md:56 +#: ../../source/learn/intrinsics/_pages/REAL.md:69 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:62 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:31 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:35 +#: ../../source/learn/intrinsics/_pages/SCALE.md:55 +#: ../../source/learn/intrinsics/_pages/SCAN.md:63 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:86 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:51 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:37 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/SIN.md:125 +#: ../../source/learn/intrinsics/_pages/SINH.md:85 +#: ../../source/learn/intrinsics/_pages/SPACING.md:49 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:120 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:57 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:98 +#: ../../source/learn/intrinsics/_pages/TAN.md:46 +#: ../../source/learn/intrinsics/_pages/TANH.md:51 +#: ../../source/learn/intrinsics/_pages/TINY.md:52 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:108 +#: ../../source/learn/intrinsics/_pages/TRIM.md:54 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:59 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:247 +msgid "__See Also__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:151 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:125 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:165 +#: ../../source/learn/intrinsics/_pages/ACOS.md:68 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:66 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:79 +#: ../../source/learn/intrinsics/_pages/ASIN.md:98 +#: ../../source/learn/intrinsics/_pages/ATAN.md:82 +#: ../../source/learn/intrinsics/_pages/BTEST.md:131 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:63 +#: ../../source/learn/intrinsics/_pages/CONJG.md:100 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:74 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:113 +#: ../../source/learn/intrinsics/_pages/DBLE.md:59 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:79 +#: ../../source/learn/intrinsics/_pages/DIM.md:66 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:128 +#: ../../source/learn/intrinsics/_pages/EXP.md:94 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:90 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:128 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:127 +#: ../../source/learn/intrinsics/_pages/HUGE.md:107 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:63 +#: ../../source/learn/intrinsics/_pages/LEN.md:129 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:89 +#: ../../source/learn/intrinsics/_pages/MASKL.md:95 +#: ../../source/learn/intrinsics/_pages/MASKR.md:104 +#: ../../source/learn/intrinsics/_pages/MERGE.md:157 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:76 +#: ../../source/learn/intrinsics/_pages/NINT.md:123 +#: ../../source/learn/intrinsics/_pages/NOT.md:60 +#: ../../source/learn/intrinsics/_pages/PACK.md:112 +#: ../../source/learn/intrinsics/_pages/SIN.md:132 +#: ../../source/learn/intrinsics/_pages/SQRT.md:89 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:115 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:265 +msgid "####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:2 +msgid "pack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:5 +msgid "" +"__pack__(3) - \\[ARRAY CONSTRUCTION\\] Pack an array into an array of " +"rank one" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:16 +msgid "" +"where TYPE(kind=KIND) may be any type, where __array__ and __vector__ " +"and the returned value must by of the same type. __mask__ may be a " +"scalar as well an an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:22 +msgid "Stores the elements of ARRAY in an array of rank one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:24 +msgid "" +"The beginning of the resulting array is made up of elements whose " +"__mask__ equals __.true.__. Afterwards, positions are filled with " +"elements taken from __vector__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:25 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:35 +#: ../../source/learn/intrinsics/_pages/IALL.md:23 +#: ../../source/learn/intrinsics/_pages/IANY.md:23 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:23 +#: ../../source/learn/intrinsics/_pages/NORM2.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:30 +msgid "__array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:26 +#: ../../source/learn/intrinsics/_pages/PACK.md:31 +msgid "Shall be an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:34 +msgid "" +"Shall be an array of type _logical_ and of the same size as __array__. " +"Alternatively, it may be a _logical_ scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:37 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:18 +msgid "__vector__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:38 +msgid "" +"(Optional) shall be an array of the same type as __array__ and of rank " +"one. If present, the number of elements in __vector__ shall be equal to " +"or greater than the number of true elements in __mask__. If __mask__ is " +"scalar, the number of elements in __vector__ shall be equal to or greater" +" than the number of elements in __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:46 +msgid "" +"The result is an array of rank one and the same type as that of " +"__array__. If __vector__ is present, the result size is that of " +"__vector__, the number of __.true.__ values in __mask__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:52 +#: ../../source/learn/intrinsics/_pages/ACOS.md:33 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:38 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:33 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:34 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:32 +#: ../../source/learn/intrinsics/_pages/AINT.md:49 +#: ../../source/learn/intrinsics/_pages/ANINT.md:35 +#: ../../source/learn/intrinsics/_pages/ASINH.md:35 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:66 +#: ../../source/learn/intrinsics/_pages/ATAN.md:42 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:45 +#: ../../source/learn/intrinsics/_pages/ATANH.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:43 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:44 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:35 +#: ../../source/learn/intrinsics/_pages/BTEST.md:40 +#: ../../source/learn/intrinsics/_pages/CEILING.md:39 +#: ../../source/learn/intrinsics/_pages/CHAR.md:35 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:122 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:31 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:28 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:30 +#: ../../source/learn/intrinsics/_pages/CONJG.md:41 +#: ../../source/learn/intrinsics/_pages/COS.md:40 +#: ../../source/learn/intrinsics/_pages/COSH.md:38 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:42 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:42 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:59 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:42 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:46 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:40 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:34 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:28 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:32 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:27 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:31 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:34 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:57 +#: ../../source/learn/intrinsics/_pages/DBLE.md:35 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:35 +#: ../../source/learn/intrinsics/_pages/DIM.md:36 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:40 +#: ../../source/learn/intrinsics/_pages/DPROD.md:45 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:53 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:41 +#: ../../source/learn/intrinsics/_pages/ERF.md:31 +#: ../../source/learn/intrinsics/_pages/ERFC.md:49 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:33 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:35 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:77 +#: ../../source/learn/intrinsics/_pages/EXP.md:40 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:42 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:31 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:34 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:56 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:65 +#: ../../source/learn/intrinsics/_pages/HUGE.md:37 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:43 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/IALL.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:45 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:42 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:33 +#: ../../source/learn/intrinsics/_pages/INT.md:53 +#: ../../source/learn/intrinsics/_pages/IOR.md:33 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:45 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:36 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:32 +#: ../../source/learn/intrinsics/_pages/KIND.md:28 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:28 +#: ../../source/learn/intrinsics/_pages/LLE.md:51 +#: ../../source/learn/intrinsics/_pages/LOG.md:31 +#: ../../source/learn/intrinsics/_pages/LOG10.md:31 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:27 +#: ../../source/learn/intrinsics/_pages/MASKL.md:38 +#: ../../source/learn/intrinsics/_pages/MASKR.md:39 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MOD.md:34 +#: ../../source/learn/intrinsics/_pages/MODULO.md:40 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:34 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:48 +#: ../../source/learn/intrinsics/_pages/NINT.md:49 +#: ../../source/learn/intrinsics/_pages/NORM2.md:44 +#: ../../source/learn/intrinsics/_pages/NULL.md:34 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:38 +#: ../../source/learn/intrinsics/_pages/PACK.md:52 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:28 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:31 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:28 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:33 +#: ../../source/learn/intrinsics/_pages/RADIX.md:28 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:24 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:39 +#: ../../source/learn/intrinsics/_pages/RANGE.md:34 +#: ../../source/learn/intrinsics/_pages/REAL.md:40 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:36 +#: ../../source/learn/intrinsics/_pages/SCALE.md:34 +#: ../../source/learn/intrinsics/_pages/SCAN.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:26 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:33 +#: ../../source/learn/intrinsics/_pages/SIN.md:38 +#: ../../source/learn/intrinsics/_pages/SIN.md:83 +#: ../../source/learn/intrinsics/_pages/SINH.md:39 +#: ../../source/learn/intrinsics/_pages/SPACING.md:28 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:47 +#: ../../source/learn/intrinsics/_pages/SQRT.md:54 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:62 +#: ../../source/learn/intrinsics/_pages/TAN.md:27 +#: ../../source/learn/intrinsics/_pages/TANH.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:46 +#: ../../source/learn/intrinsics/_pages/TINY.md:34 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:53 +#: ../../source/learn/intrinsics/_pages/TRIM.md:28 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:35 +msgid "Sample program:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:103 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:92 +#: ../../source/learn/intrinsics/_pages/ACOS.md:51 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:48 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:52 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:62 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:51 +#: ../../source/learn/intrinsics/_pages/AINT.md:70 +#: ../../source/learn/intrinsics/_pages/ANINT.md:59 +#: ../../source/learn/intrinsics/_pages/ASIN.md:71 +#: ../../source/learn/intrinsics/_pages/ASINH.md:47 +#: ../../source/learn/intrinsics/_pages/ATAN.md:63 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:56 +#: ../../source/learn/intrinsics/_pages/ATANH.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:56 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:55 +#: ../../source/learn/intrinsics/_pages/BTEST.md:83 +#: ../../source/learn/intrinsics/_pages/CEILING.md:55 +#: ../../source/learn/intrinsics/_pages/CHAR.md:46 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:41 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:43 +#: ../../source/learn/intrinsics/_pages/CONJG.md:78 +#: ../../source/learn/intrinsics/_pages/COS.md:55 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:56 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:61 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:44 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:85 +#: ../../source/learn/intrinsics/_pages/DBLE.md:46 +#: ../../source/learn/intrinsics/_pages/DIM.md:54 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:55 +#: ../../source/learn/intrinsics/_pages/DPROD.md:75 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:70 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:94 +#: ../../source/learn/intrinsics/_pages/ERF.md:42 +#: ../../source/learn/intrinsics/_pages/ERFC.md:60 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:43 +#: ../../source/learn/intrinsics/_pages/EXP.md:73 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:40 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:64 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:41 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:64 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:107 +#: ../../source/learn/intrinsics/_pages/HUGE.md:65 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:60 +#: ../../source/learn/intrinsics/_pages/IALL.md:61 +#: ../../source/learn/intrinsics/_pages/IAND.md:41 +#: ../../source/learn/intrinsics/_pages/IANY.md:58 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:96 +#: ../../source/learn/intrinsics/_pages/IOR.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:57 +#: ../../source/learn/intrinsics/_pages/KIND.md:41 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:50 +#: ../../source/learn/intrinsics/_pages/LEN.md:105 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:59 +#: ../../source/learn/intrinsics/_pages/LLE.md:70 +#: ../../source/learn/intrinsics/_pages/LOG.md:42 +#: ../../source/learn/intrinsics/_pages/LOG10.md:49 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:51 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:36 +#: ../../source/learn/intrinsics/_pages/MASKL.md:49 +#: ../../source/learn/intrinsics/_pages/MASKR.md:54 +#: ../../source/learn/intrinsics/_pages/MAX.md:100 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:41 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:103 +#: ../../source/learn/intrinsics/_pages/MIN.md:40 +#: ../../source/learn/intrinsics/_pages/MOD.md:55 +#: ../../source/learn/intrinsics/_pages/MODULO.md:55 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:59 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:57 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:64 +#: ../../source/learn/intrinsics/_pages/NINT.md:91 +#: ../../source/learn/intrinsics/_pages/NORM2.md:68 +#: ../../source/learn/intrinsics/_pages/NOT.md:39 +#: ../../source/learn/intrinsics/_pages/NULL.md:103 +#: ../../source/learn/intrinsics/_pages/PACK.md:93 +#: ../../source/learn/intrinsics/_pages/PARITY.md:55 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:43 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:45 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:41 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:52 +#: ../../source/learn/intrinsics/_pages/RADIX.md:38 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:54 +#: ../../source/learn/intrinsics/_pages/RANGE.md:46 +#: ../../source/learn/intrinsics/_pages/REAL.md:57 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:52 +#: ../../source/learn/intrinsics/_pages/SCALE.md:45 +#: ../../source/learn/intrinsics/_pages/SCAN.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:50 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:76 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:43 +#: ../../source/learn/intrinsics/_pages/SIGN.md:64 +#: ../../source/learn/intrinsics/_pages/SIN.md:115 +#: ../../source/learn/intrinsics/_pages/SINH.md:72 +#: ../../source/learn/intrinsics/_pages/SPACING.md:40 +#: ../../source/learn/intrinsics/_pages/SQRT.md:78 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:45 +#: ../../source/learn/intrinsics/_pages/TAN.md:38 +#: ../../source/learn/intrinsics/_pages/TANH.md:43 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:62 +#: ../../source/learn/intrinsics/_pages/TINY.md:43 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:63 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:73 +#: ../../source/learn/intrinsics/_pages/TRIM.md:43 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:50 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:125 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:181 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:236 +msgid "Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:106 +msgid "" +"[__unpack__(3)](UNPACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:2 +msgid "spread" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:5 +msgid "__spread__(3) - \\[ARRAY CONSTRUCTION\\] Add a dimension to an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:20 +msgid "" +"Replicates a __source__ array __ncopies__ times along a specified " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:23 +msgid "" +"If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). and " +"each element of the result has a value equal to SOURCE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:23 +msgid "__source__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:29 +msgid "Shall be a scalar or an array of any type and a rank less than fifteen." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:31 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:44 +#: ../../source/learn/intrinsics/_pages/IALL.md:26 +#: ../../source/learn/intrinsics/_pages/IANY.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:26 +#: ../../source/learn/intrinsics/_pages/NORM2.md:27 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:26 +msgid "__dim__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:33 +msgid "" +"Shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __n+1__, where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:36 +msgid "__ncopies__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:37 +msgid "Shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:41 +msgid "" +"The result is an array of the same type as __source__ and has rank " +"__n+1__ where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:122 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__merge__(3)](MERGE), " +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:64 +#: ../../source/learn/intrinsics/_pages/AINT.md:92 +#: ../../source/learn/intrinsics/_pages/ANINT.md:82 +#: ../../source/learn/intrinsics/_pages/ASINH.md:61 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:88 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:65 +#: ../../source/learn/intrinsics/_pages/ATANH.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:60 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:63 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:71 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:58 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:73 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:71 +#: ../../source/learn/intrinsics/_pages/BGE.md:39 +#: ../../source/learn/intrinsics/_pages/BGT.md:41 +#: ../../source/learn/intrinsics/_pages/BLE.md:38 +#: ../../source/learn/intrinsics/_pages/BLT.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:78 +#: ../../source/learn/intrinsics/_pages/CHAR.md:78 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:165 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:59 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:62 +#: ../../source/learn/intrinsics/_pages/COS.md:76 +#: ../../source/learn/intrinsics/_pages/COSH.md:59 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:61 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:46 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:71 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:67 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:101 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:72 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:47 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:71 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:63 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:70 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:63 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:67 +#: ../../source/learn/intrinsics/_pages/DPROD.md:86 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:41 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:41 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:84 +#: ../../source/learn/intrinsics/_pages/ERF.md:56 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:52 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:56 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:105 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:45 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:68 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:128 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:91 +#: ../../source/learn/intrinsics/_pages/IALL.md:76 +#: ../../source/learn/intrinsics/_pages/IAND.md:62 +#: ../../source/learn/intrinsics/_pages/IANY.md:74 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:48 +#: ../../source/learn/intrinsics/_pages/IBITS.md:53 +#: ../../source/learn/intrinsics/_pages/IBSET.md:48 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:128 +#: ../../source/learn/intrinsics/_pages/IEOR.md:46 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:53 +#: ../../source/learn/intrinsics/_pages/INDEX.md:87 +#: ../../source/learn/intrinsics/_pages/IOR.md:71 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:74 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:42 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:46 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:51 +#: ../../source/learn/intrinsics/_pages/KIND.md:50 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:131 +#: ../../source/learn/intrinsics/_pages/LGE.md:64 +#: ../../source/learn/intrinsics/_pages/LGT.md:66 +#: ../../source/learn/intrinsics/_pages/LLE.md:112 +#: ../../source/learn/intrinsics/_pages/LLT.md:61 +#: ../../source/learn/intrinsics/_pages/LOG.md:51 +#: ../../source/learn/intrinsics/_pages/LOG10.md:59 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:69 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:38 +#: ../../source/learn/intrinsics/_pages/MAX.md:119 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:56 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/MOD.md:78 +#: ../../source/learn/intrinsics/_pages/MODULO.md:72 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:72 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:84 +#: ../../source/learn/intrinsics/_pages/NORM2.md:91 +#: ../../source/learn/intrinsics/_pages/NULL.md:118 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:66 +#: ../../source/learn/intrinsics/_pages/PARITY.md:63 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:62 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:63 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:69 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:61 +#: ../../source/learn/intrinsics/_pages/RADIX.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:89 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:68 +#: ../../source/learn/intrinsics/_pages/RANGE.md:74 +#: ../../source/learn/intrinsics/_pages/REAL.md:74 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:79 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:50 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:39 +#: ../../source/learn/intrinsics/_pages/SCALE.md:74 +#: ../../source/learn/intrinsics/_pages/SCAN.md:77 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:62 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:92 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:70 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:42 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:40 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:40 +#: ../../source/learn/intrinsics/_pages/SINH.md:90 +#: ../../source/learn/intrinsics/_pages/SPACING.md:68 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:128 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:61 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:103 +#: ../../source/learn/intrinsics/_pages/TAN.md:52 +#: ../../source/learn/intrinsics/_pages/TANH.md:56 +#: ../../source/learn/intrinsics/_pages/TINY.md:70 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:105 +#: ../../source/learn/intrinsics/_pages/TRIM.md:73 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:67 +msgid "####### fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:2 +msgid "unpack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:5 +msgid "" +"__unpack__(3) - \\[ARRAY CONSTRUCTION\\] Store the elements of a vector " +"in an array of higher rank" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:14 +msgid "Store the elements of __vector__ in an array of higher rank." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:19 +msgid "" +"Shall be an array of any type and rank one. It shall have at least as " +"many elements as __mask__ has __.true.__ values." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:23 +msgid "Shall be an array of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:25 +msgid "__field__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:26 +msgid "" +"Shall be of the same type as __vector__ and have the same shape as " +"__mask__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:30 +msgid "" +"The resulting array corresponds to __field__ with __.true.__ elements of " +"__mask__ replaced by values from __vector__ in array element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:61 +msgid "" +"[__pack__(3)](PACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/BIT_index.md:1 +msgid "Bit-level inquiry and manipulation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:2 +msgid "bge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:5 +msgid "__bge__(3) - \\[BIT:COMPARE\\] Bitwise greater than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:14 +msgid "Determines whether an integer is bitwise greater than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/BGE.md:19 +#: ../../source/learn/intrinsics/_pages/BGT.md:18 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/BLE.md:18 +#: ../../source/learn/intrinsics/_pages/BLT.md:18 +#: ../../source/learn/intrinsics/_pages/BTEST.md:23 +#: ../../source/learn/intrinsics/_pages/CHAR.md:22 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:20 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:20 +#: ../../source/learn/intrinsics/_pages/IAND.md:18 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:18 +#: ../../source/learn/intrinsics/_pages/IBITS.md:21 +#: ../../source/learn/intrinsics/_pages/IBSET.md:18 +#: ../../source/learn/intrinsics/_pages/IEOR.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:20 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:24 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:24 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:25 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:18 +#: ../../source/learn/intrinsics/_pages/MASKL.md:21 +#: ../../source/learn/intrinsics/_pages/MASKR.md:21 +#: ../../source/learn/intrinsics/_pages/NOT.md:16 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:19 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:24 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:23 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:18 +msgid "__i__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:20 +#: ../../source/learn/intrinsics/_pages/BLE.md:19 +#: ../../source/learn/intrinsics/_pages/BLT.md:19 +msgid "Shall be of _integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:22 +#: ../../source/learn/intrinsics/_pages/BGT.md:21 +#: ../../source/learn/intrinsics/_pages/BLE.md:21 +#: ../../source/learn/intrinsics/_pages/BLT.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:23 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:23 +#: ../../source/learn/intrinsics/_pages/IAND.md:21 +#: ../../source/learn/intrinsics/_pages/IEOR.md:21 +#: ../../source/learn/intrinsics/_pages/IOR.md:23 +msgid "__j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:23 +#: ../../source/learn/intrinsics/_pages/BLE.md:22 +#: ../../source/learn/intrinsics/_pages/BLT.md:22 +msgid "Shall be of _integer_ type, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:27 +#: ../../source/learn/intrinsics/_pages/BLE.md:26 +#: ../../source/learn/intrinsics/_pages/BLT.md:26 +msgid "The return value is of type _logical_ and of the default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:55 +#: ../../source/learn/intrinsics/_pages/ASINH.md:54 +#: ../../source/learn/intrinsics/_pages/ATANH.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:63 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:61 +#: ../../source/learn/intrinsics/_pages/BGE.md:31 +#: ../../source/learn/intrinsics/_pages/BGT.md:33 +#: ../../source/learn/intrinsics/_pages/BLE.md:30 +#: ../../source/learn/intrinsics/_pages/BLT.md:30 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:48 +#: ../../source/learn/intrinsics/_pages/ERFC.md:66 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:50 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:103 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:120 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:93 +#: ../../source/learn/intrinsics/_pages/IALL.md:68 +#: ../../source/learn/intrinsics/_pages/IANY.md:66 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:65 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:122 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:42 +#: ../../source/learn/intrinsics/_pages/MASKL.md:89 +#: ../../source/learn/intrinsics/_pages/MASKR.md:98 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:115 +#: ../../source/learn/intrinsics/_pages/NORM2.md:83 +#: ../../source/learn/intrinsics/_pages/PARITY.md:61 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:54 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:55 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:55 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:106 +msgid "Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:35 +msgid "[__bgt__(3)](BGT), [__ble__(3)](BLE), [__blt__(3)](BIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:2 +msgid "bgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:5 +msgid "__bgt__(3) - \\[BIT:COMPARE\\] Bitwise greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:14 +msgid "Determines whether an integer is bitwise greater than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:19 +msgid "Shall be of _integer_ type or a BOZ literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:22 +msgid "" +"Shall be of _integer_ type, and of the same kind as __i__; or a BOZ " +"literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:27 +msgid "" +"The return value is of type _logical_ and of the default kind. The result" +" is true if the sequence of bits represented by _i_ is greater than the " +"sequence of bits represented by _j_, otherwise the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:37 +msgid "[__bge__(3),](BGE), [__ble__(3),](BLE), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:2 +msgid "ble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:5 +msgid "__ble__(3) - \\[BIT:COMPARE\\] Bitwise less than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:14 +msgid "Determines whether an integer is bitwise less than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:34 +msgid "[__bge__(3),](BGE), [__bgt__(3),](BGT), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:2 +msgid "blt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:5 +msgid "__blt__(3) - \\[BIT:COMPARE\\] Bitwise less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:14 +msgid "Determines whether an integer is bitwise less than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:34 +msgid "[__bge__(3)](BGE), [__bgt__(3)](BGT), [__ble__(3)](BLE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:2 +msgid "bit\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:5 +msgid "__bit\\_size__(3) - \\[BIT:INQUIRY\\] Bit size inquiry function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:16 +msgid "" +"__bit\\_size(i)__ returns the number of bits (integer precision plus sign" +" bit) represented by the type of the _integer_ __i__. __i__ can be a " +"scalar or an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:25 +msgid "" +"An _integer_ value of any kind to determine the size of in bits. Because " +"only the type of the argument is examined, the argument need not be " +"defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:54 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:143 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:49 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:117 +msgid "Typical Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:68 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:117 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:145 +msgid "####### fortran-lang intrinsic descriptions (license MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:2 +msgid "btest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:5 +msgid "__btest__(3) - \\[BIT:INQUIRY\\] Tests a bit of an _integer_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:15 +msgid "" +"where __KIND__ is any _integer_ kind supported by the programming " +"environment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:19 +msgid "" +"__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in " +"__i__ is set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:24 +#: ../../source/learn/intrinsics/_pages/CHAR.md:23 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:29 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:32 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:39 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:19 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:19 +#: ../../source/learn/intrinsics/_pages/IBITS.md:22 +#: ../../source/learn/intrinsics/_pages/IBITS.md:29 +#: ../../source/learn/intrinsics/_pages/IBSET.md:19 +#: ../../source/learn/intrinsics/_pages/IEOR.md:19 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:28 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:28 +#: ../../source/learn/intrinsics/_pages/NOT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:25 +msgid "The type shall be _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:26 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:21 +#: ../../source/learn/intrinsics/_pages/IBITS.md:24 +#: ../../source/learn/intrinsics/_pages/IBSET.md:21 +msgid "__pos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:27 +msgid "" +"The bit position to query. it must be a valid position for the value " +"__i__; ie. __0 <= pos <= bit_size(i)__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:30 +msgid "A value of zero refers to the least significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:34 +msgid "" +"The result is a _logical_ that has the value __.true.__ if bit " +"position __pos__ of __i__ has the value __1__ and the value " +"__.false.__ if bit __pos__ of __i__ has the value __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:120 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:2 +msgid "storage\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:5 +msgid "__storage\\_size__(3) - \\[BIT:INQUIRY\\] Storage size in bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:14 +msgid "Returns the storage size of argument __a__ in bits." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:36 +#: ../../source/learn/intrinsics/_pages/ANINT.md:18 +#: ../../source/learn/intrinsics/_pages/CEILING.md:22 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:25 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:25 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:25 +#: ../../source/learn/intrinsics/_pages/DBLE.md:24 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:19 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:25 +#: ../../source/learn/intrinsics/_pages/INT.md:20 +#: ../../source/learn/intrinsics/_pages/MOD.md:18 +#: ../../source/learn/intrinsics/_pages/MODULO.md:18 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:21 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:18 +msgid "__a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:19 +msgid "Shall be a scalar or array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:37 +#: ../../source/learn/intrinsics/_pages/AINT.md:34 +#: ../../source/learn/intrinsics/_pages/ANINT.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:25 +#: ../../source/learn/intrinsics/_pages/CHAR.md:25 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:28 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:22 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:36 +#: ../../source/learn/intrinsics/_pages/INT.md:23 +#: ../../source/learn/intrinsics/_pages/LEN.md:34 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKR.md:26 +#: ../../source/learn/intrinsics/_pages/NINT.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:20 +#: ../../source/learn/intrinsics/_pages/SCAN.md:32 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:21 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:51 +msgid "__kind__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:22 +msgid "(Optional) shall be a scalar integer constant expression." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:26 +msgid "" +"The result is a scalar integer with the kind type parameter specified by " +"__kind__ (or default integer type if __kind__ is missing). The result " +"value is the size expressed in bits for an element of an array that has " +"the dynamic type and type parameters of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:49 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:39 +#: ../../source/learn/intrinsics/_pages/MIN.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:25 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:33 +msgid "Sample program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:59 +msgid "[__c\\_sizeof__(3)](C_SIZEOF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:2 +msgid "leadz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:5 +msgid "__leadz__(3) - \\[BIT:COUNT\\] Number of leading zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:14 +msgid "__leadz__ returns the number of leading zero bits of an integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:19 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:20 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:23 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:19 +msgid "Shall be of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:23 +msgid "" +"The type of the return value is the same as a default _integer_. If all " +"the bits of __i__ are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:126 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:2 +msgid "popcnt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:5 +msgid "__popcnt__(3) - \\[BIT:COUNT\\] Number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:14 +msgid "" +"Returns the number of bits set in the binary representation of an " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:24 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:24 +#: ../../source/learn/intrinsics/_pages/RANGE.md:30 +msgid "The return value is of type _integer_ and of the default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:58 +msgid "[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:2 +msgid "poppar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:5 +msgid "__poppar__(3) - \\[BIT:COUNT\\] Parity of the number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:14 +msgid "" +"Returns the parity of an integer's binary representation (i.e., the " +"parity of the number of bits set)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:24 +msgid "" +"The return value is equal to __0__ if __i__ has an even number of bits " +"set and 1 if an odd number of bits are set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:27 +msgid "It is of type _integer_ and of the default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:59 +msgid "[__popcnt__(3)](POPCNT), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:2 +msgid "trailz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:5 +msgid "__trailz__(3) - \\[BIT:COUNT\\] Number of trailing zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:14 +msgid "" +"__trailz(3)__ returns the number of trailing zero bits of an _integer_ " +"value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:23 +msgid "" +"The type of the return value is the default _integer_. If all the bits of" +" I are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:110 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:2 +msgid "dshiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:5 +msgid "__dshiftl__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:14 +msgid "" +"__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost " +"__shift__ bits of the result are the leftmost __shift__ bits of __j__, " +"and the remaining bits are the rightmost bits of __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:24 +msgid "Shall be of type _integer_, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:28 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:26 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:26 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:27 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:26 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:24 +msgid "__shift__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:31 +msgid "The return value has same type and kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:39 +msgid "[__dshiftr__(3)](DSHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:2 +msgid "dshiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:5 +msgid "__dshiftr__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:14 +msgid "" +"__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost " +"__shift__ bits of the result are the rightmost __shift__ bits of __i__, " +"and the remaining bits are the leftmost bits of __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:39 +msgid "[__dshiftl__(3)](DSHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:2 +msgid "merge\\_bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:5 +msgid "__merge\\_bits__(3) - \\[BIT:COPY\\] Merge bits using a mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:15 +msgid "" +"where the result and all input values have the same _integer_ type and " +"KIND with the exception that the mask and either __i__ or __j__ may be a " +"BOZ constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:21 +msgid "" +"A common graphics operation in Ternary Raster Operations is to combine " +"bits from two different sources, generally referred to as bit-blending. " +"__merge\\_bits__ performs a masked bit-blend of __i__ and __j__ using the" +" bits of the __mask__ value to determine which of the input values to " +"copy bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:27 +msgid "" +"Specifically, The k-th bit of the result is equal to the k-th bit of " +"__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit " +"of __j__ otherwise (so all three input values must have the same number " +"of bits)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:32 +msgid "The resulting value is the same as would result from" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:36 +msgid "" +"An exception to all values being of the same _integer_ type is that __i__" +" or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it " +"is either a Binary, Octal, or Hexadecimal literal constant). The BOZ " +"values are converted to the _integer_ type of the non-BOZ value(s) as if " +"called by the intrinsic function __int()__ with the kind of the non-BOZ " +"value(s), so the BOZ values must be in the range of the type of the " +"result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:45 +msgid "" +"__i__ : value to select bits from when the associated bit in the mask is" +" __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:48 +msgid "" +"__j__ : value to select bits from when the associated bit in the mask is " +"__0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:51 +msgid "" +"__mask__ : a value whose bits are used as a mask to select bits from " +"__i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:56 +msgid "" +"The bits blended from __i__ and __j__ using the mask __mask__. It is the " +"same type as __i__ if __i__ is of type _integer_, otherwise the same type" +" as __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:37 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:60 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:54 +msgid "__Example__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:2 +msgid "mvbits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:5 +msgid "" +"__mvbits__(3) - \\[BIT:COPY\\] reproduce bit patterns found in one " +"integer in another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:14 +msgid "" +"__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in " +"the _integer_ __from__ to a specified position in another integer __to__ " +"(which is of the same kind as __from__). It otherwise leaves the bits in" +" __to__ as-is." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:19 +msgid "" +"The bit positions copied must exist within the value of __from__. That " +"is, the values of __frompos+len-1__ and __topos+len-1__ must be " +"nonnegative and less than __bit\\_size__(from)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:23 +msgid "The bits are numbered __0__ to __bit_size(i)-1__, from right to left." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:27 +msgid "__from__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:28 +msgid "An _integer_ to read bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:29 +msgid "__frompos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:30 +msgid "" +"__frompos__ is the position of the first bit to copy. It is a nonnegative" +" _integer_ value < __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:28 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:32 +msgid "__len__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:33 +msgid "" +"A nonnegative _integer_ value that indicates how many bits to copy from " +"__from__. It must not specify copying bits past the end of __from__. That" +" is, __frompos + len__ must be less than or equal to __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:37 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:42 +msgid "__to__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:38 +msgid "" +"The _integer_ variable to place the copied bits into. It must be of the " +"same kind as __from__ and may even be the same variable as __from__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:43 +msgid "" +"is set by copying the sequence of bits of length __len__, starting at " +"position __frompos__ of __from__ to position __topos__ of __to__. No " +"other bits of __to__ are altered. On return, the __len__ bits of __to__ " +"starting at __topos__ are equal to the value that the __len__ bits of " +"__from__ starting at __frompos__ had on entry." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:49 +msgid "__topos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:50 +msgid "" +"A nonnegative _integer_ value indicating the starting location in __to__ " +"to place the specified copy of bits from __from__. __topos + len__ must " +"be less than or equal to __bit_size(to)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:55 +msgid "" +"Sample program that populates a new 32-bit integer with its bytes in " +"reverse order (ie. changes the Endian of the integer)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:134 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__ieor__(3)](IEOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:2 +msgid "ibits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:5 +msgid "__ibits__(3) - \\[BIT:COPY\\] Bit extraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:14 +msgid "" +"__ibits__ extracts a field of length __len__ from __i__, starting from " +"bit position __pos__ and extending left for __len__ bits. The result is " +"right-justified and the remaining bits are zeroed. The value of pos+len " +"must be less than or equal to the value __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:25 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:29 +#: ../../source/learn/intrinsics/_pages/IBITS.md:33 +#: ../../source/learn/intrinsics/_pages/IBSET.md:29 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:32 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:36 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:29 +msgid "The return value is of type _integer_ and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:41 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:2 +msgid "ibclr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:5 +msgid "__ibclr__(3) - \\[BIT:SET\\] Clear bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:14 +msgid "" +"__ibclr__ returns the value of __i__ with the bit at position __pos__ set" +" to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. __pos__ is an __intent(in)__ scalar or array of type " +"_integer_. The value of __pos__ must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__not__(3)](NOT), [__btest__(3)](BTEST), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:2 +msgid "ibset" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:5 +msgid "__ibset__(3) - \\[BIT:SET\\] Set bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:14 +msgid "" +"__ibset__ returns the value of __i__ with the bit at position __pos__ set" +" to one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. pos is an __intent(in)__ scalar or array of type " +"_integer_. The value of pos must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:2 +msgid "maskl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:5 +msgid "__maskl__(3) - \\[BIT:SET\\] Generates a left justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:16 +msgid "" +"__maskl(i\\[, *kind*\\])__ has its leftmost __i__ bits set to __1__, and " +"the remaining bits set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:22 +#: ../../source/learn/intrinsics/_pages/MASKR.md:22 +msgid "" +"Shall be of type _integer_. Its value must be non-negative, and less than" +" or equal to the number of bits for the kind of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:27 +#: ../../source/learn/intrinsics/_pages/MASKR.md:27 +msgid "Shall be a scalar constant expression of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:31 +#: ../../source/learn/intrinsics/_pages/MASKR.md:31 +msgid "" +"The return value is of type _integer_. If __kind__ is present, it " +"specifies the kind value of the return type; otherwise, it is of the " +"default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:35 +msgid "The leftmost __i__ bits are set to 1 and the other bits are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:93 +msgid "[__maskr__(3)](MASKR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:2 +msgid "maskr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:5 +msgid "__maskr__(3) - \\[BIT:SET\\] Generates a right-justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:16 +msgid "" +"__maskr(i\\[, kind\\])__ has its rightmost __i__ bits set to 1, and the " +"remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:35 +msgid "It has its rightmost __i__ bits set to 1, and the remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:102 +msgid "[__maskl__(3)](MASKL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:2 +msgid "iparity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:5 +msgid "__iparity__(3) - \\[BIT:LOGICAL\\] Bitwise exclusive or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:18 +msgid "" +"Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ " +"along dimension __dim__ if the corresponding element in __mask__ is " +"__.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:24 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:24 +msgid "Shall be an array of type _integer_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __\"1\" to \"n\"__, where __\"n\"__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:31 +msgid "" +"(Optional) shall be of type _logical_ and either be a scalar or an array " +"of the same shape as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:36 +#: ../../source/learn/intrinsics/_pages/IANY.md:36 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:36 +#: ../../source/learn/intrinsics/_pages/NORM2.md:33 +msgid "The result is of the same type as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:69 +msgid "" +"[__iany__(3)](IANY), [__iall__(3)](IALL), [__ieor__(3)](IEOR), " +"[__parity__(3)](PARITY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:2 +msgid "iall" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:5 +msgid "__iall__(3) - \\[BIT:LOGICAL\\] Bitwise and of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:18 +msgid "" +"Reduces with bitwise _and_ the elements of __array__ along dimension " +"__dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:27 +#: ../../source/learn/intrinsics/_pages/IANY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __1 to n__, where __n__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _all_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:72 +msgid "[__iany__(3)](IANY), [__iparity__(3)](IPARITY), [__iand__(3)](IAND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:2 +msgid "iand" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:5 +msgid "__iand__(3) - \\[BIT:LOGICAL\\] Bitwise logical and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:14 +msgid "Bitwise logical __and__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:22 +#: ../../source/learn/intrinsics/_pages/IEOR.md:22 +msgid "The type shall be _integer_, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:26 +#: ../../source/learn/intrinsics/_pages/IOR.md:28 +msgid "" +"The return type is _integer_, of the same kind as the arguments. (If the " +"argument kinds differ, it is of the same kind as the larger argument.)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:51 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:2 +msgid "iany" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:5 +msgid "__iany__(3) - \\[BIT:LOGICAL\\] Bitwise or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:18 +msgid "" +"Reduces with bitwise or (inclusive or) the elements of __array__ along " +"dimension __dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _or_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:70 +msgid "[__iparity__(3)](IPARITY), [__iall__(3)](IALL), [__ior__(3)](IOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:2 +msgid "ieor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:5 +msgid "__ieor__(3) - \\[BIT:LOGICAL\\] Bitwise logical exclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:14 +msgid "__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:35 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:2 +msgid "ior" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:5 +msgid "__ior__(3) - \\[BIT:LOGICAL\\] Bitwise logical inclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:16 +msgid "__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:21 +msgid "an _integer_ scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:24 +msgid "_integer_ scalar or array, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:60 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:2 +msgid "not" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:4 +msgid "__not__(3) - \\[BIT:LOGICAL\\] Logical negation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:12 +msgid "NOT returns the bitwise Boolean inverse of I." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:21 +msgid "The return type is _integer_, of the same kind as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:52 +msgid "" +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__ibits__(3)](IBITS), [__ibset__(3)](IBSET)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:58 +msgid "[__ibclr__(3)](IBCLR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:2 +msgid "ishftc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:5 +msgid "__ishftc__(3) - \\[BIT:SHIFT\\] Shift bits circularly" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:14 +msgid "" +"__ishftc__(3) returns a value corresponding to __i__ with the rightmost " +"__size__ bits shifted circularly __shift__ places; that is, bits shifted " +"out one end are shifted into the opposite end. A value of __shift__ " +"greater than zero corresponds to a left shift, a value of zero " +"corresponds to no shift, and a value less than zero corresponds to a " +"right shift. The absolute value of __shift__ must be less than __size__. " +"If the __size__ argument is omitted, it is taken to be equivalent to " +"__bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:30 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:22 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:29 +msgid "__size__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:31 +msgid "" +"(Optional) The type shall be _integer_; the value must be greater than " +"zero and less than or equal to __bit\\_size__(i)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:44 +msgid "[__ishft__(3)](ISHFT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:2 +msgid "ishft" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:5 +msgid "__ishft__(3) - \\[BIT:SHIFT\\] Shift bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:14 +msgid "" +"__ishft__(3) returns a value corresponding to __i__ with all of the bits " +"shifted __shift__ places. A value of __shift__ greater than zero " +"corresponds to a left shift, a value of zero corresponds to no shift, and" +" a value less than zero corresponds to a right shift. If the absolute " +"value of __shift__ is greater than __bit\\_size(i)__, the value is " +"undefined. Bits shifted out from the left end or right end are lost; " +"zeros are shifted in from the opposite end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:40 +msgid "[__ishftc__(3)](ISHFTC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:2 +msgid "shifta" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:5 +msgid "__shifta__(3) - \\[BIT:SHIFT\\] shift bits right with fill" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost. The fill is arithmetic: the bits shifted in from the " +"left end are equal to the leftmost bit, which in two's complement " +"representation is the sign bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:39 +msgid "[__shiftl__(3)](SHIFTL), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:2 +msgid "shiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:5 +msgid "__shiftl__(3) - \\[BIT:SHIFT\\] shift bits left" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted left " +"by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the left" +" end are lost, and bits shifted in from the right end are set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:2 +msgid "shiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:5 +msgid "__shiftr__(3) - \\[BIT:SHIFT\\] shift bits right" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost, and bits shifted in from the left end are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftl__(3)](SHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/CHARACTER_index.md:1 +msgid "Basic procedures for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:2 +msgid "len" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:5 +msgid "__len__(3) - \\[CHARACTER\\] Length of a character entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:16 +msgid "" +"where the returned value is the same kind as the __KIND__, or of the " +"default kind if __KIND__ is not specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:21 +msgid "__len(3)__ Returns the length of a _character_ string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:23 +msgid "" +"If __string__ is an array, the length of an element of __string__ is " +"returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:26 +msgid "" +"Note that __string__ need not be defined when this intrinsic is invoked, " +"as only the length (not the content) of __string__ is needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:23 +#: ../../source/learn/intrinsics/_pages/INDEX.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:31 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:22 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:22 +#: ../../source/learn/intrinsics/_pages/SCAN.md:23 +#: ../../source/learn/intrinsics/_pages/TRIM.md:18 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:42 +msgid "__string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:32 +msgid "Shall be a scalar or array of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:26 +#: ../../source/learn/intrinsics/_pages/INDEX.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:24 +#: ../../source/learn/intrinsics/_pages/LEN.md:35 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:52 +msgid "" +"An _integer_ initialization expression indicating the kind parameter of " +"the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:28 +#: ../../source/learn/intrinsics/_pages/INDEX.md:43 +#: ../../source/learn/intrinsics/_pages/LEN.md:40 +#: ../../source/learn/intrinsics/_pages/SCAN.md:38 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:57 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:45 +msgid "FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:110 +msgid "" +"len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines " +"that allow you to deal with leading and trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:66 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:79 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:111 +#: ../../source/learn/intrinsics/_pages/INDEX.md:75 +#: ../../source/learn/intrinsics/_pages/LEN.md:113 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:74 +#: ../../source/learn/intrinsics/_pages/LGE.md:47 +#: ../../source/learn/intrinsics/_pages/LGT.md:49 +#: ../../source/learn/intrinsics/_pages/LLE.md:95 +#: ../../source/learn/intrinsics/_pages/LLT.md:49 +#: ../../source/learn/intrinsics/_pages/SCAN.md:65 +#: ../../source/learn/intrinsics/_pages/TRIM.md:56 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:249 +msgid "" +"Functions that perform operations on character strings, return lengths of" +" arguments, and search for certain arguments:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:78 +#: ../../source/learn/intrinsics/_pages/LEN.md:116 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:77 +#: ../../source/learn/intrinsics/_pages/LLT.md:52 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:66 +#: ../../source/learn/intrinsics/_pages/SCAN.md:68 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:86 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:122 +#: ../../source/learn/intrinsics/_pages/INDEX.md:82 +#: ../../source/learn/intrinsics/_pages/LEN.md:123 +#: ../../source/learn/intrinsics/_pages/LGE.md:58 +#: ../../source/learn/intrinsics/_pages/LGT.md:60 +#: ../../source/learn/intrinsics/_pages/LLE.md:106 +#: ../../source/learn/intrinsics/_pages/LLT.md:56 +#: ../../source/learn/intrinsics/_pages/SCAN.md:72 +#: ../../source/learn/intrinsics/_pages/TRIM.md:67 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:2 +msgid "new\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:5 +msgid "__new\\_line__(3) - \\[CHARACTER\\] new-line character" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:16 +msgid "__new\\_line(c)__ returns the new-line character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:18 +msgid "Case (i)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:19 +msgid "" +"If __a__ is default _character_ and the character in position __10__ of " +"the ASCII collating sequence is representable in the default character " +"set, then the result is __achar(10)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:23 +msgid "Case (ii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:24 +msgid "" +"If __a__ is an ASCII character or an ISO 10646 character, then the result" +" is __char(10, kind (a))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:27 +msgid "Case (iii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:28 +msgid "" +"Otherwise, the result is a processor-dependent character that represents " +"a newline in output to files connected for formatted stream output if " +"there is such a character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:32 +msgid "Case (iv)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:33 +msgid "Otherwise, the result is the blank character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:37 +msgid "__C__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:38 +msgid "The argument shall be a scalar or array of the type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:42 +msgid "" +"Returns a _character_ scalar of length one with the new-line character of" +" the same kind as parameter __c__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:56 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:55 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:59 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:79 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:121 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:61 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:49 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:66 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:74 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:33 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:57 +msgid "Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:2 +msgid "repeat" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:5 +msgid "__repeat__(3) - \\[CHARACTER\\] Repeated string concatenation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:18 +msgid "Concatenates __ncopies__ copies of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:23 +msgid "" +"The input string to repeatedly generate. Shall be scalar and of type " +"_character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:27 +msgid "" +"Number of copies to make of _string_, greater than or equal to zero (0). " +"Shall be scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:32 +msgid "" +"A new scalar of type _character_ built up from __ncopies__ copies of " +"__string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:64 +msgid "Functions that perform operations on character strings:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:73 +msgid "" +"__Non-elemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:2 +msgid "achar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:5 +msgid "" +"__achar__(3) - \\[CHARACTER:CONVERSION\\] returns a character in a " +"specified position in the ASCII collating sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:16 +msgid "where KIND may be any supported kind value for _integer_ types." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:20 +msgid "" +"__achar(i)__ returns the character located at position __i__ (commonly " +"called the _ADE_ or ASCII Decimal Equivalent) in the ASCII collating " +"sequence." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:23 +msgid "" +"The __achar__(3) function is often used for generating in-band escape " +"sequences to control terminal attributes." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:28 +msgid "will clear the screen on an ANSI-compatible terminal display, for example." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:34 +msgid "" +"the _integer_ value to convert to an ASCII character, in the range 0 to " +"127." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:38 +#: ../../source/learn/intrinsics/_pages/AINT.md:35 +#: ../../source/learn/intrinsics/_pages/ANINT.md:22 +msgid "" +"(optional) an _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:43 +msgid "" +"The return value is the requested character of type _character_ with a " +"length of one. If the __kind__ argument is present, the return value is " +"of the specified kind and of the default kind otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:124 +#: ../../source/learn/intrinsics/_pages/CHAR.md:51 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:83 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:92 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:64 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:72 +msgid "__Note__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:126 +msgid "The ADEs (ASCII Decimal Equivalents) for ASCII are" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:151 +#: ../../source/learn/intrinsics/_pages/INDEX.md:70 +msgid "FORTRAN 77 and later, with KIND argument Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:155 +msgid "[__char__(3)](CHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:159 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:106 +msgid "__Resources__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:161 +msgid "[ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:162 +msgid "" +"[M_attr module](https://github.com/urbanjost/M_attr) for controlling " +"ANSI-compatible terminals" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:2 +msgid "char" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:5 +msgid "__char__(3) - \\[CHARACTER\\] Character conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:18 +msgid "__char(i, kind)__ returns the character represented by the integer __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:26 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:23 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:32 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:27 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:27 +#: ../../source/learn/intrinsics/_pages/REAL.md:21 +#: ../../source/learn/intrinsics/_pages/SCAN.md:33 +msgid "" +"(Optional) An _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:31 +msgid "The return value is of type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:53 +msgid "" +"See [__ichar__(3)](CHAR) for a discussion of converting between numerical" +" values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:123 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:62 +#: ../../source/learn/intrinsics/_pages/AINT.md:81 +#: ../../source/learn/intrinsics/_pages/ANINT.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:58 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:163 +#: ../../source/learn/intrinsics/_pages/CONJG.md:98 +#: ../../source/learn/intrinsics/_pages/COS.md:67 +#: ../../source/learn/intrinsics/_pages/DBLE.md:52 +#: ../../source/learn/intrinsics/_pages/DIM.md:64 +#: ../../source/learn/intrinsics/_pages/DPROD.md:84 +#: ../../source/learn/intrinsics/_pages/EXP.md:84 +#: ../../source/learn/intrinsics/_pages/INT.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:41 +#: ../../source/learn/intrinsics/_pages/LGT.md:41 +#: ../../source/learn/intrinsics/_pages/LLE.md:87 +#: ../../source/learn/intrinsics/_pages/LLT.md:41 +#: ../../source/learn/intrinsics/_pages/LOG.md:49 +#: ../../source/learn/intrinsics/_pages/LOG10.md:57 +#: ../../source/learn/intrinsics/_pages/MAX.md:111 +#: ../../source/learn/intrinsics/_pages/MIN.md:48 +#: ../../source/learn/intrinsics/_pages/MOD.md:72 +#: ../../source/learn/intrinsics/_pages/REAL.md:67 +#: ../../source/learn/intrinsics/_pages/SIGN.md:74 +#: ../../source/learn/intrinsics/_pages/SIN.md:123 +#: ../../source/learn/intrinsics/_pages/SQRT.md:87 +msgid "FORTRAN 77 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:62 +msgid "[__achar__(3)](ACHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:82 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:2 +msgid "iachar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:5 +msgid "" +"__iachar__(3) - \\[CHARACTER:CONVERSION\\] Code in ASCII collating " +"sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:14 +msgid "" +"__iachar__(c) returns the code for the ASCII character in the first " +"character position of C." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:19 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:28 +msgid "__c__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:20 +msgid "Shall be a scalar _character_, with _intent(in)_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:66 +msgid "" +"See [__ichar__(3)](ICHAR) for a discussion of converting between " +"numerical values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:71 +#: ../../source/learn/intrinsics/_pages/SCAN.md:61 +msgid "Fortran 95 and later, with KIND argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:75 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:2 +msgid "ichar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:5 +msgid "" +"__ichar__(3) - \\[CHARACTER:CONVERSION\\] Character-to-integer conversion" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:17 +msgid "" +"__ichar(c)__ returns the code for the character in the system's native " +"character set. The correspondence between characters and their codes is " +"not necessarily the same across different Fortran implementations. For " +"example, a platform using EBCDIC would return different values than an " +"ASCII platform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:23 +msgid "See __iachar__(3) for specifically working with the ASCII character set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:29 +msgid "Shall be a scalar _character_, with __intent(in)__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:37 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:32 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:74 +msgid "" +"No intrinsic exists to convert between a numeric value and a formatted " +"character string representation -- for instance, given the _character_ " +"value '154', obtaining an _integer_ or _real_ value with the value 154, " +"or vice versa. Instead, this functionality is provided by internal-file " +"I/O, as in the following example:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:103 +msgid "Fortran 95 and later, with KIND argument -Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:107 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__iachar__(3)](IACHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:50 +#: ../../source/learn/intrinsics/_pages/LGT.md:52 +#: ../../source/learn/intrinsics/_pages/LLE.md:98 +#: ../../source/learn/intrinsics/_pages/TRIM.md:59 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:119 +#: ../../source/learn/intrinsics/_pages/LGE.md:55 +#: ../../source/learn/intrinsics/_pages/LLE.md:103 +#: ../../source/learn/intrinsics/_pages/TRIM.md:64 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:2 +msgid "index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:5 +msgid "" +"__index__(3) - \\[CHARACTER:SEARCH\\] Position of a substring within a " +"string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:20 +msgid "" +"Returns the position of the start of the leftmost or rightmost occurrence" +" of string __substring__ in __string__, counting from one. If " +"__substring__ is not present in __string__, zero is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:27 +msgid "string to be searched" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:29 +msgid "__substring__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:30 +msgid "string to attempt to locate in __string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:29 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:48 +msgid "__back__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:33 +msgid "" +"If the __back__ argument is present and true, the return value is the " +"start of the rightmost occurrence rather than the leftmost." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:42 +msgid "__START__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:48 +msgid "Example program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:2 +msgid "scan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:5 +msgid "" +"__scan__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the presence of a " +"set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:14 +msgid "Scans a __string__ for any of the characters in a __set__ of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:16 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __STRING__ that is in __set__." +" If __back__ equals __.true.__, the rightmost position is returned. If no" +" character of __set__ is found in __string__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:24 +#: ../../source/learn/intrinsics/_pages/SCAN.md:27 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:43 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:46 +msgid "Shall be of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:26 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:45 +msgid "__set__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:30 +msgid "(Optional) shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:2 +msgid "verify" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:5 +msgid "" +"__verify__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the absence of a" +" set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:20 +msgid "" +"Verifies that all the characters in __string__ belong to the set of " +"characters in __set__ by identifying the first character in the string(s)" +" that is not in the set(s)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:24 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __string__ that is not in " +"__set__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:28 +msgid "If __back__ equals __.true.__, the rightmost position is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:30 +msgid "If all characters of __string__ are found in __set__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:32 +msgid "" +"This makes it easy to verify strings are all uppercase or lowercase, " +"follow a basic syntax, only contain printable characters, and many of the" +" conditions tested for with the C routines __isalnum__(3c), " +"__isalpha__(3c), __isascii__(3c), __isblank__(3c), __iscntrl__(3c), " +"__isdigit__(3c), __isgraph__(3c), __islower__(3c), __isprint__(3c), " +"__ispunct__(3c), __isspace__(3c), __isupper__(3c), and __isxdigit__(3c); " +"but for a string as well an an array of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:49 +msgid "shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:62 +msgid "Sample program I:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:137 +msgid "Sample program II:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:139 +msgid "Determine if strings are valid integer representations" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:187 +msgid "Sample program III:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:189 +msgid "Determine if strings represent valid Fortran symbol names" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:69 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:245 +msgid "Fortran 95 and later, with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:252 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:259 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:2 +msgid "lge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:5 +msgid "__lge__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:14 +msgid "" +"Determines whether one string is lexically greater than or equal to " +"another string, where the two strings are interpreted as containing ASCII" +" character codes. If the String __a__ and String __b__ are not the same " +"length, the shorter is compared as if spaces were appended to it to form " +"a value that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:20 +msgid "" +"In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), " +"__lle__(3), and __llt__(3) differ from the corresponding intrinsic " +"operators .ge., .gt., .le., and .lt., in that the latter use the " +"processor's character ordering (which is not ASCII on some targets), " +"whereas the former always use the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:28 +#: ../../source/learn/intrinsics/_pages/LGT.md:28 +#: ../../source/learn/intrinsics/_pages/LLT.md:28 +msgid "__string\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:29 +#: ../../source/learn/intrinsics/_pages/LGE.md:32 +#: ../../source/learn/intrinsics/_pages/LGT.md:29 +#: ../../source/learn/intrinsics/_pages/LGT.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:29 +#: ../../source/learn/intrinsics/_pages/LLT.md:32 +msgid "Shall be of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:31 +#: ../../source/learn/intrinsics/_pages/LGT.md:31 +#: ../../source/learn/intrinsics/_pages/LLT.md:31 +msgid "__string\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:36 +msgid "" +"Returns .true. if string\\_a \\>= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:45 +msgid "__\\[\\[lgt__(3), __\\[\\[lle__(3), __\\[\\[llt__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:2 +msgid "lgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:5 +msgid "__lgt__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:14 +msgid "" +"Determines whether one string is lexically greater than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the String __a__ and String __b__ are not the same length, the " +"shorter is compared as if spaces were appended to it to form a value that" +" has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:20 +#: ../../source/learn/intrinsics/_pages/LLE.md:26 +#: ../../source/learn/intrinsics/_pages/LLT.md:20 +msgid "" +"In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT " +"differ from the corresponding intrinsic operators .ge., .gt., .le., and " +".lt., in that the latter use the processor's character ordering (which is" +" not ASCII on some targets), whereas the former always use the ASCII " +"ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:36 +msgid "" +"Returns .true. if string\\_a \\> string\\_b, and .false. otherwise, based" +" on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:45 +msgid "[__lge__(3)](LGE), [__lle__(3)](LLE), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:57 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:2 +msgid "lle" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:5 +msgid "__lle__(3) - \\[CHARACTER:COMPARE\\] Lexical less than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:20 +msgid "" +"Determines whether one string is lexically less than or equal to another " +"string, where the two strings are interpreted as containing ASCII " +"character codes. if the __string\\_a__ and __string\\_b__ are not the " +"same length, the shorter is compared as if spaces were appended to it to " +"form a value that has the same length as the longer. Leading spaces are " +"significant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:34 +msgid "__str\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:38 +msgid "variable or array of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:37 +msgid "__str\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:40 +msgid "if __str_a__ and __str_b__ are both arrays they must be of the same shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:45 +msgid "" +"__result__ Returns __.true.__ if __STR\\_A \\<= STR\\_B__, and " +"__.false.__ otherwise, based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:91 +msgid "[__lge__(3)](LGE), [__lgt__(3),](LGT), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:2 +msgid "llt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:5 +msgid "__llt__(3) - \\[CHARACTER:COMPARE\\] Lexical less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:14 +msgid "" +"Determines whether one string is lexically less than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the __string\\_a__ and __string\\_b__ are not the same length, " +"the shorter is compared as if spaces were appended to it to form a value " +"that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:36 +msgid "" +"Returns .true. if string\\_a \\<= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:45 +msgid "[__lge__(3)](LGE), [__lgt__(3)](LGT), [__lle__(3](LLE))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:2 +msgid "adjustl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:5 +msgid "__adjustl__(3) - \\[CHARACTER:WHITESPACE\\] Left-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:17 +msgid "" +"__adjustl(string)__ will left-adjust a string by removing leading spaces." +" Spaces are inserted at the end of the string as needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:23 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:24 +msgid "the type shall be _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:27 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where leading spaces are removed and the same number of spaces" +" are inserted on the end of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:64 +msgid "[__adjustr__(3)](ADJUSTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:2 +msgid "adjustr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:5 +msgid "__adjustr__(3) - \\[CHARACTER:WHITESPACE\\] Right-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:17 +msgid "" +"__adjustr(string)__ right-adjusts a string by removing trailing spaces. " +"Spaces are inserted at the start of the string as needed to retain the " +"original length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:28 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where trailing spaces are removed and the same number of " +"spaces are inserted at the start of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:77 +msgid "[__adjustl__(3)](ADJUSTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:2 +msgid "len\\_trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:5 +msgid "" +"__len\\_trim__(3) - \\[CHARACTER:WHITESPACE\\] Length of a character " +"entity without trailing blank characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:18 +msgid "Returns the length of a character string, ignoring any trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:23 +msgid "" +"The input string whose length is to be measured. Shall be a scalar of " +"type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:84 +msgid "" +"__Nonelemental:__ [__repeat__(3)](REPEAT), [__len__(3)](LEN), " +"[__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:2 +msgid "trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:5 +msgid "" +"__trim__(3) - \\[CHARACTER:WHITESPACE\\] Remove trailing blank characters" +" of a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:14 +msgid "Removes trailing blank characters of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:19 +msgid "Shall be a scalar of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:23 +msgid "" +"A scalar of type _character_ which length is that of __string__ less the " +"number of trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/COMPILER_index.md:1 +msgid "Information about compiler and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:2 +msgid "compiler\\_options" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:5 +msgid "" +"__compiler\\_options__(3) - \\[COMPILER INQUIRY\\] Options passed to the " +"compiler" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:14 +msgid "compiler\\_options returns a string with the options used for compiling." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:18 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:21 +msgid "None." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:22 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the compiler flags used to compile the file, which called the" +" compiler\\_options intrinsic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:52 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:55 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:53 +msgid "Fortran 2008" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:56 +msgid "[__compiler\\_version__(3)](COMPILER_VERSION), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:2 +msgid "compiler\\_version" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:5 +msgid "__compiler\\_version__(3) - \\[COMPILER INQUIRY\\] Compiler version string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:16 +msgid "" +"__compiler\\_version__(3) returns a string containing the name and " +"version of the compiler." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:25 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the name of the compiler and its version number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:59 +msgid "[__compiler\\_options__(3)](COMPILER_OPTIONS), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/C_index.md:1 +msgid "Procedures for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:2 +msgid "c\\_associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:5 +msgid "__c\\_associated__(3) - \\[ISO\\_C\\_BINDING\\] Status of a C pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:14 +msgid "" +"__c\\_associated(c\\_prt\\_1\\[, c\\_ptr\\_2\\])__ determines the status " +"of the C pointer c\\_ptr\\_1 or if c\\_ptr\\_1 is associated with the " +"target c\\_ptr\\_2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:20 +msgid "__c\\_ptr\\_1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:21 +msgid "Scalar of the type c\\_ptr or c\\_funptr." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:23 +msgid "__c\\_ptr\\_2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:24 +msgid "(Optional) Scalar of the same type as c\\_ptr\\_1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:28 +msgid "" +"The return value is of type _logical_; it is .false. if either " +"c\\_ptr\\_1 is a C NULL pointer or if c\\_ptr1 and c\\_ptr\\_2 point to " +"different addresses." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_funloc__(3)](C_FUNLOC), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:2 +msgid "c\\_f\\_pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:5 +msgid "" +"__c\\_f\\_pointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into Fortran " +"pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:14 +msgid "" +"__c\\_f\\_pointer(cptr, fptr\\[, shape\\])__ Assign the target, the C " +"pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:19 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:19 +msgid "__cptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:20 +msgid "scalar of the type c\\_ptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:22 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:22 +msgid "__fptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:23 +msgid "pointer interoperable with __cptr__. it is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:25 +msgid "__shape__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:26 +msgid "" +"(Optional) Rank-one array of type _integer_ with __intent(in)__ . It " +"shall be present if and only if __fptr__ is an array. The size must be " +"equal to the rank of __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:57 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:2 +msgid "c\\_f\\_procpointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:5 +msgid "" +"__c\\_f\\_procpointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into " +"Fortran procedure pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:14 +msgid "" +"__c\\_f\\_procpointer(cptr, fptr)__ assigns the target of the C function " +"pointer __cptr__ to the Fortran procedure pointer __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:20 +msgid "scalar of the type c\\_funptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:23 +msgid "procedure pointer interoperable with __cptr__. It is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_pointer__(3)](C_F_POINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:2 +msgid "c\\_funloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:5 +msgid "" +"__c\\_funloc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of a " +"procedure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:14 +msgid "__c\\_funloc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:23 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:24 +#: ../../source/learn/intrinsics/_pages/AINT.md:31 +#: ../../source/learn/intrinsics/_pages/ASIN.md:27 +#: ../../source/learn/intrinsics/_pages/ASINH.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:28 +#: ../../source/learn/intrinsics/_pages/ATANH.md:18 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:34 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:34 +#: ../../source/learn/intrinsics/_pages/COS.md:27 +#: ../../source/learn/intrinsics/_pages/COSH.md:25 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:19 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:26 +#: ../../source/learn/intrinsics/_pages/DIM.md:24 +#: ../../source/learn/intrinsics/_pages/DPROD.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:32 +#: ../../source/learn/intrinsics/_pages/ERF.md:21 +#: ../../source/learn/intrinsics/_pages/ERFC.md:37 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:24 +#: ../../source/learn/intrinsics/_pages/EXP.md:29 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:20 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/HUGE.md:25 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:28 +#: ../../source/learn/intrinsics/_pages/KIND.md:18 +#: ../../source/learn/intrinsics/_pages/LOG.md:19 +#: ../../source/learn/intrinsics/_pages/LOG10.md:21 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:18 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:19 +#: ../../source/learn/intrinsics/_pages/NINT.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:18 +#: ../../source/learn/intrinsics/_pages/RANGE.md:25 +#: ../../source/learn/intrinsics/_pages/REAL.md:17 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:21 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:28 +#: ../../source/learn/intrinsics/_pages/SINH.md:30 +#: ../../source/learn/intrinsics/_pages/SPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SQRT.md:43 +#: ../../source/learn/intrinsics/_pages/TAN.md:18 +#: ../../source/learn/intrinsics/_pages/TANH.md:18 +#: ../../source/learn/intrinsics/_pages/TINY.md:23 +msgid "__x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:19 +msgid "Interoperable function or pointer to such function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:23 +msgid "" +"The return value is of type c\\_funptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:63 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_loc__(3)](C_LOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:67 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:54 +msgid "[__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), __iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:2 +msgid "c\\_loc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:5 +msgid "__c\\_loc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of an object" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:14 +msgid "__c\\_loc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:19 +msgid "" +"Shall have either the _pointer_ or _target_ attribute. It shall not be a " +"coindexed object. It shall either be a variable with interoperable type " +"and kind type parameters, or be a scalar, nonpolymorphic variable with no" +" length type parameters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:26 +msgid "" +"The return value is of type c\\_ptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:50 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_funloc__(3)](C_FUNLOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:2 +msgid "c\\_sizeof" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:5 +msgid "__c\\_sizeof__(3) - \\[ISO\\_C\\_BINDING\\] Size in bytes of an expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:14 +msgid "" +"__c\\_sizeof(x)__ calculates the number of bytes of storage the " +"expression __x__ occupies." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:20 +msgid "The argument shall be an interoperable data entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:24 +msgid "" +"The return value is of type integer and of the system-dependent kind " +"c\\_size\\_t (from the *iso\\_c\\_binding* module). Its value is the " +"number of bytes occupied by the argument. If the argument has the " +"_pointer_ attribute, the number of bytes of the storage area pointed to " +"is returned. If the argument is of a derived type with _pointer_ or " +"_allocatable_ components, the return value does not account for the sizes" +" of the data pointed to by these components." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:48 +msgid "" +"The example will print .true. unless you are using a platform where " +"default _real_ variables are unusually padded." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:57 +msgid "[__storage\\_size__(3)](STORAGE_SIZE)" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:1 +msgid "GNU Free Documentation License" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:2 +msgid "*Version 1.2, November 2002*" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:9 +msgid "0. PREAMBLE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:11 +msgid "" +"The purpose of this License is to make a manual, textbook, or other " +"functional and useful document \"free\" in the sense of freedom: to " +"assure everyone the effective freedom to copy and redistribute it, with " +"or without modifying it, either commercially or noncommercially. " +"Secondarily, this License preserves for the author and publisher a way to" +" get credit for their work, while not being considered responsible for " +"modifications made by others." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:19 +msgid "" +"This License is a kind of \"copyleft\", which means that derivative works" +" of the document must themselves be free in the same sense. It " +"complements the GNU General Public License, which is a copyleft license " +"designed for free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:24 +msgid "" +"We have designed this License in order to use it for manuals for free " +"software, because free software needs free documentation: a free program " +"should come with manuals providing the same freedoms that the software " +"does. But this License is not limited to software manuals; it can be " +"used for any textual work, regardless of subject matter or whether it is " +"published as a printed book. We recommend this License principally for " +"works whose purpose is instruction or reference." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:33 +msgid "1. APPLICABILITY AND DEFINITIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:35 +msgid "" +"This License applies to any manual or other work, in any medium, that " +"contains a notice placed by the copyright holder saying it can be " +"distributed under the terms of this License. Such a notice grants a " +"world-wide, royalty-free license, unlimited in duration, to use that work" +" under the conditions stated herein. The \"Document\", below, refers to " +"any such manual or work. Any member of the public is a licensee, and is " +"addressed as \"you\". You accept the license if you copy, modify or " +"distribute the work in a way requiring permission under copyright law." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:45 +msgid "" +"A \"Modified Version\" of the Document means any work containing the " +"Document or a portion of it, either copied verbatim, or with " +"modifications and/or translated into another language." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:49 +msgid "" +"A \"Secondary Section\" is a named appendix or a front-matter section of " +"the Document that deals exclusively with the relationship of the " +"publishers or authors of the Document to the Document's overall subject " +"(or to related matters) and contains nothing that could fall directly " +"within that overall subject. (Thus, if the Document is in part a " +"textbook of mathematics, a Secondary Section may not explain any " +"mathematics.) The relationship could be a matter of historical " +"connection with the subject or with related matters, or of legal, " +"commercial, philosophical, ethical or political position regarding them." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:60 +msgid "" +"The \"Invariant Sections\" are certain Secondary Sections whose titles " +"are designated, as being those of Invariant Sections, in the notice that " +"says that the Document is released under this License. If a section does" +" not fit the above definition of Secondary then it is not allowed to be " +"designated as Invariant. The Document may contain zero Invariant " +"Sections. If the Document does not identify any Invariant Sections then " +"there are none." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:68 +msgid "" +"The \"Cover Texts\" are certain short passages of text that are listed, " +"as Front-Cover Texts or Back-Cover Texts, in the notice that says that " +"the Document is released under this License. A Front-Cover Text may be " +"at most 5 words, and a Back-Cover Text may be at most 25 words." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:73 +msgid "" +"A \"Transparent\" copy of the Document means a machine-readable copy, " +"represented in a format whose specification is available to the general " +"public, that is suitable for revising the document straightforwardly with" +" generic text editors or (for images composed of pixels) generic paint " +"programs or (for drawings) some widely available drawing editor, and that" +" is suitable for input to text formatters or for automatic translation to" +" a variety of formats suitable for input to text formatters. A copy made" +" in an otherwise Transparent file format whose markup, or absence of " +"markup, has been arranged to thwart or discourage subsequent modification" +" by readers is not Transparent. An image format is not Transparent if " +"used for any substantial amount of text. A copy that is not " +"\"Transparent\" is called \"Opaque\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:86 +msgid "" +"Examples of suitable formats for Transparent copies include plain ASCII " +"without markup, Texinfo input format, LaTeX input format, SGML or XML " +"using a publicly available DTD, and standard-conforming simple HTML, " +"PostScript or PDF designed for human modification. Examples of " +"transparent image formats include PNG, XCF and JPG. Opaque formats " +"include proprietary formats that can be read and edited only by " +"proprietary word processors, SGML or XML for which the DTD and/or " +"processing tools are not generally available, and the machine-generated " +"HTML, PostScript or PDF produced by some word processors for output " +"purposes only." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:97 +msgid "" +"The \"Title Page\" means, for a printed book, the title page itself, plus" +" such following pages as are needed to hold, legibly, the material this " +"License requires to appear in the title page. For works in formats which" +" do not have any title page as such, \"Title Page\" means the text near " +"the most prominent appearance of the work's title, preceding the " +"beginning of the body of the text." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:104 +msgid "" +"A section \"Entitled XYZ\" means a named subunit of the Document whose " +"title either is precisely XYZ or contains XYZ in parentheses following " +"text that translates XYZ in another language. (Here XYZ stands for a " +"specific section name mentioned below, such as \"Acknowledgements\", " +"\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the " +"Title\" of such a section when you modify the Document means that it " +"remains a section \"Entitled XYZ\" according to this definition." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:112 +msgid "" +"The Document may include Warranty Disclaimers next to the notice which " +"states that this License applies to the Document. These Warranty " +"Disclaimers are considered to be included by reference in this License, " +"but only as regards disclaiming warranties: any other implication that " +"these Warranty Disclaimers may have is void and has no effect on the " +"meaning of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:120 +msgid "2. VERBATIM COPYING" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:122 +msgid "" +"You may copy and distribute the Document in any medium, either " +"commercially or noncommercially, provided that this License, the " +"copyright notices, and the license notice saying this License applies to " +"the Document are reproduced in all copies, and that you add no other " +"conditions whatsoever to those of this License. You may not use " +"technical measures to obstruct or control the reading or further copying " +"of the copies you make or distribute. However, you may accept " +"compensation in exchange for copies. If you distribute a large enough " +"number of copies you must also follow the conditions in section 3." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:132 +msgid "" +"You may also lend copies, under the same conditions stated above, and you" +" may publicly display copies." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:136 +msgid "3. COPYING IN QUANTITY" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:138 +msgid "" +"If you publish printed copies (or copies in media that commonly have " +"printed covers) of the Document, numbering more than 100, and the " +"Document's license notice requires Cover Texts, you must enclose the " +"copies in covers that carry, clearly and legibly, all these Cover Texts: " +"Front-Cover Texts on the front cover, and Back-Cover Texts on the back " +"cover. Both covers must also clearly and legibly identify you as the " +"publisher of these copies. The front cover must present the full title " +"with all words of the title equally prominent and visible. You may add " +"other material on the covers in addition. Copying with changes limited to" +" the covers, as long as they preserve the title of the Document and " +"satisfy these conditions, can be treated as verbatim copying in other " +"respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:151 +msgid "" +"If the required texts for either cover are too voluminous to fit legibly," +" you should put the first ones listed (as many as fit reasonably) on the " +"actual cover, and continue the rest onto adjacent pages." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:156 +msgid "" +"If you publish or distribute Opaque copies of the Document numbering more" +" than 100, you must either include a machine-readable Transparent copy " +"along with each Opaque copy, or state in or with each Opaque copy a " +"computer-network location from which the general network-using public has" +" access to download using public-standard network protocols a complete " +"Transparent copy of the Document, free of added material. If you use the " +"latter option, you must take reasonably prudent steps, when you begin " +"distribution of Opaque copies in quantity, to ensure that this " +"Transparent copy will remain thus accessible at the stated location until" +" at least one year after the last time you distribute an Opaque copy " +"(directly or through your agents or retailers) of that edition to the " +"public." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:169 +msgid "" +"It is requested, but not required, that you contact the authors of the " +"Document well before redistributing any large number of copies, to give " +"them a chance to provide you with an updated version of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:174 +msgid "4. MODIFICATIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:176 +msgid "" +"You may copy and distribute a Modified Version of the Document under the " +"conditions of sections 2 and 3 above, provided that you release the " +"Modified Version under precisely this License, with the Modified Version " +"filling the role of the Document, thus licensing distribution and " +"modification of the Modified Version to whoever possesses a copy of it. " +"In addition, you must do these things in the Modified Version:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:183 +msgid "" +"__A__. Use in the Title Page (and on the covers, if any) a title distinct" +" from that of the Document, and from those of previous versions (which " +"should, if there were any, be listed in the History section of the " +"Document). You may use the same title as a previous version if the " +"original publisher of that version gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:188 +msgid "" +"__B__. List on the Title Page, as authors, one or more persons or " +"entities responsible for authorship of the modifications in the Modified" +" Version, together with at least five of the principal authors of the " +"Document (all of its principal authors, if it has fewer than five), " +"unless they release you from this requirement." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:193 +msgid "" +"__C__. State on the Title page the name of the publisher of the Modified" +" Version, as the publisher." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:195 +msgid "__D__. Preserve all the copyright notices of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:196 +msgid "" +"__E__. Add an appropriate copyright notice for your modifications " +"adjacent to the other copyright notices." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:198 +msgid "" +"__F__. Include, immediately after the copyright notices, a license notice" +" giving the public permission to use the Modified Version under the " +"terms of this License, in the form shown in the Addendum below." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:201 +msgid "" +"__G__. Preserve in that license notice the full lists of Invariant " +"Sections and required Cover Texts given in the Document's license " +"notice." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:203 +msgid "__H__. Include an unaltered copy of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:204 +msgid "" +"__I__. Preserve the section Entitled \"History\", Preserve its Title, and" +" add to it an item stating at least the title, year, new authors, and " +"publisher of the Modified Version as given on the Title Page. If there " +"is no section Entitled \"History\" in the Document, create one stating " +"the title, year, authors, and publisher of the Document as given on its " +"Title Page, then add an item describing the Modified Version as stated " +"in the previous sentence." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:211 +msgid "" +"__J__. Preserve the network location, if any, given in the Document for " +"public access to a Transparent copy of the Document, and likewise the " +"network locations given in the Document for previous versions it was " +"based on. These may be placed in the \"History\" section. You may omit " +"a network location for a work that was published at least four years " +"before the Document itself, or if the original publisher of the version " +"it refers to gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:218 +msgid "" +"__K__. For any section Entitled \"Acknowledgements\" or \"Dedications\"," +" Preserve the Title of the section, and preserve in the section all the" +" substance and tone of each of the contributor acknowledgements and/or " +"dedications given therein." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:222 +msgid "" +"__L__. Preserve all the Invariant Sections of the Document, unaltered in" +" their text and in their titles. Section numbers or the equivalent are " +"not considered part of the section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:225 +msgid "" +"__M__. Delete any section Entitled \"Endorsements\". Such a section may" +" not be included in the Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:227 +msgid "" +"__N__. Do not retitle any existing section to be Entitled " +"\"Endorsements\" or to conflict in title with any Invariant Section." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:229 +msgid "__O__. Preserve any Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:231 +msgid "" +"If the Modified Version includes new front-matter sections or appendices " +"that qualify as Secondary Sections and contain no material copied from " +"the Document, you may at your option designate some or all of these " +"sections as invariant. To do this, add their titles to the list of " +"Invariant Sections in the Modified Version's license notice. These titles" +" must be distinct from any other section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:238 +msgid "" +"You may add a section Entitled \"Endorsements\", provided it contains " +"nothing but endorsements of your Modified Version by various parties--for" +" example, statements of peer review or that the text has been approved by" +" an organization as the authoritative definition of a standard." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:244 +msgid "" +"You may add a passage of up to five words as a Front-Cover Text, and a " +"passage of up to 25 words as a Back-Cover Text, to the end of the list of" +" Cover Texts in the Modified Version. Only one passage of Front-Cover " +"Text and one of Back-Cover Text may be added by (or through arrangements " +"made by) any one entity. If the Document already includes a cover text " +"for the same cover, previously added by you or by arrangement made by the" +" same entity you are acting on behalf of, you may not add another; but " +"you may replace the old one, on explicit permission from the previous " +"publisher that added the old one." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:254 +msgid "" +"The author(s) and publisher(s) of the Document do not by this License " +"give permission to use their names for publicity for or to assert or " +"imply endorsement of any Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:259 +msgid "5. COMBINING DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:261 +msgid "" +"You may combine the Document with other documents released under this " +"License, under the terms defined in section 4 above for modified " +"versions, provided that you include in the combination all of the " +"Invariant Sections of all of the original documents, unmodified, and list" +" them all as Invariant Sections of your combined work in its license " +"notice, and that you preserve all their Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:268 +msgid "" +"The combined work need only contain one copy of this License, and " +"multiple identical Invariant Sections may be replaced with a single copy." +" If there are multiple Invariant Sections with the same name but " +"different contents, make the title of each such section unique by adding " +"at the end of it, in parentheses, the name of the original author or " +"publisher of that section if known, or else a unique number. Make the " +"same adjustment to the section titles in the list of Invariant Sections " +"in the license notice of the combined work." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:277 +msgid "" +"In the combination, you must combine any sections Entitled \"History\" in" +" the various original documents, forming one section Entitled " +"\"History\"; likewise combine any sections Entitled \"Acknowledgements\"," +" and any sections Entitled \"Dedications\". You must delete all sections" +" Entitled \"Endorsements\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:284 +msgid "6. COLLECTIONS OF DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:286 +msgid "" +"You may make a collection consisting of the Document and other documents " +"released under this License, and replace the individual copies of this " +"License in the various documents with a single copy that is included in " +"the collection, provided that you follow the rules of this License for " +"verbatim copying of each of the documents in all other respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:292 +msgid "" +"You may extract a single document from such a collection, and distribute " +"it individually under this License, provided you insert a copy of this " +"License into the extracted document, and follow this License in all other" +" respects regarding verbatim copying of that document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:298 +msgid "7. AGGREGATION WITH INDEPENDENT WORKS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:300 +msgid "" +"A compilation of the Document or its derivatives with other separate and " +"independent documents or works, in or on a volume of a storage or " +"distribution medium, is called an \"aggregate\" if the copyright " +"resulting from the compilation is not used to limit the legal rights of " +"the compilation's users beyond what the individual works permit. When the" +" Document is included in an aggregate, this License does not apply to the" +" other works in the aggregate which are not themselves derivative works " +"of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:309 +msgid "" +"If the Cover Text requirement of section 3 is applicable to these copies " +"of the Document, then if the Document is less than one half of the entire" +" aggregate, the Document's Cover Texts may be placed on covers that " +"bracket the Document within the aggregate, or the electronic equivalent " +"of covers if the Document is in electronic form. Otherwise they must " +"appear on printed covers that bracket the whole aggregate." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:318 +msgid "8. TRANSLATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:320 +msgid "" +"Translation is considered a kind of modification, so you may distribute " +"translations of the Document under the terms of section 4. Replacing " +"Invariant Sections with translations requires special permission from " +"their copyright holders, but you may include translations of some or all " +"Invariant Sections in addition to the original versions of these " +"Invariant Sections. You may include a translation of this License, and " +"all the license notices in the Document, and any Warranty Disclaimers, " +"provided that you also include the original English version of this " +"License and the original versions of those notices and disclaimers. In " +"case of a disagreement between the translation and the original version " +"of this License or a notice or disclaimer, the original version will " +"prevail." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:333 +msgid "" +"If a section in the Document is Entitled \"Acknowledgements\", " +"\"Dedications\", or \"History\", the requirement (section 4) to Preserve " +"its Title (section 1) will typically require changing the actual title." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:339 +msgid "9. TERMINATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:341 +msgid "" +"You may not copy, modify, sublicense, or distribute the Document except " +"as expressly provided for under this License. Any other attempt to copy," +" modify, sublicense or distribute the Document 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." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:350 +msgid "10. FUTURE REVISIONS OF THIS LICENSE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:352 +msgid "" +"The Free Software Foundation may publish new, revised versions of the GNU" +" Free Documentation 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. See http://www.gnu.org/copyleft/." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:358 +msgid "" +"Each version of the License is given a distinguishing version number. If " +"the Document specifies that a particular numbered version of this License" +" \"or any later version\" applies to it, you have the option of following" +" the terms and conditions either of that specified version or of any " +"later version that has been published (not as a draft) by the Free " +"Software Foundation. If the Document does not specify a version number " +"of this License, you may choose any version ever published (not as a " +"draft) by the Free Software Foundation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:368 +msgid "ADDENDUM: How to use this License for your documents" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:370 +msgid "" +"To use this License in a document you have written, include a copy of the" +" License in the document and put the following copyright and license " +"notices just after the title page:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:382 +msgid "" +"If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, " +"replace the \"with...Texts.\" line with this:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:388 +msgid "" +"If you have Invariant Sections without Cover Texts, or some other " +"combination of the three, merge those two alternatives to suit the " +"situation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:392 +msgid "" +"If your document contains nontrivial examples of program code, we " +"recommend releasing these examples in parallel under your choice of free " +"software license, such as the GNU General Public License, to permit their" +" use in free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:397 +msgid "fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/MATH_index.md:1 +#: ../../source/learn/intrinsics/index.md:17 +msgid "General mathematical functions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:2 +msgid "acos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:4 +msgid "" +"__acos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] arccosine (inverse cosine) " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:14 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:19 +msgid "__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:24 +msgid "" +"Must be type _real_ or _complex_. If the type is _real_, the value must " +"satisfy |__x__| <= 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:29 +#, python-format +msgid "" +"The return value is of the same type and kind as __x__. The _real_ part " +"of the result is in radians and lies in the range __0 \\<= acos(x%re) " +"\\<= PI__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:60 +msgid "FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:64 +#: ../../source/learn/intrinsics/_pages/ASIN.md:94 +#: ../../source/learn/intrinsics/_pages/ATAN.md:78 +msgid "" +"[wikipedia: inverse trigonometric " +"functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:66 +msgid "Inverse function: [__cos__(3](COS))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:2 +msgid "acosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:5 +msgid "" +"__acosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic cosine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:15 +#: ../../source/learn/intrinsics/_pages/COS.md:14 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any KIND supported " +"by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:20 +msgid "__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:25 +msgid "the type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:29 +#: ../../source/learn/intrinsics/_pages/EXP.md:36 +#: ../../source/learn/intrinsics/_pages/SIN.md:34 +#: ../../source/learn/intrinsics/_pages/TAN.md:23 +msgid "The return value has the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:31 +msgid "" +"If __x__ is _complex_, the imaginary part of the result is in radians and" +" lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:34 +msgid "__0 \\<= aimag(acosh(x)) \\<= PI__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:58 +#: ../../source/learn/intrinsics/_pages/ASINH.md:57 +#: ../../source/learn/intrinsics/_pages/ATANH.md:51 +#: ../../source/learn/intrinsics/_pages/COSH.md:55 +#: ../../source/learn/intrinsics/_pages/SINH.md:86 +#: ../../source/learn/intrinsics/_pages/TANH.md:52 +msgid "" +"[Wikipedia:hyperbolic " +"functions](https://en.wikipedia.org/wiki/Hyperbolic_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:60 +msgid "Inverse function: [__cosh__(3)](COSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:2 +msgid "asin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:5 +msgid "__asin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arcsine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:14 +msgid "" +"where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:19 +msgid "__asin(x)__ computes the arcsine of its argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:21 +msgid "" +"The arcsine is the inverse function of the sine function. It is commonly " +"used in trigonometry when trying to find the angle when the lengths of " +"the hypotenuse and the opposite side of a right triangle are known." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:28 +msgid "" +"The type shall be either _real_ and a magnitude that is less than or " +"equal to one; or be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:33 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:29 +#: ../../source/learn/intrinsics/_pages/SIN.md:33 +msgid "__result__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:34 +msgid "" +"The return value is of the same type and kind as __x__. The real part of " +"the result is in radians and lies in the range __-PI/2 \\<= asin(x) \\<= " +"PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:40 +msgid "" +"The arcsine will allow you to find the measure of a right angle when you " +"know the ratio of the side opposite the angle to the hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:43 +msgid "" +"So if you knew that a train track rose 1.25 vertical miles on a track " +"that was 50 miles long, you could determine the average angle of incline " +"of the track using the arcsine. Given" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:77 +msgid "" +"The percentage grade is the slope, written as a percent. To calculate the" +" slope you divide the rise by the run. In the example the rise is 1.25 " +"mile over a run of 50 miles so the slope is 1.25/50 = 0.025. Written as a" +" percent this is 2.5 %." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:82 +msgid "" +"For the US, two and 1/2 percent is generally thought of as the upper " +"limit. This means a rise of 2.5 feet when going 100 feet forward. In the " +"US this was the maximum grade on the first major US railroad, the " +"Baltimore and Ohio. Note curves increase the frictional drag on a train " +"reducing the allowable grade." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:90 +#: ../../source/learn/intrinsics/_pages/TANH.md:49 +msgid "FORTRAN 77 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:96 +msgid "Inverse function: [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:2 +msgid "asinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:5 +msgid "" +"__asinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic sine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:15 +#: ../../source/learn/intrinsics/_pages/SINH.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:20 +msgid "__asinh(x)__ computes the inverse hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:25 +#: ../../source/learn/intrinsics/_pages/ATANH.md:19 +#: ../../source/learn/intrinsics/_pages/COSH.md:26 +#: ../../source/learn/intrinsics/_pages/EXP.md:30 +#: ../../source/learn/intrinsics/_pages/LOG.md:20 +#: ../../source/learn/intrinsics/_pages/SINH.md:31 +#: ../../source/learn/intrinsics/_pages/TAN.md:19 +#: ../../source/learn/intrinsics/_pages/TANH.md:19 +msgid "The type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:29 +msgid "" +"The return value is of the same type and kind as __x__. If __x__ is " +"_complex_, the imaginary part of the result is in radians and lies " +"between __-PI/2 \\<= aimag(asinh(x)) \\<= PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:59 +msgid "Inverse function: [__sinh__(3)](SINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:2 +msgid "atan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:5 +msgid "__atan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:15 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type. If __y__ is present __x__ is " +"_real`." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:20 +msgid "__atan(x)__ computes the arctangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:25 +msgid "" +"The type shall be _real_ or _complex_; if __y__ is present, __x__ shall " +"be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:25 +#: ../../source/learn/intrinsics/_pages/DIM.md:27 +#: ../../source/learn/intrinsics/_pages/DPROD.md:25 +#: ../../source/learn/intrinsics/_pages/DPROD.md:36 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:31 +msgid "__y__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:29 +msgid "" +"Shall be of the same type and kind as __x__. If __x__ is zero, __y__ " +"must not be zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:34 +msgid "" +"The returned value is of the same type and kind as __x__. If __y__ is " +"present, the result is identical to __atan2(y,x)__. Otherwise, it is the " +"arc tangent of __x__, where the real part of the result is in radians and" +" lies in the range __-PI/2 \\<= atan(x) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:73 +msgid "" +"FORTRAN 77 and later for a complex argument; and for two arguments " +"Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:80 +msgid "[__atan2__(3)](ATAN2), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:2 +msgid "atan2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:5 +msgid "__atan2__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:13 +msgid "" +"__atan2(y, x)__ computes the arctangent of the complex number ( __x__ + i" +" __y__ ) ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:16 +msgid "" +"This function can be used to transform from Cartesian into polar " +"coordinates and allows to determine the angle in the correct quadrant. To" +" convert from Cartesian Coordinates __(x,y)__ to polar coordinates" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:20 +msgid "" +"(r,theta): $$ \\begin{aligned} r &= \\sqrt{x**2 + y**2} \\\\ \\theta &= " +"\\tan**{__-1__}(y / x) \\end{aligned} $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:20 +#: ../../source/learn/intrinsics/_pages/CEILING.md:23 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:33 +#: ../../source/learn/intrinsics/_pages/ERF.md:22 +#: ../../source/learn/intrinsics/_pages/ERFC.md:38 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:25 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:26 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:29 +msgid "The type shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:29 +msgid "" +"The type and kind type parameter shall be the same as __y__. If __y__ is " +"zero, then __x__ must be nonzero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:34 +msgid "" +"The return value has the same type and kind type parameter as __y__. It " +"is the principal value of the complex number __(x + i, y)__. If x is " +"nonzero, then it lies in the range __-PI \\<= atan(x) \\<= PI__. The sign" +" is positive if __y__ is positive. If __y__ is zero, then the return " +"value is zero if __x__ is strictly positive, __PI__ if __x__ is negative " +"and __y__ is positive zero (or the processor does not handle signed " +"zeros), and __-PI__ if __x__ is negative and __Y__ is negative zero. " +"Finally, if __x__ is zero, then the magnitude of the result is __PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:2 +msgid "atanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:5 +msgid "" +"__atanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic tangent" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:14 +msgid "__atanh(x)__ computes the inverse hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians and lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:26 +msgid "__-PI/2 \\<= aimag(atanh(x)) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:53 +msgid "Inverse function: [__tanh__(3)](TANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:2 +msgid "cos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:5 +msgid "__cos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:19 +msgid "" +"__cos(x)__ computes the cosine of an angle __x__ given the size of the " +"angle in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:22 +msgid "" +"The cosine of a _real_ value is the ratio of the adjacent side to the " +"hypotenuse of a right-angled triangle." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:28 +msgid "The type shall be _real_ or _complex_. __x__ is assumed to be in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:33 +#: ../../source/learn/intrinsics/_pages/TINY.md:30 +msgid "The return value is of the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:35 +msgid "" +"If __x__ is of the type _real_, the return value lies in the range __-1 " +"\\<= cos(x) \\<= 1__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:70 +#: ../../source/learn/intrinsics/_pages/SIN.md:126 +msgid "[Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:72 +msgid "[__acos__(3)](ACOS), [__sin__(3)](SIN), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:2 +msgid "cosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:5 +msgid "__cosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:15 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any supported kind" +" for the associated type. The returned __value__ will be the same type " +"and kind as the input value __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:21 +msgid "__cosh(x)__ computes the hyperbolic cosine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:30 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:33 +msgid "" +"If __x__ is _real_, the return value has a lower bound of one, __cosh(x)" +" \\>= 1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:52 +msgid "FORTRAN 77 and later, for a complex argument - Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:57 +msgid "Inverse function: [__acosh__(3)](ACOSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:2 +msgid "sin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:5 +msgid "__sin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be " +"_real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:19 +msgid "" +"__sin(x)__ computes the sine of an angle given the size of the angle in " +"radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:22 +msgid "" +"The sine of an angle in a right-angled triangle is the ratio of the " +"length of the side opposite the given angle divided by the length of the " +"hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:29 +msgid "The type shall be _real_ or _complex_ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:48 +msgid "__Haversine Formula__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:50 +msgid "From the article on \"Haversine formula\" in Wikipedia:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:58 +msgid "" +"So to show the great-circle distance between the Nashville International " +"Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX)" +" in CA, USA you would start with their latitude and longitude, commonly " +"given as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:68 +msgid "which converted to floating-point values in degrees is:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:80 +msgid "" +"And then use the haversine formula to roughly calculate the distance " +"along the surface of the Earth between the locations:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:128 +msgid "[__asin__(3)](ASIN), [__cos__(3)](COS), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:2 +msgid "sinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:5 +msgid "__sinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:19 +msgid "__sinh(x)__ computes the hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:21 +msgid "The hyperbolic sine of x is defined mathematically as:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:23 +msgid "__sinh(x) = (exp(x) - exp(-x)) / 2.0__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:25 +msgid "" +"If __x__ is of type _complex_ its imaginary part is regarded as a value " +"in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:35 +msgid "The return value has same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:83 +msgid "Fortran 95 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:88 +msgid "[__asinh__(3)](ASINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:2 +msgid "tan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:5 +msgid "__tan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:14 +msgid "__tan(x)__ computes the tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:44 +msgid "FORTRAN 77 and later. For a complex argument, Fortran 2008 or later." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:48 +msgid "[__atan__(3)](ATAN), [__cos__(3)](COS), [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:2 +msgid "tanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:5 +msgid "__tanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:14 +msgid "__tanh(x)__ computes the hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is complex, " +"the imaginary part of the result is in radians. If __x__ is _real_, the " +"return value lies in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:54 +msgid "[__atanh__(3)](ATANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:2 +msgid "random\\_number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:5 +msgid "__random\\_number__(3) - \\[MATHEMATICS:RANDOM\\] Pseudo-random number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:14 +msgid "" +"Returns a single pseudorandom number or an array of pseudorandom numbers " +"from the uniform distribution over the range 0 \\<= x \\< 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:19 +msgid "__harvest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:20 +msgid "Shall be a scalar or an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:87 +msgid "[__random\\_seed__(3)](RANDOM_SEED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:2 +msgid "random\\_seed" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:5 +msgid "" +"__random\\_seed__(3) - \\[MATHEMATICS:RANDOM\\] Initialize a pseudo-" +"random number sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:14 +msgid "" +"Restarts or queries the state of the pseudorandom number generator used " +"by random\\_number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:17 +msgid "" +"If random\\_seed is called without arguments, it is seeded with random " +"data retrieved from the operating system." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:23 +msgid "" +"(Optional) Shall be a scalar and of type default _integer_, with " +"__intent(out)__. It specifies the minimum size of the arrays used with " +"the __put__ and __get__ arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:27 +msgid "__put__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:28 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(in)__ and the size of the array must be larger than or equal " +"to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:32 +msgid "__get__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:33 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(out)__ and the size of the array must be larger than or equal" +" to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:66 +msgid "[__random\\_number__(3)](RANDOM_NUMBER)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:2 +msgid "exp" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:5 +msgid "__exp__(3) - \\[MATHEMATICS\\] Exponential function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:13 +msgid "" +"__exp__(x) computes the base \"_e_\" exponential of __x__ where \"_e_\" " +"is _Euler's constant_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:16 +msgid "" +"If __x__ is of type _complex_, its imaginary part is regarded as a value " +"in radians such that (see _Euler's formula_):" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:19 +msgid "" +"if __cx=(re,im)__ then " +"__exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:24 +msgid "" +"Since __exp__(3) is the inverse function of __log__(3) the maximum valid " +"magnitude of the _real_ component of __x__ is __log(huge(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:34 +msgid "The value of the result is __e\\*\\*x__ where __e__ is Euler's constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:88 +msgid "[__log__(3)](LOG)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:90 +msgid "" +"Wikipedia:[Exponential " +"function](https://en.wikipedia.org/wiki/Exponential_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:92 +#, python-format +msgid "" +"Wikipedia:[Euler's " +"formula](https://en.wikipedia.org/wiki/Euler%27s_formula)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:2 +msgid "log" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:5 +msgid "__log__(3) - \\[MATHEMATICS\\] Logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:14 +msgid "" +"__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to" +" the base \"e\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:24 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is " +"in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:27 +msgid "__-PI__ \\< OMEGA \\<= PI." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:2 +msgid "log10" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:5 +msgid "__log10__(3) - \\[MATHEMATICS\\] Base 10 logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:16 +msgid "" +"__log10(x)__ computes the base 10 logarithm of __x__. This is generally " +"called the \"common logarithm\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:22 +msgid "A _real_ value > 0 to take the log of." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:26 +msgid "" +"The return value is of type _real_ . The kind type parameter is the same " +"as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:2 +msgid "sqrt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:5 +msgid "__sqrt__(3) - \\[MATHEMATICS\\] Square-root function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:15 +msgid "" +"Where TYPE may be _real_ or _complex_ and __KIND__ may be any kind valid " +"for the declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:20 +msgid "__sqrt(x)__ computes the principal square root of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:22 +msgid "" +"In mathematics, a square root of a number __x__ is a number __y__ such " +"that __y*y = x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:25 +msgid "" +"The number whose square root is being considered is known as the " +"_radicand_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:28 +msgid "" +"Every nonnegative number _x_ has two square roots of the same unique " +"magnitude, one positive and one negative. The nonnegative square root is " +"called the principal square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:32 +msgid "" +"The principal square root of 9 is 3, for example, even though (-3)*(-3) " +"is also 9." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:35 +msgid "A _real_, _radicand_ must be positive." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:37 +msgid "" +"Square roots of negative numbers are a special case of complex numbers, " +"where the components of the _radicand_ need not be positive in order to " +"have a valid square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:44 +msgid "" +"If __x__ is real its value must be greater than or equal to zero. The " +"type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:49 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:2 +msgid "hypot" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:5 +msgid "" +"__hypot__(3) - \\[MATHEMATICS\\] returns the distance between the point " +"and the origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:14 +msgid "where __x,y,value__ shall all be of the same __kind__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:18 +msgid "" +"__hypot(x,y)__ is referred to as the Euclidean distance function. It is " +"equal to __sqrt(x**2 + y**2)__, without undue underflow or overflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:21 +msgid "" +"In mathematics, the _Euclidean distance_ between two points in Euclidean " +"space is the length of a line segment between two points." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:24 +msgid "" +"__hypot(x,y)__ returns the distance between the point ____ and the " +"origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:32 +msgid "The type and kind type parameter shall be the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:36 +msgid "The return value has the same type and kind type parameter as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:38 +msgid "" +"The result is the positive magnitude of the distance of the point " +"____ from the origin __<0.0,0.0>__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:2 +msgid "bessel\\_j0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:5 +msgid "" +"__bessel\\_j0__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:14 +msgid "" +"__bessel\\_j0(x)__ computes the Bessel function of the first kind of " +"order __0__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.4027 \\<= " +"bessel(0,x) \\<= 1__. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:52 +msgid "" +"[__bessel\\_j1__(3)](BESSEL_J1), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:2 +msgid "bessel\\_j1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:5 +msgid "" +"__bessel\\_j1__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:14 +msgid "" +"__bessel\\_j1(x)__ computes the Bessel function of the first kind of " +"order __1__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.5818 \\<= " +"bessel(0,x) \\<= 0.5818__ . It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:2 +msgid "bessel\\_jn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:5 +msgid "__bessel\\_jn__(3) - \\[MATHEMATICS\\] Bessel function of the first kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:16 +msgid "" +"__bessel\\_jn(n, x)__ computes the Bessel function of the first kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:20 +msgid "" +"__bessel\\_jn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:25 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:25 +msgid "__n__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:26 +msgid "Shall be a scalar or an array of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:28 +msgid "__n1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:32 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:32 +msgid "Shall be a non-negative scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:31 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:31 +msgid "__n2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_. For __bessel\\_jn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:40 +msgid "" +"The return value is a scalar of type _real_. It has the same kind as " +"__x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:67 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:2 +msgid "bessel\\_y0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:5 +msgid "" +"__bessel\\_y0__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:14 +msgid "" +"__bessel\\_y0(x)__ computes the Bessel function of the second kind of " +"order 0 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:24 +msgid "The return value is of type _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:2 +msgid "bessel\\_y1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:5 +msgid "" +"__bessel\\_y1__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:14 +msgid "" +"__bessel\\_y1(x)__ computes the Bessel function of the second kind of " +"order 1 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:24 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:40 +msgid "The return value is _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:46 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:2 +msgid "bessel\\_yn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:5 +msgid "__bessel\\_yn__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:16 +msgid "" +"__bessel\\_yn(n, x)__ computes the Bessel function of the second kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:20 +msgid "" +"__bessel\\_yn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_; for __bessel\\_yn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:65 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_y1__(3)](BESSEL_Y1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:2 +msgid "erf" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:5 +msgid "__erf__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:14 +msgid "" +"__erf__(x) computes the error function of __x__, defined as $$ " +"\\text{erf}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{__-t__^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:26 +msgid "" +"The return value is of type _real_, of the same kind as __x__ and lies in" +" the range __-1__ \\<= __erf__(x) \\<= 1 ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:50 +#: ../../source/learn/intrinsics/_pages/ERFC.md:68 +msgid "See also" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:52 +msgid "[__erfc__(3)](ERFC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:54 +#: ../../source/learn/intrinsics/_pages/ERFC.md:71 +msgid "[Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:2 +msgid "erfc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:5 +msgid "__erfc__(3) - \\[MATHEMATICS\\] Complementary error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:18 +msgid "" +"__erfc__(x) computes the complementary error function of __x__. Simpy " +"put this is equivalent to __1 - erf(x)__, but __erfc__ is provided " +"because of the extreme loss of relative accuracy if __erf(x)__ is called " +"for large __x__ and the result is subtracted from __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:23 +msgid "__erfc(x)__ is defined as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:31 +msgid "" +"$$ \\text{erfc}(x) = 1 - \\text{erf}(x) = 1 - \\frac{2}{\\sqrt{\\pi}} " +"\\int_x^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:42 +msgid "" +"The return value is of type _real_ and of the same kind as __x__. It lies" +" in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:45 +msgid "0 \\<= __erfc__(x) \\<= 2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:69 +msgid "[__erf__(3)](ERF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:73 +msgid "####### fortran-lang intrinsic descriptions license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:2 +msgid "erfc\\_scaled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:5 +msgid "__erfc\\_scaled__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:14 +msgid "" +"__erfc\\_scaled__(x) computes the exponentially-scaled complementary " +"error function of __x__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:17 +msgid "$$ e^{x^2} \\frac{2}{\\sqrt{\\pi}} \\int_{x}^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:29 +msgid "The return value is of type _real_ and of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:2 +msgid "gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:5 +msgid "" +"__gamma__(3) - \\[MATHEMATICS\\] Gamma function, which yields factorials " +"for positive whole numbers" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:13 +msgid "" +"__gamma(x)__ computes Gamma of __x__. For positive whole number values of" +" __n__ the Gamma function can be used to calculate factorials, as " +"__(n-1)! == gamma(real(n))__. That is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:20 +msgid "" +"$$ \\\\__Gamma__(x) = \\\\int\\_0\\*\\*\\\\infty " +"t\\*\\*{x-1}{\\\\mathrm{e}}\\*\\*{__-t__}\\\\,{\\\\mathrm{d}}t $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:26 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:19 +msgid "Shall be of type _real_ and neither zero nor a negative integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:30 +msgid "The return value is of type _real_ of the same kind as _x_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:124 +msgid "Logarithm of the Gamma function: [__log\\_gamma__(3)](LOG_GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:126 +msgid "[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:2 +msgid "log\\_gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:5 +msgid "__log\\_gamma__(3) - \\[MATHEMATICS\\] Logarithm of the Gamma function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:14 +msgid "" +"__log\\_gamma(x)__ computes the natural logarithm of the absolute value " +"of the Gamma function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:23 +msgid "The return value is of type _real_ of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:46 +msgid "Gamma function: [__gamma__(3)](GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:2 +msgid "norm2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:5 +msgid "__norm2__(3) - \\[MATHEMATICS\\] Euclidean vector norm" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:19 +msgid "" +"Calculates the Euclidean vector norm (L\\_2 norm) of __array__ along " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:25 +msgid "Shall be an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:28 +msgid "" +"shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __rank(array)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:35 +msgid "" +"If __dim__ is absent, a scalar with the square root of the sum of squares" +" of the elements of __array__ is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:38 +msgid "" +"Otherwise, an array of rank __n-1__, where __n__ equals the rank of " +"__array__, and a shape similar to that of __array__ with dimension DIM " +"dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:87 +msgid "[__product__(3)](PRODUCT), [__sum__(3)](SUM), [__hypot__(3)](HYPOT)" +msgstr "" + +#: ../../source/learn/intrinsics/MODEL_index.md:1 +msgid "Controlling and querying the current numeric model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:2 +msgid "exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:5 +msgid "__exponent__(3) - \\[MODEL\\_COMPONENTS\\] Exponent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:14 +msgid "" +"__exponent__(x) returns the value of the exponent part of __x__. If __x__" +" is zero the value returned is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:24 +msgid "The return value is of type default _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:2 +msgid "fraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:5 +msgid "" +"__fraction__(3) - \\[MODEL\\_COMPONENTS\\] Fractional part of the model " +"representation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:14 +msgid "" +"__fraction(x)__ returns the fractional part of the model representation " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:21 +#: ../../source/learn/intrinsics/_pages/SCALE.md:22 +msgid "The type of the argument shall be a _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:25 +msgid "" +"The return value is of the same type and kind as the argument. The " +"fractional part of the model representation of __x__ is returned; it is " +"__x \\* radix(x)\\*\\*(-exponent(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:2 +msgid "nearest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:5 +msgid "__nearest__(3) - \\[MODEL\\_COMPONENTS\\] Nearest representable number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:14 +msgid "" +"__nearest(x, s)__ returns the processor-representable number nearest to " +"__x__ in the direction indicated by the sign of __s__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/SPACING.md:20 +#: ../../source/learn/intrinsics/_pages/TINY.md:24 +msgid "Shall be of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:22 +msgid "__s__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:23 +msgid "Shall be of type _real_ and not equal to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:27 +msgid "" +"The return value is of the same type as __x__. If __s__ is positive, " +"__nearest__ returns the processor-representable number greater than __x__" +" and nearest to it. If __s__ is negative, __nearest__ returns the " +"processor-representable number smaller than __x__ and nearest to it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:67 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:2 +msgid "rrspacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:5 +msgid "" +"__rrspacing__(3) - \\[MODEL\\_COMPONENTS\\] Reciprocal of the relative " +"spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:14 +msgid "" +"__rrspacing(x)__ returns the reciprocal of the relative spacing of model " +"numbers near __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:24 +msgid "" +"The return value is of the same type and kind as __x__. The value " +"returned is equal to __abs(fraction(x)) \\* " +"float(radix(x))\\*\\*digits(x)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:33 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:2 +msgid "scale" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:5 +msgid "" +"__scale__(3) - \\[MODEL\\_COMPONENTS\\] Scale a real value by a whole " +"power of the radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:17 +msgid "__scale(x,i)__ returns x \\* __radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:25 +msgid "The type of the argument shall be a _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:29 +msgid "" +"The return value is of the same type and kind as __x__. Its value is __x" +" \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:57 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:2 +msgid "set\\_exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:5 +msgid "" +"__set\\_exponent__(3) - \\[MODEL\\_COMPONENTS\\] Set the exponent of the " +"model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:14 +msgid "" +"__set\\_exponent(x, i)__ returns the real number whose fractional part is" +" that of __x__ and whose exponent part is __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:27 +msgid "" +"The return value is of the same type and kind as __x__. The real number " +"whose fractional part is that that of __x__ and whose exponent part if " +"__i__ is returned; it is __fraction(x) \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:53 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__spacing__(3)](SPACING), [__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:2 +msgid "spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:5 +msgid "" +"__spacing__(3) - \\[MODEL\\_COMPONENTS\\] Smallest distance between two " +"numbers of a given type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:14 +msgid "" +"Determines the distance between the argument __x__ and the nearest " +"adjacent number of the same type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:24 +msgid "The result is of the same type as the input argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set\\_exponent__(3)](SET_EXPONENT), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:2 +msgid "digits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:5 +msgid "__digits__(3) - \\[NUMERIC MODEL\\] Significant digits function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:14 +msgid "" +"where TYPE may be _integer_ or _real_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:19 +msgid "" +"__digits(x)__ returns the number of significant digits of the internal " +"model representation of __x__. For example, on a system using a 32-bit " +"floating point representation, a default real number would likely return " +"24." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:27 +msgid "The type may be a scalar or array of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:31 +msgid "The return value is of type _integer_ of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:63 +msgid "" +"[__epsilon__(3)](EPSILON), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:2 +msgid "epsilon" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:5 +msgid "__epsilon__(3) - \\[NUMERIC MODEL\\] Epsilon function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:13 +msgid "" +"__epsilon(x)__ returns the floating point relative accuracy. It is the " +"nearly negligible number relative to __1__ such that __1+ little_number__" +" is not equal to __1__; or more precisely" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:20 +msgid "" +"It may be thought of as the distance from 1.0 to the next largest " +"floating point number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:23 +msgid "" +"One use of __epsilon__(3) is to select a _delta_ value for algorithms " +"that search until the calculation is within _delta_ of an estimate." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:26 +msgid "" +"If _delta_ is too small the algorithm might never halt, as a computation " +"summing values smaller than the decimal resolution of the data type does " +"not change." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:37 +msgid "The return value is of the same type as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:112 +msgid "" +"[__digits__(3)](DIGITS), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:2 +msgid "huge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:5 +msgid "__huge__(3) - \\[NUMERIC MODEL\\] Largest number of a type and kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:15 +msgid "" +"where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported" +" associated _kind_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:20 +msgid "" +"__huge(x)__ returns the largest number that is not an infinity for the " +"kind and type of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:26 +msgid "" +"Shall be an arbitrary value of type _real_ or _integer_. The value is " +"used merely to determine what _kind_ and _type_ of scalar is being " +"queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:32 +msgid "" +"The return value is of the same type and kind as _x_ and is the largest " +"value supported by the specified model." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:91 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:2 +msgid "maxexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:5 +msgid "__maxexponent__(3) - \\[NUMERIC MODEL\\] Maximum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:14 +msgid "" +"__maxexponent(x)__ returns the maximum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:2 +msgid "minexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:5 +msgid "__minexponent__(3) - \\[NUMERIC MODEL\\] Minimum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:14 +msgid "" +"__minexponent(x)__ returns the minimum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:2 +msgid "precision" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:5 +msgid "__precision__(3) - \\[NUMERIC MODEL\\] Decimal precision of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:14 +msgid "" +"__precision(x)__ returns the decimal precision in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:26 +msgid "Shall be of type _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:2 +msgid "radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:5 +msgid "__radix__(3) - \\[NUMERIC MODEL\\] Base of a model number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:14 +msgid "__radix(x)__ returns the base of the model representing the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:19 +msgid "Shall be of type _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:23 +#: ../../source/learn/intrinsics/_pages/RADIX.md:23 +msgid "" +"The return value is a scalar of type _integer_ and of the default integer" +" kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:2 +msgid "range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:5 +msgid "__range__(3) - \\[NUMERIC MODEL\\] Decimal exponent range of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:16 +msgid "" +"where TYPE is _real_ or _complex_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:20 +msgid "" +"__range(x)__ returns the decimal exponent range in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:58 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:2 +msgid "tiny" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:5 +msgid "__tiny__(3) - \\[NUMERIC MODEL\\] Smallest positive number of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:14 +msgid "where KIND may be any kind supported by type _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:18 +msgid "" +"__tiny(x)__ returns the smallest positive (non zero) number of the type " +"and kind of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:28 +msgid "The smallest positive value for the _real_ type of the specified kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:54 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set_exponent__(3)](SET_EXPONENT), " +"[__spacing__(3)](SPACING)" +msgstr "" + +#: ../../source/learn/intrinsics/NUMERIC_index.md:1 +#: ../../source/learn/intrinsics/index.md:20 +msgid "Manipulation and properties of numeric values" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:2 +msgid "abs" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:5 +msgid "__abs__(3) - \\[NUMERIC\\] Absolute value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:15 +msgid "" +"where the TYPE and KIND is determined by the type and type attributes of " +"__a__, which may be any _real_, _integer_, or _complex_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:18 +msgid "" +"If the type of __a__ is _cmplx_ the type returned will be _real_ with the" +" same kind as the _real_ part of the input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:21 +msgid "Otherwise the returned type will be the same type as __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:25 +msgid "__abs(a)__ computes the absolute value of numeric argument __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:27 +msgid "" +"In mathematics, the absolute value or modulus of a real number __x__, " +"denoted __|x|__, is the magnitude of __x__ without regard to its sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:30 +msgid "" +"The absolute value of a number may be thought of as its distance from " +"zero, which is the definition used by __abs__(3) when dealing with " +"_complex_ values (_see below_)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:37 +msgid "" +"the type of the argument shall be an _integer_, _real_, or _complex_ " +"scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:42 +msgid "" +"If __a__ is of type _integer_ or _real_, the value of the result is " +"__|a|__ and of the same type and kind as the input argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:45 +msgid "" +"(Take particular note) if __a__ is _complex_ with value __(x, y)__, the " +"result is a _real_ equal to a processor-dependent approximation to " +"__sqrt(x\\*\\*2 + y\\*\\*2)__ computed without undue overflow or " +"underflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:2 +msgid "aint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:5 +msgid "__aint__(3) - \\[NUMERIC\\] Truncate to a whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:16 +msgid "or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:27 +msgid "__aint(x, kind)__ truncates its argument to a whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:32 +#: ../../source/learn/intrinsics/_pages/ANINT.md:19 +msgid "the type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:40 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If the magnitude of __x__ is less " +"than one, __aint(x)__ returns zero. If the magnitude is equal to or " +"greater than one then it returns the largest whole number that does not " +"exceed its magnitude. The sign is the same as the sign of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:85 +msgid "" +"[__anint__(3)](ANINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:2 +msgid "anint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:5 +msgid "__anint__(3) - \\[NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:14 +msgid "__anint(a \\[, kind\\])__ rounds its argument to the nearest whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:27 +msgid "" +"The return value is of type real with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If __a__ is greater than zero, " +"__anint(a)__ returns __aint(a + 0.5)__. If __a__ is less than or equal to" +" zero then it returns __aint(a - 0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:75 +msgid "" +"[__aint__(3)](AINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:2 +msgid "ceiling" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:5 +msgid "__ceiling__(3) - \\[NUMERIC\\] Integer ceiling function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:18 +msgid "__ceiling(a)__ returns the least integer greater than or equal to __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:31 +msgid "" +"The return value is of type __integer__(kind) if __kind__ is present and " +"a default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:34 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:49 +#: ../../source/learn/intrinsics/_pages/NINT.md:44 +msgid "" +"The result is undefined if it cannot be represented in the specified " +"integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:69 +msgid "[__floor__(3)](FLOOR), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:73 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:85 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:2 +msgid "conjg" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:5 +msgid "__conjg__(3) - \\[NUMERIC\\] Complex conjugate of a complex value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:14 +msgid "where __K__ is the kind of the parameter __z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:18 +msgid "__conjg(z)__ returns the complex conjugate of the _complex_ value __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:20 +msgid "" +"In mathematics, the complex conjugate of a complex_ number is the number " +"with an equal real part and an imaginary part equal in magnitude but " +"opposite in sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:24 +msgid "That is, If __z__ is __(x, y)__ then the result is __(x, -y)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:26 +msgid "" +"For matrices of complex numbers, __conjg(array)__ represents the element-" +"by-element conjugation of __array__; not the conjugate transpose of " +"__array__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:22 +#: ../../source/learn/intrinsics/_pages/CONJG.md:32 +msgid "__z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:33 +msgid "The type shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:37 +msgid "The return value is of type _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:2 +msgid "dim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:5 +msgid "__dim__(3) - \\[NUMERIC\\] Positive difference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:16 +#: ../../source/learn/intrinsics/_pages/SIGN.md:16 +msgid "" +"where TYPE may be _real_ or _integer_ and KIND is any supported kind for " +"the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:19 +msgid "" +"__dim(x,y)__ returns the difference __x - y__ if the result is positive; " +"otherwise it returns zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:25 +msgid "The type shall be _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:28 +msgid "The type shall be the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:32 +msgid "" +"The return value is the same type and kind as the input arguments __x__ " +"and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:2 +msgid "dprod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:5 +msgid "__dprod__(3) - \\[NUMERIC\\] Double product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:14 +msgid "" +"__dprod(x,y)__ produces a higher _doubleprecision_ product of default " +"_real_ numbers __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:17 +msgid "" +"The result has a value equal to a processor-dependent approximation to " +"the product of __x__ and __y__. It is recommended that the processor " +"compute the product in double precision, rather than in single precision " +"and then converted to double precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:23 +#: ../../source/learn/intrinsics/_pages/DPROD.md:26 +msgid "shall be default real." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:28 +msgid "" +"The setting of compiler options specifying _real_ size can affect this " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:34 +msgid "Must be of default _real(kind=kind(0.0))_ type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:37 +msgid "Must have the same type and kind parameters as __x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:41 +msgid "The return value is of type _real(kind=kind(0.0d0))_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:2 +msgid "floor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:5 +msgid "" +"__floor__(3) - \\[NUMERIC\\] function to return largest integral value " +"not greater than argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:19 +msgid "" +"__floor(a)__ returns the greatest integer less than or equal to __a__. " +"That is, it picks the whole number at or to the left of the value on the " +"scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:29 +msgid "" +"(Optional) A scalar _integer_ constant initialization expression " +"indicating the kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:34 +msgid "" +"The return value is of type _integer(kind)_ if __kind__ is present and of" +" default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:81 +msgid "[__ceiling__(3)](CEILING), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:2 +msgid "max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:5 +msgid "__max__(3) - \\[NUMERIC\\] Maximum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:13 +msgid "Returns the argument with the largest (most positive) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:17 +#: ../../source/learn/intrinsics/_pages/MIN.md:18 +msgid "__a1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:18 +#: ../../source/learn/intrinsics/_pages/MIN.md:19 +msgid "The type shall be _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:20 +msgid "__a2,a3,...__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:21 +msgid "An expression of the same type and kind as __a1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:25 +msgid "" +"The return value corresponds to the maximum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:28 +msgid "" +"The function is both elemental and allows for an arbitrary number of " +"arguments. This means if some elements are scalar and some are arrays " +"that all the arrays must be of the same size, and the returned value will" +" be an array that is the result as if multiple calls were made with all " +"scalar values with a single element of each array used in each call. If " +"called with all arrays the returned array is the same as if multiple " +"calls were made with __max(arr1(1),arr2(1), ...)__ to " +"__max(arr1(N),arr2(N))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:115 +msgid "[__maxloc__(3)](MAXLOC), [__maxval__(3)](MAXVAL), [__min__(3)](MIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:2 +msgid "min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:5 +msgid "__min__(3) - \\[NUMERIC\\] Minimum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:14 +msgid "Returns the argument with the smallest (most negative) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:21 +msgid "__a2, a3, \\`\\`\\`__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:22 +msgid "An expression of the same type and kind as __A1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:26 +msgid "" +"The return value corresponds to the minimum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:52 +msgid "[__max__(3)](MAX), [__minloc__(3)](MINLOC), [__minval__(3)](MINVAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:2 +msgid "mod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:5 +msgid "__mod__(3) - \\[NUMERIC\\] Remainder function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:14 +msgid "__mod__(a,p) computes the remainder of the division of __a__ by __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:19 +#: ../../source/learn/intrinsics/_pages/MODULO.md:19 +msgid "Shall be a scalar of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:21 +#: ../../source/learn/intrinsics/_pages/MODULO.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:20 +msgid "__p__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__ and not equal to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:27 +msgid "" +"The return value is the result of __a - (int(a/p) \\* p)__. The type and " +"kind of the return value is the same as that of the arguments. The " +"returned value has the same sign as __a__ and a magnitude less than the " +"magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:76 +msgid "[__modulo__(3)](MODULO)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:2 +msgid "modulo" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:5 +msgid "__modulo__(3) - \\[NUMERIC\\] Modulo function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:14 +msgid "__modulo(a,p)__ computes the __a__ modulo __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__. It shall not be " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:27 +msgid "The type and kind of the result are those of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:29 +msgid "" +"If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value " +"of __a - floor (real(a) / real(p)) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:32 +msgid "" +"If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of " +"__a - floor (a / p) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:35 +msgid "" +"The returned value has the same sign as __p__ and a magnitude less than " +"the magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:70 +msgid "[__mod__(3)](MOD)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:2 +msgid "sign" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:5 +msgid "__sign__(3) - \\[NUMERIC\\] Sign copying function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:76 +msgid "####### fortran-lang intrinsic descriptions (license: MIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:2 +msgid "cshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:5 +msgid "__cshift__(3) - \\[TRANSFORMATIONAL\\] Circular shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:14 +msgid "" +"__cshift(array, shift \\[, dim\\])__ performs a circular shift on " +"elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= dim \\<= n__, where \"n\" is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are shifted back in the other end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:36 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:49 +msgid "Returns an array of same type and rank as the __array__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:2 +msgid "dot\\_product" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:5 +msgid "__dot\\_product__(3) - \\[TRANSFORMATIONAL\\] Dot product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:14 +msgid "" +"__dot\\_product(vector\\_a, vector\\_b)__ computes the dot product " +"multiplication of two vectors vector\\_a and vector\\_b. The two vectors " +"may be either numeric or logical and must be arrays of rank one and of " +"equal size. If the vectors are _integer_ or _real_, the result is " +"__sum(vector\\_a\\*vector\\_b)__. If the vectors are _complex_, the " +"result is __sum(conjg(vector\\_a)\\*vector\\_b)__. If the vectors are " +"_logical_, the result is __any(vector\\_a .and. vector\\_b)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:24 +msgid "__vector\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:25 +msgid "The type shall be numeric or _logical_, rank 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:27 +msgid "__vector\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:28 +msgid "" +"The type shall be numeric if vector\\_a is of numeric type or _logical_ " +"if vector\\_a is of type _logical_. vector\\_b shall be a rank-one array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:34 +msgid "" +"If the arguments are numeric, the return value is a scalar of numeric " +"type, _integer_, _real_, or _complex_. If the arguments are _logical_, " +"the return value is .true. or .false.." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:2 +msgid "eoshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:5 +msgid "__eoshift__(3) - \\[TRANSFORMATIONAL\\] End-off shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:14 +msgid "" +"__eoshift(array, shift\\[, boundary, dim\\])__ performs an end-off shift " +"on elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= DIM \\<= n__ where __\"n\"__ is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are dropped. If __boundary__ is present then the corresponding " +"value of from __boundary__ is copied back in the other end. If " +"__boundary__ is not present then the following are copied in depending on" +" the type of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:25 +msgid "\\*Array Type\\* - \\*Boundary Value\\*" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:27 +msgid "Numeric 0 of the type and kind of __array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:29 +msgid "Logical .false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:31 +msgid "__Character(len)__ LEN blanks" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:36 +msgid "May be any type, not scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:41 +msgid "__boundary__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:42 +msgid "Same type as ARRAY." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:2 +msgid "matmul" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:5 +msgid "__matmul__(3) - \\[TRANSFORMATIONAL\\] matrix multiplication" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:14 +msgid "Performs a matrix multiplication on numeric or logical arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:18 +msgid "__matrix\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:19 +msgid "" +"An array of _integer_, _real_, _complex_, or _logical_ type, with a rank " +"of one or two." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:22 +msgid "__matrix\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:23 +msgid "" +"An array of _integer_, _real_, or _complex_ type if __matrix\\_a__ is of " +"a numeric type; otherwise, an array of _logical_ type. The rank shall be " +"one or two, and the first (or only) dimension of __matrix\\_b__ shall be " +"equal to the last (or only) dimension of __matrix\\_a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:30 +msgid "" +"The matrix product of __matrix\\_a__ and __matrix\\_b__. The type and " +"kind of the result follow the usual type and kind promotion rules, as for" +" the \\* or .and. operators." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:2 +msgid "parity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:5 +msgid "__parity__(3) - \\[TRANSFORMATIONAL\\] Reduction with exclusive __OR__()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:17 +msgid "where KIND and LKIND are any supported kind for the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:2 +msgid "null" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:5 +msgid "" +"__null__(3) - \\[TRANSFORMATIONAL\\] Function that returns a " +"disassociated pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:15 +msgid "Returns a disassociated pointer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:17 +msgid "" +"If __mold__ is present, a disassociated pointer of the same type is " +"returned, otherwise the type is determined by context." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:20 +msgid "" +"In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ " +"includes cases where it is required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:26 +msgid "__mold__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:25 +msgid "(Optional) shall be a pointer of any association status and of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:30 +msgid "A disassociated pointer or an unallocated allocatable entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:116 +msgid "[__associated__(3)](ASSOCIATED)" +msgstr "" + +#: ../../source/learn/intrinsics/PARALLEL_index.md:1 +msgid "Parallel programming using co\\_arrays and co\\_indexed arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:2 +msgid "co\\_broadcast" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:5 +msgid "" +"__co\\_broadcast__(3) - \\[COLLECTIVE\\] Copy a value to all images the " +"current set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:14 +msgid "" +"__co\\_broadcast(3)__ copies the value of argument __a__ on the image " +"with image index source\\_image to all images in the current team. __a__ " +"becomes defined as if by intrinsic assignment. If the execution was " +"successful and __stat__ is present, it is assigned the value zero. If the" +" execution failed, __stat__ gets assigned a nonzero value and, if " +"present, __errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:24 +msgid "" +"__intent(inout)__ argument; shall have the same dynamic type and type " +"parameters on all images of the current team. If it is an array, it shall" +" have the same shape on all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:28 +msgid "__source\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:29 +msgid "" +"a scalar integer expression. It shall have the same the same value on all" +" images and refer to an image of the current team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:32 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:32 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:34 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:34 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:51 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:34 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:30 +msgid "__stat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:33 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:35 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:52 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:35 +msgid "(optional) a scalar integer variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:37 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:54 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:37 +msgid "__errmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:36 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:38 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:38 +msgid "(optional) a scalar character variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:56 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_reduce__(3)](CO_REDUCE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:2 +msgid "co\\_lbound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:5 +msgid "__co\\_lbound__(3) - \\[COLLECTIVE\\] Lower codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:14 +msgid "" +"Returns the lower bounds of a coarray, or a single lower cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:20 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:20 +msgid "Shall be an coarray, of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:23 +msgid "(Optional) Shall be a scalar _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:31 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:31 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind. If __dim__ is " +"absent, the result is an array of the lower cobounds of __coarray__. If " +"__dim__ is present, the result is a scalar corresponding to the lower " +"cobound of the array along that codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:43 +msgid "[__co\\_ubound__(3)](CO_UBOUND), [__lbound__(3)](LBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:2 +msgid "co\\_max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:5 +msgid "" +"__co\\_max__(3) - \\[COLLECTIVE\\] Maximal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:14 +msgid "" +"co\\_max determines element-wise the maximal value of __a__ on all images" +" of the current team. If result\\_image is present, the maximum values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:26 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:26 +msgid "" +"shall be an integer, real or character variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:29 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:29 +msgid "__result\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:30 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:30 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:47 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:30 +msgid "" +"(optional) a scalar integer expression; if present, it shall have the " +"same the same value on all images and refer to an image of the current " +"team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:50 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:62 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:58 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:92 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:63 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:54 +msgid "TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:66 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:2 +msgid "co\\_min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:5 +msgid "" +"__co\\_min__(3) - \\[COLLECTIVE\\] Minimal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:14 +msgid "" +"co\\_min determines element-wise the minimal value of __a__ on all images" +" of the current team. If result\\_image is present, the minimal values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:62 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:2 +msgid "co\\_reduce" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:5 +msgid "" +"__co\\_reduce__(3) - \\[COLLECTIVE\\] Reduction of values on the current " +"set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:14 +msgid "" +"co\\_reduce determines element-wise the reduction of the value of __a__ " +"on all images of the current team. The pure function passed as " +"__operation__ is used to pairwise reduce the values of __a__ by passing " +"either the value of __a__ of different images or the result values of " +"such a reduction as argument. If __a__ is an array, the reduction is done" +" element wise. If result\\_image is present, the result values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:30 +msgid "" +"is an __intent(inout)__ argument and shall be nonpolymorphic. If it is " +"allocatable, it shall be allocated; if it is a pointer, it shall be " +"associated. __a__ shall have the same type and type parameters on all " +"images of the team; if it is an array, it shall have the same shape on " +"all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:36 +msgid "__operation__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:37 +msgid "" +"pure function with two scalar nonallocatable arguments, which shall be " +"nonpolymorphic and have the same type and type parameters as __a__. The " +"function shall return a nonallocatable scalar of the same type and type " +"parameters as __a__. The function shall be the same on all images and " +"with regards to the arguments mathematically commutative and associative." +" Note that OPERATION may not be an elemental" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:44 +msgid "__function, unless it is an intrinsic function.__ result\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:85 +msgid "" +"While the rules permit in principle an intrinsic function, none of the " +"intrinsics in the standard fulfill the criteria of having a specific " +"function, which takes two arguments of the same type and returning that " +"type as a result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:96 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_max__(3)](CO_MAX), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:2 +msgid "co\\_sum" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:5 +msgid "" +"__co\\_sum__(3) - \\[COLLECTIVE\\] Sum of values on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:14 +msgid "" +"co\\_sum sums up the values of each element of __a__ on all images of the" +" current team. If result\\_image is present, the summed-up values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:26 +msgid "" +"shall be an integer, real or complex variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:67 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:2 +msgid "co\\_ubound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:5 +msgid "__co\\_ubound__(3) - \\[COLLECTIVE\\] Upper codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:14 +msgid "" +"Returns the upper cobounds of a coarray, or a single upper cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:43 +msgid "" +"[__co\\_lbound__(3)](CO_LBOUND), [__lbound__(3)](LBOUND), " +"[__ubound__(3)](UBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:2 +msgid "event\\_query" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:5 +msgid "" +"__event\\_query__(3) - \\[COLLECTIVE\\] Query whether a coarray event has" +" occurred" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:14 +msgid "" +"__event\\_query__ assigns the number of events to __count__ which have " +"been posted to the __event__ variable and not yet been removed by calling" +" __event\\_wait__. When __stat__ is present and the invocation was " +"successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value and __count__ is " +"assigned the value __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:22 +msgid "__event__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:23 +msgid "" +"(intent(in)) Scalar of type event\\_type, defined in iso\\_fortran\\_env;" +" shall not be coindexed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:25 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:26 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:42 +msgid "__count__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:27 +msgid "" +"(intent(out))Scalar integer with at least the precision of default " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:31 +msgid "(OPTIONAL) Scalar default-kind _integer_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:2 +msgid "image\\_index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:5 +msgid "" +"__image\\_index__(3) - \\[COLLECTIVE\\] Cosubscript to image index " +"conversion" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:14 +msgid "Returns the image index belonging to a cosubscript." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:23 +msgid "__coarray__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:19 +msgid "Coarray of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:21 +msgid "__sub__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:22 +msgid "default integer rank-1 array of a size equal to the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:27 +msgid "" +"Scalar default integer with the value of the image index which " +"corresponds to the cosubscripts. For invalid cosubscripts the result is " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:50 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__num\\_images__(3)](NUM_IMAGES)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:2 +msgid "num\\_images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:5 +msgid "__num\\_images__(3) - \\[COLLECTIVE\\] Number of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:14 +msgid "Returns the number of images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:19 +msgid "__distance__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:19 +msgid "(optional, __intent(in)__) Nonnegative scalar integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:21 +msgid "__failed__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:22 +msgid "(optional, __intent(in)__) Scalar logical expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:26 +msgid "" +"Scalar default-kind _integer_. If __distance__ is not present or has " +"value 0, the number of images in the current team is returned. For values" +" smaller or equal distance to the initial team, it returns the number of " +"images index on the ancestor team which has a distance of __distance__ " +"from the invoking team. If __distance__ is larger than the distance to " +"the initial team, the number of images of the initial team is returned. " +"If __failed__ is not present the total number of images is returned; if " +"it has the value .true., the number of failed images is returned, " +"otherwise, the number of images which do have not the failed status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:59 +msgid "" +"Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or " +"later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:63 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__image\\_index__(3)](THIS_INDEX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:2 +msgid "this\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:5 +msgid "__this\\_image__(3) - \\[COLLECTIVE\\] Cosubscript index of this image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:15 +msgid "Returns the cosubscript for this image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:20 +msgid "" +"(optional, __intent(in)__) Nonnegative scalar integer (not permitted " +"together with __coarray__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:24 +msgid "Coarray of any type (optional; if __dim__ present, required)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:27 +msgid "" +"default integer scalar (optional). If present, __dim__ shall be between " +"one and the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:32 +msgid "" +"Default integer. If __coarray__ is not present, it is scalar; if " +"__distance__ is not present or has value __0__, its value is the image " +"index on the invoking image for the current team, for values smaller or " +"equal distance to the initial team, it returns the image index on the " +"ancestor team which has a distance of __distance__ from the invoking " +"team. If __distance__ is larger than the distance to the initial team, " +"the image index of the initial team is returned. Otherwise when the " +"__coarray__ is present, if __dim__ is not present, a rank-1 array with " +"corank elements is returned, containing the cosubscripts for __coarray__ " +"specifying the invoking image. If __dim__ is present, a scalar is " +"returned, with the value of the __dim__ element of " +"__this\\_image(coarray)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:66 +msgid "" +"! ! Check whether the current image is the initial image if " +"(this_image(huge(1)) /= this_image()) error stop \"something is rotten " +"here\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:2 +msgid "atomic\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:5 +msgid "" +"__atomic\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise AND " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:14 +msgid "" +"__atomic\\_and(atom, value)__ atomically defines __atom__ with the " +"bitwise __and__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value 0. If it is present and the invocation has failed, it is assigned " +"a positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:24 +msgid "__atom__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:25 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:28 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:32 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:34 +msgid "__value__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:29 +msgid "" +"Scalar of the same type as __atom__. If the kind is different, the value " +"is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:42 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:33 +msgid "(optional) Scalar default-kind integer variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:53 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:2 +msgid "atomic\\_fetch\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:5 +msgid "" +"__atomic\\_fetch\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise AND operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:14 +msgid "" +"__atomic\\_fetch\\_and(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise AND between " +"the values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:33 +msgid "__old__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:34 +msgid "Scalar of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:65 +msgid "[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:2 +msgid "atomic\\_fetch\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:5 +msgid "" +"__atomic\\_fetch\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise" +" OR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:14 +msgid "" +"__atomic\\_fetch\\_or(atom, value, old)__ atomically stores the value of " +"__atom__ in __old__ and defines __atom__ with the bitwise OR between the " +"values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), [__atomic\\_or__(3)](ATOMIC_OR)," +" [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:2 +msgid "atomic\\_fetch\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:5 +msgid "" +"__atomic\\_fetch\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise XOR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:14 +msgid "" +"__atomic\\_fetch\\_xor(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise __xor__ " +"between the values of __atom__ and __value__. When __stat__ is present " +"and the invocation was successful, it is assigned the value __0__. If it " +"is present and the invocation has failed, it is assigned a positive " +"value; in particular, for a coindexed __atom__, if the remote image has " +"stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_xor__(3)](ATOMIC_XOR), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:65 +msgid "[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:2 +msgid "atomic\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:5 +msgid "" +"__atomic\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:14 +msgid "" +"__atomic\\_or(atom, value)__ atomically defines __atom__ with the bitwise" +" __or__ between the values of __atom__ and __value__. When __stat__ is " +"present and the invocation was successful, it is assigned the value " +"__0__. If it is present and the invocation has failed, it is assigned a " +"positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:57 +msgid "" +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:61 +msgid "[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:2 +msgid "atomic\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:5 +msgid "" +"__atomic\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:14 +msgid "" +"__atomic\\_xor(atom, value)__ atomically defines __atom__ with the " +"bitwise __xor__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value __0__. If it is present and the invocation has failed, it is " +"assigned a positive value; in particular, for a coindexed __atom__, if " +"the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH), " +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:2 +msgid "atomic\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:5 +msgid "__atomic\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:13 +msgid "" +"__atomic\\_ad(atom, value)__ atomically adds the value of VAR to the " +"variable __atom__. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed ATOM, if the remote image has stopped, it is assigned the" +" value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote " +"image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:53 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR) __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:2 +msgid "atomic\\_cas" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:5 +msgid "__atomic\\_cas__(3) - \\[ATOMIC\\] Atomic compare and swap" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:14 +msgid "" +"atomic\\_cas compares the variable __atom__ with the value of " +"__compare__; if the value is the same, __atom__ is set to the value of " +"__new__. Additionally, __old__ is set to the value of __atom__ that was " +"used for the comparison. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:29 +msgid "" +"Scalar coarray or coindexed variable of either integer type with " +"atomic\\_int\\_kind kind or logical type with atomic\\_logical\\_kind " +"kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:34 +msgid "__compare__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:35 +msgid "Scalar variable of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:37 +msgid "__new__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:38 +msgid "" +"Scalar variable of the same type as __atom__. If kind is different, the " +"value is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:63 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__iso\\_fortran\\_env__(3)]()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:2 +msgid "atomic\\_define" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:5 +msgid "__atomic\\_define__(3) - \\[ATOMIC\\] Setting a variable atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:19 +msgid "" +"__atomic\\_define(atom, value)__ defines the variable __atom__ with the " +"value __value__ atomically. When __stat__ is present and the invocation " +"was successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:55 +msgid "Fortran 2008 and later; with __stat__, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:59 +msgid "" +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:2 +msgid "atomic\\_fetch\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:5 +msgid "" +"__atomic\\_fetch\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation with " +"prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:14 +msgid "" +"__atomic\\_fetch\\_add(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and adds the value of __var__ to the variable " +"__atom__. When __stat__ is present and the invocation was successful, it " +"is assigned the value __0__. If it is present and the invocation has " +"failed, it is assigned a positive value; in particular, for a coindexed " +"__atom__, if the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:26 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind. atomic\\_logical\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_add__(3)](ATOMIC_ADD), __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:62 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:2 +msgid "atomic\\_ref" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:5 +msgid "" +"__atomic\\_ref__(3) - \\[ATOMIC\\] Obtaining the value of a variable " +"atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:14 +msgid "" +"__atomic\\_ref(value, atom)__ atomically assigns the value of the " +"variable __atom__ to __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's " +"__stat\\_stopped\\_image__ and if the remote image has failed, the value " +"__stat\\_failed\\_image__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:57 +msgid "Fortran 2008 and later; with STAT, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:61 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_cas__(3)](ATOMIC_CAS), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:65 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:68 +msgid "" +"[__atomic\\_fetch\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/STATE_index.md:1 +msgid "General and miscellaneous intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:2 +msgid "associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:5 +msgid "__associated__(3) - \\[STATE\\] Status of a pointer or pointer/target pair" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:14 +msgid "" +"__associated(pointer \\[, target\\])__ determines the status of the " +"pointer __pointer__ or if __pointer__ is associated with the target " +"__target__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:19 +msgid "__pointer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:20 +msgid "__pointer__ shall have the _pointer_ attribute and it can be of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:22 +msgid "__target__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:23 +msgid "" +"(Optional) __target__ shall be a pointer or a target. It must have the " +"same type, kind type parameter, and array rank as __pointer__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:26 +msgid "" +"The association status of neither __pointer__ nor __target__ shall be " +"undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:30 +msgid "" +"__associated(pointer)__ returns a scalar value of type _logical_. There " +"are several cases:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:33 +msgid "" +"When the optional __target__ is not present then __associated(pointer)__ " +"is true if __pointer__ is associated with a target; otherwise, it returns" +" false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:37 +msgid "" +"If __target__ is present and a scalar target, the result is true if " +"__target__ is not a zero-sized storage sequence and the target associated" +" with __pointer__ occupies the same storage units. If __pointer__ is " +"disassociated, the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:42 +msgid "" +"If __target__ is present and an array target, the result is true if " +"__target__ and __pointer__ have the same shape, are not zero-sized " +"arrays, are arrays whose elements are not zero-sized storage sequences, " +"and __target__ and __pointer__ occupy the same storage units in array " +"element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:48 +msgid "As in case 2, the result is false, if __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:50 +msgid "" +"If __target__ is present and an scalar pointer, the result is true if " +"__target__ is associated with __pointer__, the target associated with " +"__target__ are not zero-sized storage sequences and occupy the same " +"storage units." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:55 +msgid "" +"The result is __.false.__, if either __target__ or __pointer__ is " +"disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:57 +msgid "" +"If __target__ is present and an array pointer, the result is true if " +"target associated with __pointer__ and the target associated with " +"__target__ have the same shape, are not zero-sized arrays, are arrays " +"whose elements are not zero-sized storage sequences, and __target__ and " +"__pointer__ occupy the same storage units in array element order. The " +"result is false, if either __target__ or __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:86 +msgid "[__null__(3)](NULL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:2 +msgid "extends\\_type\\_of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:5 +msgid "" +"__extends\\_type\\_of__(3) - \\[STATE\\] determine if the dynamic type of" +" __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:14 +msgid "" +"__extends\\_type\\_of__(3) is __.true.__ if and only if the dynamic type " +"of __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:17 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:27 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:25 +msgid "__Options__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:20 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:24 +msgid "" +"shall be an object of extensible type. If it is a pointer, it shall not " +"have an undefined association status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:30 +msgid "Default logical scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:33 +msgid "" +"If __mold__ is unlimited polymorphic and is either a disassociated " +"pointer or unallocated allocatable variable, the result is true; " +"otherwise if __a__ is unlimited polymorphic and is either a disassociated" +" pointer or unallocated allocatable variable, the result is false; " +"otherwise the result is true if and only if the dynamic type of __a__ is " +"an extension type of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:40 +msgid "" +"The dynamic type of a disassociated pointer or unallocated allocatable " +"variable is its declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:2 +msgid "is\\_iostat\\_end" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:5 +msgid "__is\\_iostat\\_end__(3) - \\[STATE\\] Test for end-of-file value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:17 +msgid "" +"is\\_iostat\\_end(3) tests whether a variable (assumed returned as a " +"status from an I/O statement) has the \"end of file\" I/O status value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:20 +msgid "" +"The function is equivalent to comparing the variable with the " +"__iostat\\_end__ parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:26 +msgid "An _integer_ status value to test if indicating end of file." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:30 +msgid "" +"Returns a _logical_ of the default kind, __.true.__ if __i__ has the " +"value which indicates an end of file condition for __iostat=__ " +"specifiers, and is __.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:2 +msgid "is\\_iostat\\_eor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:5 +msgid "__is\\_iostat\\_eor__(3) - \\[STATE\\] Test for end-of-record value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:14 +msgid "" +"is\\_iostat\\_eor tests whether an variable has the value of the I/O " +"status \"end of record\". The function is equivalent to comparing the " +"variable with the iostat\\_eor parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:22 +msgid "Shall be of the type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:26 +msgid "" +"Returns a _logical_ of the default kind, which .true. if __i__ has the " +"value which indicates an end of file condition for iostat= specifiers, " +"and is .false. otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:2 +msgid "move\\_alloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:5 +msgid "__move\\_alloc__(3) - \\[\\] Move allocation from one object to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:14 +msgid "" +"__move\\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC " +"will become deallocated in the process." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:19 +msgid "__src__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:20 +msgid "allocatable, __intent(inout)__, may be of any type and kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:22 +msgid "__dest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:23 +msgid "" +"allocatable, __intent(out)__, shall be of the same type, kind and rank as" +" SRC." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:28 +msgid "Basic Sample program to allocate a bigger grid" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:70 +msgid "[__allocated__(3)](ALLOCATED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:2 +msgid "present" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:5 +msgid "" +"__present__(3) - [STATE\\] Determine whether an optional dummy argument" +" is specified" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:17 +msgid "Determines whether an optional dummy argument is present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:22 +msgid "" +"May be of any type and may be a pointer, scalar or array value, or a " +"dummy procedure. It shall be the name of an optional dummy argument " +"accessible within the current subroutine or function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:28 +msgid "" +"Returns either __.true.__ if the optional argument __a__ is present, or " +"__.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:2 +msgid "same\\_type\\_as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:5 +msgid "__same\\_type\\_as__(3) - \\[STATE\\] Query dynamic types for equality" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:14 +msgid "Query dynamic types for equality." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:19 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:23 +msgid "Shall be an object of extensible declared type or unlimited polymorphic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:22 +msgid "__b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:28 +msgid "" +"The return value is a scalar of type default logical. It is true if and " +"only if the dynamic type of __a__ is the same as the dynamic type of " +"__b__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:37 +msgid "[__extends\\_type\\_of__(3)](EXTENDS_TYPE_OF)" +msgstr "" + +#: ../../source/learn/intrinsics/SYSTEM_index.md:1 +msgid "Accessing external system information" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:2 +msgid "command\\_argument\\_count" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:5 +msgid "" +"__command\\_argument\\_count__(3) - \\[SYSTEM:COMMAND LINE\\] Get number " +"of command line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:16 +msgid "" +"__command\\_argument\\_count()__ returns the number of arguments passed" +" on the command line when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:21 +msgid "None" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:26 +msgid "" +"The return value is of type default _integer_. It is the number of " +"arguments passed on the command line when the program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:42 +msgid "Sample output:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:60 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:2 +msgid "get\\_command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:5 +msgid "" +"__get\\_command__(3) - \\[SYSTEM:COMMAND LINE\\] Get the entire command " +"line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:18 +msgid "Retrieve the entire command line that was used to invoke the program." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:20 +msgid "" +"Note that what is typed on the command line is often processed by a " +"shell. The shell typically processes special characters and white space " +"before passing it to the program. The processing can typically be turned " +"off by turning off globbing or quoting the command line arguments and/or " +"changing the default field separators, but this should rarely be " +"necessary." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:42 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:29 +msgid "__command__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:30 +msgid "" +"Shall be of type _character_ and of default kind. If __command__ is " +"present, stores the entire command line that was used to invoke the " +"program in __command__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:42 +msgid "__length__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:35 +msgid "" +"Shall be of type _integer_ and of default kind. If __length__ is present," +" it is assigned the length of the command line." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:38 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:48 +msgid "__status__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:39 +msgid "" +"Shall be of type _integer_ and of default kind. If __status__ is present," +" it is assigned 0 upon success of the command, __-1__ if __command__ is " +"too short to store the command line, or a positive value in case of an " +"error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:83 +msgid "" +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:2 +msgid "get\\_command\\_argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:5 +msgid "" +"__get\\_command\\_argument__(3) - \\[SYSTEM:COMMAND LINE\\] Get command " +"line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:19 +msgid "" +"Retrieve the __number__-th argument that was passed on the command line " +"when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:22 +msgid "" +"There is not anything specifically stated about what an argument is but " +"in practice the arguments are split on whitespace unless the arguments " +"are quoted and IFS values (Internal Field Separators) used by common " +"shells are ignored." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:29 +msgid "__number__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:30 +msgid "" +"Shall be a scalar of type __integer__, __number \\>= 0__. If __number = " +"0__, __value__ is set to the name of the program (on systems that support" +" this feature)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:36 +msgid "" +"__value__ :Shall be a scalar of type _character_ and of default kind. " +"After get\\_command\\_argument returns, the __value__ argument holds the " +"__number__-th command line argument. If __value__ can not hold the " +"argument, it is truncated to fit the length of __value__. If there are " +"less than __number__ arguments specified at the command line, __value__ " +"will be filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:44 +msgid "" +"__length__ :(Optional) Shall be a scalar of type _integer_. The " +"__length__ argument contains the length of the __number__-th command line" +" argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:48 +msgid "" +"__status__ :(Optional) Shall be a scalar of type _integer_. If the " +"argument retrieval fails, __status__ is a positive number; if __value__ " +"contains a truncated command line argument, __status__ is __-1__; and " +"otherwise the __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:125 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:2 +msgid "cpu\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:5 +msgid "__cpu\\_time__(3) - \\[SYSTEM:TIME\\] return CPU processor time in seconds" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:14 +msgid "" +"Returns a _real_ value representing the elapsed CPU time in seconds. This" +" is useful for testing segments of code to determine execution time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:17 +msgid "" +"The exact definition of time is left imprecise because of the variability" +" in what different processors are able to provide." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:20 +msgid "If no time source is available, TIME is set to a negative value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:22 +msgid "" +"Note that TIME may contain a system dependent, arbitrary offset and may " +"not start with 0.0. For cpu\\_time the absolute value is meaningless. " +"Only differences between subsequent calls, as shown in the example below," +" should be used." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:27 +msgid "" +"A processor for which a single result is inadequate (for example, a " +"parallel processor) might choose to provide an additional version for " +"which time is an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:33 +msgid "__TIME__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:34 +msgid "" +"The type shall be _real_ with __intent(out)__. It is assigned a " +"processor-dependent approximation to the processor time in seconds. If " +"the processor cannot return a meaningful time, a processor-dependent " +"negative value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:39 +msgid "" +"__is returned.__ The start time is left imprecise because the purpose is " +"to time sections of code, as in the example. This might or might not " +"include system overhead time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:71 +msgid "" +"[__system\\_clock__(3)](SYSTEM_CLOCK), " +"[__date\\_and\\_time__(3)](DATE_AND_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:2 +msgid "date\\_and\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:5 +msgid "__date\\_and\\_time__(3) - \\[SYSTEM:TIME\\] gets current time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:18 +msgid "" +"__date\\_and\\_time(date, time, zone, values)__ gets the corresponding " +"date and time information from the real-time system clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:21 +msgid "Unavailable time and date _character_ parameters return blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:25 +msgid "__date__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:26 +msgid "" +"A character string of default kind of the form CCYYMMDD, of length 8 or " +"larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:28 +msgid "__time__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:29 +msgid "" +"A character string of default kind of the form HHMMSS.SSS, of length 10 " +"or larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:31 +msgid "__zone__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:32 +msgid "" +"A character string of default kind of the form (+-)HHMM, of length 5 or " +"larger, representing the difference with respect to Coordinated Universal" +" Time (UTC)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:35 +msgid "__values__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:36 +msgid "An _integer_ array of eight elements that contains:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:38 +msgid "__values__(1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:39 +msgid ": The year" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:40 +msgid "__values__(2)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:41 +msgid ": The month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:42 +msgid "__values__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:43 +msgid ": The day of the month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:44 +msgid "__values__(4)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:45 +msgid ": Time difference with UTC in minutes" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:46 +msgid "__values__(5)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:47 +msgid ": The hour of the day" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:48 +msgid "__values__(6)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:49 +msgid ": The minutes of the hour" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:50 +msgid "__values__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:51 +msgid ": The seconds of the minute" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:52 +msgid "__values__(8)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:53 +msgid ": The milliseconds of the second" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:103 +msgid "[__cpu\\_time__(3)](CPU_TIME), [__system\\_clock__(3)](SYSTEM_CLOCK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:107 +msgid "date and time conversion, formatting and computation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:109 +msgid "[M_time](https://github.com/urbanjost/M_time)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:110 +msgid "[datetime](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:111 +msgid "[datetime-fortran](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:2 +msgid "system_clock" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:5 +msgid "" +"__system\\_clock__(3) - \\[SYSTEM:TIME\\] Return numeric data from a " +"real-time clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:20 +msgid "" +"__system\\_clock__ lets you measure durations of time with the precision " +"of the smallest time increment generally available on a system by " +"returning processor-dependent values based on the current value of the " +"processor clock. The __clock__ value is incremented by one for each clock" +" count until the value __count\\_max__ is reached and is then reset to " +"zero at the next count. __clock__ therefore is a modulo value that lies " +"in the range __0 to count\\_max__. __count\\_rate__ and __count\\_max__ " +"are assumed constant (even though CPU rates can vary on a single " +"platform)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:29 +msgid "" +"__count\\_rate__ is system dependent and can vary depending on the kind " +"of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:32 +msgid "" +"If there is no clock, or querying the clock fails, __count__ is set to " +"__-huge(count)__, and __count\\_rate__ and __count\\_max__ are set to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:35 +msgid "" +"__system\\_clock__ is typically used to measure short time intervals " +"(system clocks may be 24-hour clocks or measure processor clock ticks " +"since boot, for example). It is most often used for measuring or tracking" +" the time spent in code blocks in lieu of using profiling tools." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:43 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned a processor-" +"dependent value based on the current value of the processor clock, or " +"__-huge(count)__ if there is no clock. The processor-dependent value is " +"incremented by one for each clock count until the value __count\\_max__ " +"is reached and is reset to zero at the next count. It lies in the range " +"__0__ to __count\\_max__ if there is a clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:51 +msgid "__count\\_rate__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:52 +msgid "" +"(optional) shall be an _integer_ or _real_ scalar. It is assigned a " +"processor-dependent approximation to the number of processor clock counts" +" per second, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:56 +msgid "__count\\_max__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:57 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned the maximum value" +" that __COUNT__ can have, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:82 +msgid "" +"If the processor clock is a 24-hour clock that registers time at " +"approximately 18.20648193 ticks per second, at 11:30 A.M. the reference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:87 +msgid "defines" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:100 +msgid "[__date\\_and\\_time__(3)](DATE_AND_TIME), [__cpu\\_time__(3)](CPU_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:2 +msgid "execute\\_command\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:5 +msgid "" +"__execute\\_command\\_line__(3) - \\[SYSTEM:PROCESSES\\] Execute a shell " +"command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:20 +msgid "" +"The __command__ argument is passed to the shell and executed. (The shell " +"is generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If " +"__wait__ is present and has the value __.false.__, the execution of the " +"command is asynchronous if the system supports it; otherwise, the command" +" is executed synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:26 +msgid "" +"The three last arguments allow the user to get status information. After " +"synchronous execution, __exitstat__ contains the integer exit code of the" +" command, as returned by __system__. __cmdstat__ is set to zero if the " +"command line was executed (whatever its exit status was). __cmdmsg__ is " +"assigned an error message if an error has occurred." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:32 +msgid "" +"Note that the system call need not be thread-safe. It is the " +"responsibility of the user to ensure that the system is not called " +"concurrently if required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:36 +msgid "" +"When the command is executed synchronously, __execute\\_command\\_line__ " +"returns after the command line has completed execution. Otherwise, " +"__execute\\_command\\_line__ returns without waiting." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:43 +msgid "" +"a default _character_ scalar containing the command line to be executed. " +"The interpretation is programming-environment dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:46 +msgid "__wait__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:47 +msgid "" +"(Optional) a default _logical_ scalar. If __wait__ is present with the " +"value .false., and the processor supports asynchronous execution of the " +"command, the command is executed asynchronously; otherwise it is executed" +" synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:52 +msgid "__exitstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:53 +msgid "" +"(Optional) an _integer_ of the default kind with __intent(inout)__. If " +"the command is executed synchronously, it is assigned the value of the " +"processor-dependent exit status. Otherwise, the value of __exitstat__ is " +"unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:58 +msgid "__cmdstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:59 +msgid "" +"(Optional) an _integer_ of default kind with __intent(inout)__. If an " +"error condition occurs and __cmdstat__ is not present, error termination " +"of execution of the image is initiated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:63 +msgid "" +"It is assigned the value __-1__ if the processor does not support command" +" line execution, a processor-dependent positive value if an error " +"condition occurs, or the value __-2__ if no error condition occurs but " +"__wait__ is present with the value false and the processor does not " +"support asynchronous execution. Otherwise it is assigned the value 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:70 +msgid "__cmdmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:71 +msgid "" +"(Optional) a _character_ scalar of the default kind. It is an __intent " +"(inout)__ argument.If an error condition occurs, it is assigned a " +"processor-dependent explanatory message.Otherwise, it is unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:94 +msgid "" +"Because this intrinsic is making a system call, it is very system " +"dependent. Its behavior with respect to signaling is processor dependent." +" In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT " +"signals will be ignored, and the SIGCHLD will be blocked. As such, if the" +" parent process is terminated, the child process might not be terminated " +"alongside." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:2 +msgid "get\\_environment" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:5 +msgid "" +"__get\\_environment\\_variable__(3) - \\[SYSTEM:ENVIRONMENT\\] Get an " +"environmental variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:19 +msgid "Get the __value__ of the environmental variable __name__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:21 +msgid "" +"Note that __get\\_environment\\_variable__(3) need not be thread-safe. It" +" is the responsibility of the user to ensure that the environment is not " +"being updated concurrently." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:22 +msgid "__name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:28 +msgid "The name of the environment variable to query." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:30 +msgid "Shall be a scalar of type _character_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:35 +msgid "The value of the environment variable being queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:37 +msgid "" +"Shall be a scalar of type _character_ and of default kind. The value of " +"__name__ is stored in __value__. If __value__ is not large enough to hold" +" the data, it is truncated. If __name__ is not set, __value__ will be " +"filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:43 +msgid "" +"Argument __length__ contains the length needed for storing the " +"environment variable __name__ or zero if it is not present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:46 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:54 +msgid "Shall be a scalar of type _integer_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:49 +msgid "" +"__status__ is __-1__ if __value__ is present but too short for the " +"environment variable; it is __1__ if the environment variable does not " +"exist and __2__ if the processor does not support environment variables; " +"in all other cases __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:56 +msgid "__trim\\_name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:57 +msgid "" +"If __trim\\_name__ is present with the value __.false.__, the trailing " +"blanks in __name__ are significant; otherwise they are not part of the " +"environment variable name." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:61 +msgid "Shall be a scalar of type _logical_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/TRANSFORM_index.md:1 +msgid "Matrix multiplication, dot product, and array shifts" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:1 +msgid "Types and kinds" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:3 +msgid "" +"These intrinsics allow for explicitly casting one type of variable to " +"another or can be used to conditionally execute code blocks based on " +"variable types when working with polymorphic variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:7 +msgid "Fortran Data Types" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:9 +msgid "Fortran provides five basic intrinsic data types:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:11 +msgid "Integer type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:12 +msgid "The integer types can hold only whole number values." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:13 +msgid "Real type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:14 +msgid "Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:15 +msgid "Complex type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:16 +msgid "" +"A complex number has two parts, the real part and the imaginary part. Two" +" consecutive floating point storage units store the two parts." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:19 +msgid "Logical type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:20 +msgid "There are only two logical values: .true. and .false." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:21 +msgid "Character type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:22 +msgid "" +"The character type stores strings. The length of the string can be " +"specified by the __len__ specifier. If no length is specified, it is 1." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:25 +msgid "" +"These \"types\" can be of many \"kinds\". Often different numeric kinds " +"take up different storage sizes and therefore can represent different " +"ranges; but a different kind can have other meanings. A _character_ " +"variable might represent ASCII characters or UTF-8 or Unicode characters," +" for example." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:31 +msgid "You can derive your own data types from these fundamental types as well." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:33 +msgid "Implicit Typing" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:35 +msgid "" +"Fortran allows a feature called implicit typing, i.e., you do not have to" +" declare some variables before use. By default if a variable is not " +"declared, then the first letter of its name will determine its type:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:39 +msgid "" +"Variable names starting with __i-n__ (the first two letters of " +"\"integer\") specify _integer_ variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:42 +msgid "All other variable names default to _real_." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:45 +msgid "" +"However, in most circles it is considered good programming practice to " +"declare all the variables. For that to be enforced, you start your " +"variable declaration section with a statement that turns off implicit " +"typing: the statement" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:52 +msgid "For more information refer to the __implicit__ statement." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:2 +msgid "aimag" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:5 +msgid "__aimag__(3) - \\[TYPE:NUMERIC\\] Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:18 +msgid "__aimag(z)__ yields the imaginary part of complex argument __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:23 +msgid "The type of the argument shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:27 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:2 +msgid "cmplx" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:5 +msgid "__cmplx__(3) - \\[TYPE:NUMERIC\\] Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:19 +msgid "" +"To convert numeric variables to complex, use the __cmplx__(3) function. " +"Constants can be used to define a complex variable using the syntax" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:26 +msgid "" +"but this will not work for variables. You must use the __cmplx__(3) " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:28 +msgid "" +"__cmplx(x \\[, y \\[, kind\\]\\])__ returns a complex number where __x__ " +"is converted to the _real_ component. If __x__ is _complex_ then __y__ " +"must not be present. If __y__ is present it is converted to the imaginary" +" component. If __y__ is not present then the imaginary component is set " +"to __0.0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:33 +msgid "__cmplx(3) and double precision__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:35 +msgid "" +"The Fortran 90 language defines __cmplx__(3) as always returning a result" +" that is type __complex(kind=KIND(0.0))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:38 +msgid "" +"This means \\`__cmplx(d1,d2)__', where __\\`d1'__ and __\\`d2'__ are " +"_doubleprecision_, is treated as: fortran" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:45 +msgid "_doubleprecision complex_ numbers require specifying a precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:47 +msgid "" +"It was necessary for Fortran 90 to specify this behavior for " +"_doubleprecision_ arguments, since that is the behavior mandated by " +"FORTRAN 77." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:51 +msgid "" +"So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra " +"argument used to specify the desired kind of complex result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:75 +msgid "" +"F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity " +"can be accessed independently with a component-like syntax in f2018:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:78 +msgid "A complex-part-designator is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:80 +msgid "``fortran designator % RE or designator % IM." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:103 +msgid "__x__ The type may be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:106 +msgid "" +"__y__ (Optional; only allowed if __x__ is not _complex_.). May be " +"_integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:110 +msgid "" +"__kind__ (Optional) An _integer_ initialization expression indicating the" +" kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:116 +msgid "" +"The return value is of _complex_ type, with a kind equal to __kind__ if " +"it is specified. If __kind__ is not specified, the result is of the " +"default _complex_ kind, regardless of the kinds of __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:153 +msgid "[__aimag__(3)](AIMAG) - Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:155 +msgid "[__cmplx__(3)](CMPLX) - Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:157 +msgid "[__conjg__(3)](CONJG) - Complex conjugate function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:159 +msgid "[__real__(3)](REAL) - Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:2 +msgid "int" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:4 +msgid "" +"__int__(3) - \\[TYPE:NUMERIC\\] Convert to integer type by truncating " +"towards zero" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:16 +msgid "Convert to integer type by truncating towards zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:21 +msgid "" +"Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-" +"constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:27 +msgid "If not present the returned type is that of default integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:31 +msgid "returns an _integer_ variable or array applying the following rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:33 +msgid "__Case__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:35 +msgid "If __a__ is of type _integer_, __int__(a) = a" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:37 +msgid "" +"If __a__ is of type _real_ and __|a| \\< 1, int(a)__ equals __0__. If " +"__|a| \\>= 1__, then __int(a)__ equals the integer whose magnitude does " +"not exceed __a__ and whose sign is the same as the sign of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:41 +msgid "" +"If __a__ is of type _complex_, rule 2 is applied to the _real_ part of " +"__a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:43 +msgid "" +"If _a_ is a boz-literal constant, it is treated as an _integer_ with the " +"_kind_ specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:46 +msgid "" +"The interpretation of a bit sequence whose most significant bit is __1__ " +"is processor dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:118 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:2 +msgid "nint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:5 +msgid "__nint__(3) - \\[TYPE:NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:15 +msgid "" +"__nint(x)__ rounds its argument to the nearest whole number with its sign" +" preserved." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:18 +msgid "" +"The user must ensure the value is a valid value for the range of the " +"__kind__ returned. If the processor cannot represent the result in the " +"kind specified, the result is undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:22 +msgid "If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:24 +msgid "" +"If __x__ is less than or equal to zero, __nint(x)__ has the value " +"__int(a-0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:30 +msgid "The type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:33 +msgid "" +"(Optional) A constant _integer_ expression indicating the kind parameter " +"of the result. Otherwise, the kind type parameter is that of default " +"_integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:39 +msgid "__answer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:40 +msgid "" +"The result is the integer nearest __x__, or if there are two integers " +"equally near __x__, the result is whichever such _integer_ has the " +"greater magnitude." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:112 +msgid "FORTRAN 77 and later, with KIND argument - Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:116 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:2 +msgid "real" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:4 +msgid "__real__(3) - \\[TYPE:NUMERIC\\] Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:13 +msgid "__real(x, kind)__ converts its argument __x__ to a real type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:18 +msgid "Shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:26 +msgid "" +"These functions return a _real_ variable or array under the following " +"rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:29 +msgid "" +"__real__(x) is converted to a default _real_ type if __x__ is an " +"_integer_ or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:32 +msgid "" +"__real__(x) is converted to a real type with the kind type parameter of " +"__x__ if __x__ is a _complex_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:35 +msgid "" +"__real(x, kind)__ is converted to a _real_ type with kind type parameter " +"__kind__ if __x__ is a _complex_, _integer_, or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:71 +msgid "[__dble__(3)](DBLE), [__float__(3)](FLOAT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:2 +msgid "dble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:5 +msgid "__dble__(3) - \\[TYPE:NUMERIC\\] Double conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:16 +msgid "" +"where TYPE may be _integer_, _real_, or _complex_ and KIND any kind " +"supported by the TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:20 +msgid "__dble(a)__ Converts __a__ to double precision _real_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:25 +msgid "The type shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:29 +msgid "" +"The return value is of type _doubleprecision_. For _complex_ input, the " +"returned value has the magnitude and sign of the real component of the " +"input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:56 +msgid "[__float__(3)](FLOAT), [__real__(3)](REAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:2 +msgid "transfer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:5 +msgid "__transfer__(3) - \\[TYPE:MOLD\\] Transfer bit patterns" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:14 +msgid "" +"Interprets the bitwise representation of __source__ in memory as if it is" +" the representation of a variable or array of the same type and type " +"parameters as __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:18 +msgid "" +"This is approximately equivalent to the C concept of \\*casting\\* one " +"type to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:27 +msgid "Shall be a scalar or an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:30 +msgid "(Optional) shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:34 +msgid "" +"The result has the same type as __mold__, with the bit level " +"representation of __source__. If __size__ is present, the result is a " +"one-dimensional array of length __size__. If __size__ is absent but " +"__mold__ is an array (of any size or shape), the result is a one-" +"dimensional array of the minimum length needed to contain the entirety of" +" the bitwise representation of __source__. If __size__ is absent and " +"__mold__ is a scalar, the result is a scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:41 +msgid "" +"If the bitwise representation of the result is longer than that of " +"__source__, then the leading bits of the result correspond to those of " +"__source__ and any trailing bits are filled arbitrarily." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:45 +msgid "" +"When the resulting bit representation does not correspond to a valid " +"representation of a variable of the same type as __mold__, the results " +"are undefined, and subsequent operations on the result cannot be " +"guaranteed to produce sensible behavior. For example, it is possible to " +"create _logical_ variables for which __var__ and .not. var both appear to" +" be true." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:80 +msgid "__Comments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:82 +msgid "_Joe Krahn_: Fortran uses __molding__ rather than __casting__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:84 +msgid "" +"Casting, as in C, is an in-place reinterpretation. A cast is a device " +"that is built around an object to change its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:87 +msgid "" +"Fortran TRANSFER reinterprets data out-of-place. It can be considered " +"__molding__ rather than casting. A __mold__ is a device that confers a " +"shape onto an object placed into it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:91 +msgid "" +"The advantage of molding is that data is always valid in the context of " +"the variable that holds it. For many cases, a decent compiler should " +"optimize TRANSFER into a simple assignment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:95 +msgid "" +"There are disadvantages of this approach. It is problematic to define a " +"union of data types because you must know the largest data object, which " +"can vary by compiler or compile options. In many cases, an EQUIVALENCE " +"would be far more effective, but Fortran Standards committees seem " +"oblivious to the benefits of EQUIVALENCEs when used sparingly." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:103 +msgid "Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:2 +msgid "logical" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:5 +msgid "" +"__logical__(3) - \\[TYPE:LOGICAL\\] Converts one kind of _logical_ " +"variable to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:18 +msgid "Converts one kind of _logical_ variable to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:23 +msgid "__l__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:24 +msgid "The type shall be _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:32 +msgid "" +"The return value is a _logical_ value equal to __l__, with a kind " +"corresponding to __kind__, or of the default logical kind if __kind__ is " +"not given." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:61 +msgid "Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:65 +msgid "[__int__(3)](INT), [__real__(3)](REAL), [__cmplx__(3)](CMPLX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:2 +msgid "kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:5 +msgid "__kind__(3) - \\[KIND INQUIRY\\] Kind of an entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:14 +msgid "__kind(x)__ returns the kind value of the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:19 +msgid "Shall be of type _logical_, _integer_, _real_, _complex_ or _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:2 +msgid "selected\\_char\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:5 +msgid "" +"__selected\\_char\\_kind__(3) - \\[KIND\\] Choose character kind such as " +"\"Unicode\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:14 +msgid "" +"__selected\\_char\\_kind(name)__ returns the kind value for the character" +" set named NAME, if a character set with such a name is supported, or " +"__-1__ otherwise. Currently, supported character sets include \"ASCII\" " +"and \"DEFAULT\" (iwhich are equivalent), and \"ISO\\_10646\" (Universal " +"Character Set, UCS-4) which is commonly known as \"Unicode\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:23 +msgid "Shall be a scalar and of the default character type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:2 +msgid "selected\\_int\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:5 +msgid "__selected\\_int\\_kind__(3) - \\[KIND\\] Choose integer kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:14 +msgid "" +"__selected\\_int\\_kind(r)__ return the kind value of the smallest " +"integer type that can represent all values ranging from __-10\\*\\*r__ " +"(exclusive) to __10\\*\\*r__ (exclusive). If there is no integer kind " +"that accommodates this range, selected\\_int\\_kind returns __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:23 +msgid "__r__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:22 +msgid "Shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:55 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__nint__(3)](NINT), [__ceiling__(3)](CEILING), [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:2 +msgid "selected\\_real\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:5 +msgid "__selected\\_real\\_kind__(3) - \\[KIND\\] Choose real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:14 +msgid "" +"__selected\\_real\\_kind(p, r, radix)__ return the kind value of a real " +"data type with decimal precision of at least __p__ digits, exponent range" +" of at least __r__, and with a radix of __radix__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:27 +msgid "(Optional) shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:26 +msgid "__radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:29 +msgid "" +"Before __Fortran 2008__, at least one of the arguments __r__ or __p__ " +"shall be present; since __Fortran 2008__, they are assumed to be zero if " +"absent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:35 +msgid "" +"selected\\_real\\_kind returns the value of the kind type parameter of a " +"real data type with decimal precision of at least __p__ digits, a decimal" +" exponent range of at least R, and with the requested __radix__. If the " +"__radix__ parameter is absent, real kinds with any radix can be returned." +" If more than one real data type meet the criteria, the kind of the data " +"type with the smallest decimal precision is returned. If no real data " +"type matches the criteria, the result is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:43 +msgid "" +"__-1__ if the processor does not support a real data type with a " +"precision greater than or equal to __p__, but the __r__ and __radix__ " +"requirements can be fulfilled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:47 +msgid "" +"__-2__ if the processor does not support a real type with an exponent " +"range greater than or equal to __r__, but __p__ and __radix__ are " +"fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:51 +msgid "__-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:53 +msgid "__-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:55 +msgid "__-5__ if there is no real type with the given __radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:84 +msgid "Fortran 95 and later; with RADIX - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:88 +msgid "" +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__radix__(3)](RADIX)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:7 +msgid "Fortran Intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:9 +msgid "" +"This is a collection of extended descriptions of the Fortran intrinsics " +"based on the reference document \"[Current F2018 Working Document as of " +"April " +"2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)\"." +" Vendor-specific extensions are not included." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:14 +msgid "☛[Array Operations](ARRAY_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:16 +msgid "☛[Mathematics](MATH_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:18 +msgid "☛[Type and Kind](TYPE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:19 +msgid "☛[Numeric](NUMERIC_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:21 +msgid "☛[Transformational](TRANSFORM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:22 +msgid "Matrix multiplication, Dot product, array shifts," +msgstr "" + +#: ../../source/learn/intrinsics/index.md:23 +msgid "☛[General State](STATE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:24 +msgid "General and miscellaneous intrinsics on state of variables and I/O" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:25 +msgid "☛[Character](CHARACTER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:26 +msgid "basic procedures specifically for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:27 +msgid "☛[System Environment](SYSTEM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:28 +msgid "" +"accessing external system information such as environmental variables, " +"command line arguments, date and timing data ..." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:29 +msgid "☛[C Interface](C_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:30 +msgid "procedures useful for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:31 +msgid "☛[Bit-level](BIT_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:32 +msgid "bit-level manipulation and inquiry of values0" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:33 +msgid "☛[Parallel Programming](PARALLEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:34 +msgid "Parallel programming using co-arrays and co-indexing" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:35 +msgid "☛[Numeric Model](MODEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:36 +msgid "numeric compiler-specific numeric model information" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:37 +msgid "☛[Compiler Information](COMPILER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:38 +msgid "information about compiler version and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:40 +msgid "Overview" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:41 +msgid "" +"The standard documents and most vendor-supplied descriptions of the " +"intrinsics are often very brief and concise to the point of the " +"functionality of the intrinsics being obscure, particularly to someone " +"unfamiliar with the procedure." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:46 +msgid "By describing the procedures here" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:47 +msgid "in greater detail" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:48 +msgid "with a working example" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:49 +msgid "" +"providing links to additional resources (including additional documents " +"at fortran-lang.org and related discussions in Fortran Discourse)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:53 +msgid "these documents strive to be a valuable asset for Fortran programmers." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:55 +msgid "" +"This is a community-driven resource and everyone is encouraged to " +"contribute to the documents. For contribution guidelines see " +"[MINIBOOKS](https://github.com/fortran-lang/fortran-" +"lang.org/blob/master/MINIBOOKS.md) and the following Copyright " +"guidelines." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:60 +msgid "See Also" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:61 +msgid "The [Fortran stdlib](https://stdlib.fortran-lang.org/) project" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:62 +msgid "" +"[fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which " +"are general-purpose libraries/modules" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:64 +msgid "Experimental" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:66 +msgid "" +"[review by procedure " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:68 +msgid "" +"[review by header " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:70 +msgid "" +"[fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A " +"self-contained Fortran program that lets you view the non-graphical plain" +" ASCII portions of the documentation from a terminal interface. Compile " +"the program and enter \"./fman --help\" for directions." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:75 +msgid "" +"[man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) " +"A gzipped tar(1) file containing early versions of man-pages derived from" +" the markdown documents." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:78 +msgid "" +"Typical installation on a Linux platform as an administrator ( but it " +"varies) :" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:110 +msgid "Text Content Copyrights" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:112 +msgid "" +"Many of the documents presented here are modified versions of man-pages " +"from the [Fortran Wiki](https://fortranwiki.org) and as such are " +"available under the terms of the GNU Free Documentation License " +"[__GFDL__](GNU_Free_Documentation_License.md) with no invariant sections," +" front-cover texts, or back-cover texts." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:118 +msgid "" +"If you contribute to this site by modifying the files marked as GFDL, you" +" thereby agree to license the contributed material to the public under " +"the GFDL (version 1.2 or any later version published by the Free Software" +" Foundation, with no invariant sections, front-cover texts, or back-cover" +" texts)." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:124 +msgid "" +"If you contribute new material you thereby agree to release it under the " +"MIT license, and should indicate this by placing MIT on the specially-" +"formatted last line. For example, change" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:130 +msgid "to" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:135 +msgid "" +"Written in [Markdown](https://github.com/adam-p/markdown-here/wiki" +"/Markdown-Cheatsheet) " +"[kramdown](https://kramdown.gettalong.org/syntax.html)" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:8 +msgid "Choosing a compiler" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:10 +msgid "" +"A comprehensive list of available compilers is provided " +"[here]({{site.baseurl}}/compilers). In this guide, we will focus only on " +"those that are free to install and use." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:12 +msgid "" +"Of those listed at the link above, open source and free are GFortran " +"(with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their " +"compilers for free and as of the latest update of this tutorial, " +"NVFortran (NVIDIA) is available only for Linux systems, while Intel " +"oneAPI is available for Linux, Windows and macOS systems. Both are well " +"documented and readers can find detailed information about installing and" +" using them on their websites respectively." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:14 +msgid "" +"In the next chapter, we use GFortran for the tutorial as it is a mature " +"open source compiler. We encourage users to also try other open source " +"and commercial compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:8 +msgid "IDEs" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:10 +msgid "" +"An IDE (Integrated Development Environment) refers to a complete software" +" development environment, where, all those packages that come as external" +" plug-ins in Text-Editors, are already integrated within the software. An" +" IDE is usually optimized towards a specific set of languages. For " +"example it is very common for IDEs to advertise themselves towards either" +" compiled or interpreted languages, or even towards a single language, or" +" depending on the application developed, like scientific or web " +"development. IDEs are recommended for beginner programmers, since it is " +"possible to start coding with minimum effort after installation. However," +" it is quite common, in professional environments, individual developers " +"and teams alike, to choose an IDE for large projects because of some " +"unique features that they may offer over a Text-Editor." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:13 +msgid "" +"A list of popular IDEs that provide good Fortran support is provided in " +"alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:14 +msgid "" +"[AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-" +"ide/): commercial product, cross-platform, comes with Absoft's own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:15 +msgid "" +"[Code::Blocks](http://www.codeblocks.org/): free product, cross-platform " +"and supports multiple compilers. Plenty of tutorials online on how to " +"install it and add a Fortran Compiler. As well as a recent presentation, " +"[here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon)," +" of its capabilities and future prospects at the International Fortran " +"Conference 2020 by its main developer." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:16 +msgid "" +"[Eclipse-Photran](https://marketplace.eclipse.org/content/photran-" +"fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran " +"based on Eclipse and the C/C++ Development Tools*. A free product, cross-" +"platform and supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:17 +msgid "" +"[Geany](https://www.geany.org/): a free product, cross platform and " +"supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:18 +msgid "" +"[NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) " +"is a commercial product, available in Windows and MacOS and supports " +"NAG's own Fortran Compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:19 +msgid "" +"[Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial " +"product, cross-platform, comes with Silverfrost's Fortran FTN95 own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:20 +msgid "" +"[SimplyFortran](https://simplyfortran.com/) is a commercial product, " +"cross-platform with support of the GNU Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:21 +msgid "" +"[Visual Studio](https://visualstudio.microsoft.com/) its *Community " +"Edition 2019* is a free product, available in Windows and macOS and " +"supports only Intel's Fortran compiler, now bundled with many other free-" +"to-use HPC tools under *Intel oneAPI*." +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "choose compiler" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "text editors" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "ides" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "install gfortran" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "tips" +msgstr "" + +#: ../../source/learn/os_setup/index.md:7 +msgid "

" +msgstr "" + +#: ../../source/learn/os_setup/index.md:12 +msgid "" +"*Authors: Stavros Meskos, " +"Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:14 +msgid "" +"*Last update: " +"16-Feb-2021*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:18 +msgid "Setting up your OS" +msgstr "" + +#: ../../source/learn/os_setup/index.md:20 +msgid "" +"In this mini-book we address the very first problem that many new Fortran" +" programmers encounter. Before everything, you will need to choose a " +"compiler and install it. Then you will need a text editor or perhaps an " +"IDE (Integrated Development Environment). There are many options, most of" +" them available in all major OSs (operating systems). However, the " +"process to install and configure them greatly differs between Windows, " +"Linux, and macOS. There are several Fortran compilers. Here, we pick " +"those that meet certain criteria and provide a guide on how to install " +"them in all the aforementioned OSs. A list of popular text editors and " +"IDEs and information on how to choose between them is presented as well." +msgstr "" + +#: ../../source/learn/os_setup/index.md:24 +msgid "" +"If you have already set up your environment, you may skip this tutorial " +"and move forward with the Quickstart Fortran Tutorial to start coding " +"your first `Hello World` program or with the Building programs mini-book " +"to understand how a compiler works." +msgstr "" + +#: ../../source/learn/os_setup/index.md:28 +msgid "" +"*The choice of text editors and IDEs has been controversial among the " +"developers. What you choose is a matter of personal taste. Every solution" +" comes with its own pros and cons. For that reason, in this guide, we " +"will not push the reader towards one or another direction. We will, " +"however, present a list of the most popular tools.*" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:8 +msgid "Installing GFortran" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:10 +msgid "" +"GFortran is the name of the [GNU Fortran " +"project](https://gcc.gnu.org/fortran/). The main " +"[wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links " +"about GFortran, as well as Fortran in general. In this guide, the " +"installation process for GFortran on Windows, Linux, macOS and OpenBSD is" +" presented in a beginner-friendly format based on the information from " +"[GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries)." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:12 +msgid "Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:15 +msgid "" +"Three sources provide quick and easy way to install GFortran compiler on " +"Windows:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:16 +msgid "" +"[http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran)," +" provides 32 and 64-bit x86 executables of the latest (10.2) gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:18 +msgid "" +"[TDM GCC](https://jmeubank.github.io/tdm-" +"gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 " +"executables of the 9.2 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:19 +msgid "" +"[MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides" +" a 64-bit x86 executable of the 8.1.0 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:21 +msgid "" +"In all the above choices, the process is straightforward—just download " +"the installer and follow the installation wizard." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:23 +msgid "Unix-like development on Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:24 +msgid "" +"For those familiar with a unix-like development environment, several " +"emulation options are available on Windows each of which provide packages" +" for gfortran:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:26 +msgid "" +"__Cygwin:__ A runtime environment that provides POSIX compatibility to " +"Windows;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:27 +msgid "" +"__MSYS2:__ A collection of Unix-like development tools, based on modern " +"Cygwin and MinGW-w64;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:28 +msgid "" +"__Windows Subsystem for Linux (WSL):__ An official compatibility layer " +"for running Linux binary executables on Windows. With [Windows Subsystem " +"for Linux GUI](https://github.com/microsoft/wslg) one can run text " +"editors and other graphical programs." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:30 +msgid "" +"All of the above approaches provide access to common shells such as bash " +"and development tools including GNU coreutils, Make, CMake, autotools, " +"git, grep, sed, awk, ssh, etc." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:32 +msgid "" +"We recommend the WSL environment for those looking for a Unix-like " +"development environment on Windows." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:34 +msgid "Linux" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:37 +msgid "Debian-based (Debian, Ubuntu, Mint, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:38 +msgid "Check whether you have gfortran already installed" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:42 +msgid "" +"If nothing is returned then gfortran is not installed. To install " +"gfortran type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:47 +msgid "to check what version was installed type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:51 +msgid "" +"You can install multiple versions up to version 9 by typing the version " +"number immediately after \"gfortran\", e.g.:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:55 +msgid "" +"To install the latest version 10 you need first to add / update the " +"following repository and then install:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:61 +#, python-format +msgid "" +"Finally, you can switch between different versions or set the default one" +" with the **update-alternatives** ([see " +"manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-" +"alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.))." +" There are many online tutorials on how to use this feature. A well " +"structured one using as an example C and C++ can be found " +"[here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g" +"-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the " +"same logic by replacing either `gcc` or `g++` with `gfortran`." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:63 +msgid "RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:68 +msgid "Since Fedora 22, `dnf` is the default package manager for Fedora:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:73 +msgid "Arch-based (Arch Linux, Antergos, Manjaro, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:78 +msgid "macOS" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:79 +msgid "Xcode" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:80 +msgid "If you have Xcode installed, open a terminal window and type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:84 +msgid "Binaries" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:85 +msgid "" +"Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert" +"/gfortran-for-macOS/releases) to directly install binaries." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:86 +msgid "Homebrew" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:90 +msgid "Fink" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:91 +msgid "" +"GNU-gcc Package " +"[link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:92 +msgid "MacPorts" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:93 +msgid "Search for available gcc versions:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:97 +msgid "Install a gcc version:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:102 +msgid "OpenBSD" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:107 +msgid "" +"On OpenBSD, the GFortran executable is named `egfortran`. To test it, " +"type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:113 +msgid "OpenCoarrays" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:115 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software " +"project that produces an application binary interface (ABI) used by the " +"GNU Compiler Collection (GCC) Fortran front-end to build executable " +"programs that leverage the parallel programming features of Fortran 2018." +" Since OpenCoarrays is not a separate compiler, we include it here, under" +" gfortran." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:117 +msgid "" +"While with gfortran you can compile perfectly valid code using coarrays, " +"the generated binaries will only run in a single image (_image_ is a " +"Fortran term for a parallel process), that is, in serial mode. " +"OpenCoarrays allows running code in parallel on shared- and distributed-" +"memory machines, similar to MPI:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:122 +msgid "" +"The process of installation is provided in a clear and comprehensive " +"manner on the official site." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:124 +msgid "" +"We emphasize that native installation on Windows is not possible. It is " +"only possible through WSL." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:8 +msgid "Text Editors" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:10 +msgid "" +"After you have installed your compiler, you will need a text editor to " +"write your code. Any text editor can serve this purpose, even the built-" +"in Notepad on Windows. However, there are specialized editors for " +"programming languages. These editors come with many useful features like " +"auto-complete, syntax-highlighting, auto-indentation, brace-matching, and" +" many more, with few of them pre-installed and the majority in form of " +"external plug-ins. This means that by default these features are not " +"installed in the editor, but it's up to you to search for them through a " +"package manager and install and configure them manually." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:12 +msgid "" +"Here's a list of the most popular text editors that support Fortran " +"syntax, in alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:13 +msgid "[Atom](https://atom.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:14 +msgid "[Emacs](https://www.gnu.org/software/emacs/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:15 +msgid "[NotePad++](https://notepad-plus-plus.org/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:16 +msgid "[SublimeText](https://www.sublimetext.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:17 +msgid "[Vim](https://www.vim.org/) and [Neovim](https://neovim.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:18 +msgid "[Visual Studio Code](https://code.visualstudio.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:20 +msgid "" +"A comprehensive list with more choices is provided in " +"[fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:22 +msgid "Things to consider before choosing a text editor:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:23 +msgid "" +"**Ergonomics:** This is purely subjective and concerns how easy, " +"uninterrupted the UI (User Interface) feels to the developer while using " +"the editor." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:24 +msgid "" +"**Extensibility:** As mentioned above, text editors come with many " +"features as external packages. The variety, the installation process, the" +" documentation, and user-friendliness of the packages all fall under this" +" category." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:25 +msgid "" +"**Speed:** With how powerful modern hardware can be, the speed of editors" +" is becoming of minor importance. However, for the less powerful systems," +" you may want to consider this as well. Heavyweight editors may impact " +"the writing performance. For example, you can expect Atom and VSCode to " +"run slower than the lightweight editors like Vim or Emacs." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:26 +msgid "" +"**Learning curve:** Last but not least, new users should consider how " +"easy it is to get used to a new editor. Vim and Emacs have a steep " +"learning curve and are notoriously difficult for newcomers. They offer a " +"uniquely different experience than any other editor by forcing you to use" +" the keyboard for all editing tasks." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:28 +msgid "Configuring VS Code" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:30 +msgid "" +"With the editor opened, at the main UI, at the buttoned-column on the " +"left, there is a *four-square-shaped* icon to open the Marketplace for " +"extensions. Install [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm" +".linter-gfortran) for syntax highlighting, linting and Language Server " +"support and formatting." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:33 +msgid "Additional Tools" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:35 +msgid "" +"The following extensions are not essential but most users might find them" +" useful:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:37 +msgid "" +"[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)" +" for advanced Git visualization and operations." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:38 +msgid "" +"[CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode" +".cmake-tools) for full-featured CMake integration in VS Code." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:39 +msgid "" +"[Remote Development](https://marketplace.visualstudio.com/items?itemName" +"=ms-vscode-remote.vscode-remote-extensionpack) for working with " +"containers, on a remote machines, or in the Windows Subsystem for Linux " +"(WSL)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:40 +msgid "" +"[Even Better TOML by " +"tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe" +".even-better-toml). For Fortran developers that are using the new " +"[fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a " +"TOML language support might come in handy." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:42 +msgid "Configuring SublimeText" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:44 +msgid "" +"A well structured gist that provides instructions on how to set up " +"SublimeText for Fortran developement is given " +"[here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:46 +msgid "Configuring Atom" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:48 +msgid "" +"Atom's configuration process is similar to VSCode one. At the main " +"interface, if the *Welcome Guide* page is already opened for you, just " +"click the **Install a Package** option, otherwise you can find the same " +"option through the navigation bar at the top by clicking *Packages*. In " +"doing so a new page under *Settings* opens where you can just start " +"typing the package you want to install." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:50 +msgid "" +"One package that includes many Fortran features is [IDE-FORTRAN by " +"hansec](https://atom.io/packages/ide-fortran). It needs the following " +"packages to be installed:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:51 +msgid "[atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:52 +msgid "[language-fortran by dparkins](https://atom.io/packages/language-fortran)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:54 +msgid "" +"Additionally just like in VSCode it needs " +"[Python](https://www.python.org/) and [Fortran Language " +"Server](https://github.com/hansec/fortran-language-server) to be " +"installed." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:56 +msgid "" +"For version control a very popular package is [Git-Plus by " +"akonwi](https://atom.io/packages/git-plus)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:8 +msgid "Smart Tips" +msgstr "" + +#: ../../source/learn/os_setup/tips.md:10 +msgid "" +"To conclude, we give a few tips that may help you to choose a compiler " +"and an editor or an IDE." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:12 +msgid "" +"Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) " +"for a comprehensive comparison of Fortran compilers." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:13 +msgid "" +"Since NVFortran version 17.1, the support for compute capability 2.0 " +"(Fermi) and lower has been removed. This is important because, at any " +"time, only the latest compiler version is free to download. Users with " +"older GPUs will not be able to run CUDA Fortran with the current (20.7) " +"or future versions. Read [this " +"wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your " +"GPU's compute capability and cross-check with the latest CUDA SDK that " +"supports it." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:14 +msgid "" +"There are many online Fortran compilers. These are websites that offer a " +"basic text editor and allow you to compile and run your code on a remote " +"server. They are particularly useful for quick prototyping and testing. " +"Although we promised neutrality, we recommend that you check out the " +"open-source and free [Compiler Explorer](https://godbolt.org/), an " +"amazing tool with unique features." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:15 +msgid "" +"Arguably the most popular text editor, according to recent online " +"surveys, is the Visual Studio Code, developed by Microsoft." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:16 +msgid "" +"The most popular free IDEs are the Code::Blocks and Geany. Many " +"commercial IDEs give up to 30 days of free trial. Keep in mind that the " +"prices of commercial IDEs may vary, and some may be quite affordable. " +"Finally, if you are a student, an open-source developer, or a …hobbyist " +"*Fortraner* do not hesitate to contact those companies and request a " +"discount. There have been cases, e.g., in r/fortran, where " +"representatives, from at least one company, have offered discount codes " +"to individuals looking for affordable complete solutions (IDE + " +"compiler)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:17 +msgid "" +"Finally, please join us on [Fortran Discourse](https://fortran-" +"lang.discourse.group/) and do not hesitate to post your questions and " +"request for further information." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:9 +msgid "" +"More often than not, we need to store and operate on long lists of " +"numbers as opposed to just the single scalar variables that we have been " +"using so far; in computer programming such lists are called _arrays_." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:12 +msgid "" +"Arrays are _multidimensional_ variables that contain more than one value " +"where each value is accessed using one or more indices." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:15 +msgid "" +"Arrays in Fortran are _one-based_ by default; this means that the first " +"element along any dimension is at index 1." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:19 +msgid "Array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:21 +msgid "" +"We can declare arrays of any type. There are two common notations for " +"declaring array variables: using the `dimension` attribute or by " +"appending the array dimensions in parentheses to the variable name." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:24 +msgid "__Example:__ static array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:45 +msgid "Array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:47 +msgid "" +"A powerful feature of the Fortran language is its built-in support for " +"array operations; we can perform operations on all or part of an array " +"using array _slicing_ notation:" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:50 +msgid "__Example:__ array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:72 +msgid "" +"Fortran arrays are stored in _column-major_ order; the first index varies" +" fastest." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:75 +msgid "Allocatable (dynamic) arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:77 +msgid "" +"So far we have specified the size of our array in our program code---this" +" type of array is known as a _static_ array since its size is fixed when " +"we compile our program." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:81 +msgid "" +"Quite often, we do not know how big our array needs to be until we run " +"our program, for example, if we are reading data from a file of unknown " +"size." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:83 +msgid "" +"For this problem, we need `allocatable` arrays. These are _allocated_ " +"while the program is running once we know how big the array needs to be." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:86 +msgid "__Example:__ allocatable arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:105 +msgid "" +"Allocatable local arrays are deallocated automatically when they go out " +"of scope." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:109 +msgid "Character strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:112 +msgid "__Example:__ static character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:132 +msgid "__Example:__ allocatable character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:153 +msgid "Array of strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:155 +msgid "" +"An array of strings can be expressed in Fortran as an array of " +"`character` variables. All elements in a `character` array have equal " +"length. However, strings of varying lengths can be provided as input to " +"the array constructor, as shown in the example below. They will be " +"truncated or right-padded with spaces if they are longer or shorter, " +"respectively, than the declared length of the `character` array. Finally," +" we use the intrinsic function `trim` to remove any excess spaces when " +"printing the values to the standard output." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:162 +msgid "__Example:__ string array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:6 +msgid "Derived Types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:7 +msgid "" +"As discussed previously in [Variables](variables), there are five built-" +"in data types in Fortran. A _derived type_ is a special form of data type" +" that can encapsulate other built-in types as well as other derived " +"types. It could be considered equivalent to _struct_ in the C and C++ " +"programming languages." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:9 +msgid "A quick take on derived types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:11 +msgid "Here's an example of a basic derived type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:20 +msgid "" +"The syntax to create a variable of type `t_pair` and access its members " +"is:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:29 +msgid "The percentage symbol `%` is used to access the members of a derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:31 +msgid "" +"In the above snippet, we declared an instance of a derived type and " +"initialized its members explicitly. You can also initialize derived type " +"members by invoking the derived type constructor." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:35 +msgid "Example using the derived type constructor:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:42 +msgid "Example with default initialization:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:55 +msgid "Derived types in detail" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:57 +msgid "" +"The full syntax of a derived type with all optional properties is " +"presented below:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:69 +msgid "Options to declare a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:71 +msgid "`attribute-list` may refer to the following:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:73 +msgid "_access-type_ that is either `public` or `private`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:74 +msgid "`bind(c)` offers interoperability with C programming language" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:75 +msgid "" +"`extends(`_parent_`)`, where _parent_ is the name of a previously " +"declared derived type from which the current derived type will inherit " +"all its members and functionality" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:76 +msgid "" +"`abstract` -- an object oriented feature that is covered in the advanced " +"programming tutorial" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:78 +msgid "" +"If the attribute `bind(c)` or the statement `sequence` is used, then a " +"derived type cannot have the attribute `extends` and vice versa." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:80 +msgid "" +"The `sequence` attribute may be used only to declare that the following " +"members should be accessed in the same order as they are defined within " +"the derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:82 +msgid "Example with `sequence`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:93 +msgid "" +"The use of the statement `sequence` presupposes that the data types " +"defined below are neither of `allocatable` nor of `pointer` type. " +"Furthermore, it does not imply that these data types will be stored in " +"memory in any particular form, i.e., there is no relation to the " +"`contiguous` attribute." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:95 +msgid "" +"The _access-type_ attributes `public` and `private`, if used, declare " +"that all member-variables declared below will be automatically assigned " +"the attribute accordingly." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:97 +msgid "" +"The attribute `bind(c)` is used to achieve compatibility between " +"Fortran's derived type and C's struct." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:99 +msgid "Example with `bind(c)`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:111 +msgid "matches the following C struct type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:117 +msgid "" +"A fortran derived type with the attribute `bind(c)` cannot have the " +"`sequence` and `extends` attributes. Furthermore it cannot contain any " +"Fortran `pointer` or `allocatable` types." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:119 +msgid "" +"`parameterized-declaration-list` is an optional feature. If used, then " +"the parameters must be listed in place of `[parameterized-definition-" +"statements]` and must be either `len` or `kind` parameters or both." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:121 +msgid "" +"Example of a derived type with `parameterized-declaration-list` and with " +"the attribute `public`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:143 +msgid "" +"In this example the parameter `k` has already been assigned a default " +"value of `kind(0.0)` (single-precision floating-point). Therefore, it can" +" be omitted, as is the case here in the declaration inside the main " +"program." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:145 +msgid "" +"By default, derived types and their members are public. However, in this " +"example, the attribute `private` is used at the beginning of the module. " +"Therefore, everything within the module will be by default `private` " +"unless explicitly declared as `public`. If the type `t_matrix` was not " +"given the attribute `public` in the above example, then the compiler " +"would throw an error inside `program test`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:147 +msgid "" +"The attribute `extends` was added in the F2003 standard and introduces an" +" important feature of the object oriented paradigm (OOP), namely " +"inheritance. It allows code reusability by letting child types derive " +"from extensible parent types: `type, extends(parent) :: child`. Here, " +"`child` inherits all the members and functionality from `type :: parent`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:149 +msgid "Example with the attribute `extends`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:209 +msgid "Options to declare members of a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:211 +msgid "" +"`[member-variables]` refers to the declaration of all the member data " +"types. These data types can be of any built-in data type, and/or of other" +" derived types, as already showcased in the above examples. However, " +"member-variables can have their own extensive syntax, in form of: `type " +"[,member-attributes] :: name[attr-dependent-spec][init]`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:214 +msgid "`type`: any built-in type or other derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:216 +msgid "`member-attributes` (optional):" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:218 +msgid "`public` or `private` access attributes" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:219 +msgid "`protected` access attribute" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:220 +msgid "`allocatable` with or without `dimension` to specify a dynamic array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:221 +msgid "`pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:223 +msgid "Examples of common cases:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:245 +msgid "" +"The following attributes: `pointer`, `codimension`, `contiguous`, " +"`volatile`, `asynchronous` are advanced features that will not be " +"addressed in the *Quickstart* tutorial. However, they are presented here," +" in order for the readers to know that these features do exist and be " +"able to recognize them. These features will be covered in detail in the " +"upcoming *Advanced programing* mini-book." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:247 +msgid "Type-bound procedures" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:249 +msgid "" +"A derived type can contain functions or subroutines that are *bound* to " +"it. We'll refer to them as _type-bound procedures_. Type-bound procedures" +" follow the `contains` statement that, in turn, follows all member " +"variable declarations." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:251 +msgid "" +"It is impossible to describe type-bound procedures in full without " +"delving into OOP features of modern Fortran. For now we'll focus on a " +"simple example to show their basic use." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:253 +msgid "Here's an example of a derived type with a basic type-bound procedure:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:296 +msgid "What is new:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:298 +msgid "" +"`self` is an arbitrary name that we chose to represent the instance of " +"the derived type `t_square` inside the type-bound function. This allows " +"us to access its members and to automatically pass it as an argument when" +" we invoke a type-bound procedure." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:299 +msgid "" +"We now use `class(t_square)` instead of `type(t_square)` in the interface" +" of the `area` function. This allows us to invoke the `area` function " +"with any derived type that extends `t_square`. The keyword `class` " +"introduces the OOP feature polymorphism." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:301 +msgid "" +"In the above example, the type-bound procedure `area` is defined as a " +"function and can be invoked only in an expression, for example `x = " +"sq%area()` or `print *, sq%area()`. If you define it instead as a " +"subroutine, you can invoke it from its own `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:319 +msgid "" +"In contrast to the example with the type-bound function, we now have two " +"arguments:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:321 +msgid "" +"`class(t_square), intent(in) :: self` -- the instance of the derived type" +" itself" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:322 +msgid "" +"`real, intent(out) :: x` -- used to store the calculated area and return " +"to the caller" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:7 +msgid "" +"In this part of the tutorial, we will write our first Fortran program: " +"the ubiquitous [\"Hello, " +"World!\"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) " +"example." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:10 +msgid "" +"However, before we can write our program, we need to ensure that we have " +"a Fortran compiler set up." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:13 +msgid "" +"Fortran is a *compiled language*, which means that, once written, the " +"source code must be passed through a compiler to produce a machine " +"executable that can be run." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:17 +msgid "Compiler setup" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:19 +msgid "" +"In this tutorial, we'll work with the free and open source [GNU Fortran " +"compiler (gfortran)](https://gcc.gnu.org/fortran/), which is part of the" +" [GNU Compiler Collection (GCC)](https://gcc.gnu.org/)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:24 +msgid "" +"To install gfortran on Linux, use your system package manager. On macOS, " +"you can install gfortran using [Homebrew](https://brew.sh/) or " +"[MacPorts](https://www.macports.org/). On Windows, you can get native " +"binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:28 +msgid "" +"To check if you have _gfortran_ setup correctly, open a terminal and run " +"the following command:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:34 +msgid "this should output something like:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:43 +msgid "Hello world" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:45 +msgid "" +"Once you have set up your compiler, open a new file in your favourite " +"code editor and enter the following:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:54 +msgid "" +"Having saved your program to `hello.f90`, compile at the command line " +"with:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:59 +msgid "" +"`.f90` is the standard file extension for modern Fortran source files. " +"The 90 refers to the first modern Fortran standard in 1990." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:62 +msgid "To run your compiled program:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:68 +msgid "" +"Congratulations, you've written, compiled and run your first Fortran " +"program! In the next part of this tutorial, we will introduce variables " +"for storing data." +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "arrays strings" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "hello world" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "operators control_flow" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "variables" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "derived types" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "organising code" +msgstr "" + +#: ../../source/learn/quickstart/index.md:7 +msgid "Quickstart" +msgstr "" + +#: ../../source/learn/quickstart/index.md:9 +msgid "" +"This quickstart tutorial gives an overview of the Fortran programming " +"language and its syntax for common structured programming concepts " +"including: types, variables, arrays, control flow and functions." +msgstr "" + +#: ../../source/learn/quickstart/index.md:13 +msgid "" +"The contents of this tutorial are shown in the navigation bar on the left" +" with the current page highlighted bold." +msgstr "" + +#: ../../source/learn/quickstart/index.md:15 +msgid "" +"Use the _Next_ button at the bottom to start the tutorial with a _Hello " +"World_ example." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:7 +msgid "" +"One of the powerful advantages of computer algorithms, compared to simple" +" mathematical formulae, comes in the form of program _branching_ whereby " +"the program can decide which instructions to execute next based on a " +"logical condition." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:11 +msgid "There are two main forms of controlling program flow:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:13 +msgid "" +"_Conditional_ (if): choose program path based on a boolean (true or " +"false) value" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:15 +msgid "_Loop_: repeat a portion of code multiple times" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:19 +msgid "Logical operators" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:20 +msgid "" +"Before we use a conditional branching operator, we need to be able to " +"form a logical expression." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:23 +msgid "" +"To form a logical expression, the following set of relational operators " +"are available:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Operator  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Alternative  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Description" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`==`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eq.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests for equality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`/=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ne.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Test for inequality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`> `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.gt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly greater than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`< `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.lt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly less than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`>=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ge.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is greater than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`<=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.le.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is less than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:36 +msgid "as well as the following logical operators:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.and.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if both left and right operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.or.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if either left or right or both operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.not.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if right operand is FALSE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has same logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.neqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has the opposite logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:49 +msgid "Conditional construct (`if`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:51 +msgid "" +"In the following examples, a conditional `if` construct is used to print " +"out a message to describe the nature of the `angle` variable:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:54 +msgid "__Example:__ single branch `if`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:62 +msgid "" +"In this first example, the code within the `if` construct is _only " +"executed if_ the test expression (`angle < 90.0`) is true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:66 +msgid "" +"It is good practice to indent code within constructs such as `if` and " +"`do` to make code more readable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:70 +#, python-format +msgid "" +"{% include tip.html content=\"It is good practice to indent code within " +"constructs such as `if` and `do` to make code more readable.\" %}" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:73 +msgid "" +"We can add an alternative branch to the construct using the `else` " +"keyword:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:75 +msgid "__Example:__ two-branch `if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:85 +msgid "" +"Now there are two _branches_ in the `if` construct, but _only one branch " +"is executed_ depending on the logical expression following the `if` " +"keyword." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:88 +msgid "" +"We can actually add any number of branches using `else if` to specify " +"more conditions:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:90 +msgid "__Example:__ multi-branch `if`-`else if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:101 +msgid "" +"When multiple conditional expressions are used, each conditional " +"expression is tested only if none of the previous expressions have " +"evaluated to true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:104 +msgid "Loop constructs (`do`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:106 +msgid "" +"In the following example, a `do` loop construct is used to print out the " +"numbers in a sequence. The `do` loop has an integer _counter_ variable " +"which is used to track which iteration of the loop is currently " +"executing. In this example we use a common name for this counter " +"variable: `i`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:111 +msgid "" +"When we define the start of the `do` loop, we use our counter variable " +"name followed by an equals (`=`) sign to specify the start value and " +"final value of our counting variable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:114 +msgid "__Example:__ `do` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:124 +msgid "__Example:__ `do` loop with skip" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:134 +msgid "Conditional loop (`do while`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:136 +msgid "" +"A condition may be added to a `do` loop with the `while` keyword. The " +"loop will be executed while the condition given in `while()` evaluates to" +" `.true.`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:139 +msgid "__Example:__ `do while()` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:152 +msgid "Loop control statements (`exit` and `cycle`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:154 +msgid "" +"Most often than not, loops need to be stopped if a condition is met. " +"Fortran provides two executable statements to deal with such cases." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:157 +msgid "" +"`exit` is used to quit the loop prematurely. It is usually enclosed " +"inside an `if`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:159 +msgid "__Example:__ loop with `exit`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:173 +msgid "" +"On the other hand, `cycle` skips whatever is left of the loop and goes " +"into the next cycle." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:175 +msgid "__Example:__ loop with `cycle`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:189 +msgid "" +"When used within nested loops, the `cycle` and `exit` statements operate " +"on the innermost loop." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:192 +msgid "Nested loop control: tags" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:194 +msgid "" +"A recurring case in any programming language is the use of nested loops. " +"Nested loops refer to loops that exist within another loop. Fortran " +"allows the programmer to _tag_ or _name_ each loop. If loops are tagged, " +"there are two potential benefits:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:195 +msgid "" +"The readability of the code may be improved (when the naming is " +"meaningful)." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:196 +msgid "" +"`exit` and `cycle` may be used with tags, which allows for very fine-" +"grained control of the loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:198 +msgid "__Example:__ tagged nested loops" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:213 +msgid "Parallelizable loop (`do concurrent`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:215 +msgid "" +"The `do concurrent` loop is used to explicitly specify that the _inside " +"of the loop has no interdependencies_; this informs the compiler that it " +"may use parallelization/_SIMD_ to speed up execution of the loop and " +"conveys programmer intention more clearly. More specifically, this means " +"that any given loop iteration does not depend on the prior execution of " +"other loop iterations. It is also necessary that any state changes that " +"may occur must only happen within each `do concurrent` loop. These " +"requirements place restrictions on what can be placed within the loop " +"body." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:221 +msgid "" +"Simply replacing a `do` loop with a `do concurrent` does not guarantee " +"parallel execution. The explanation given above does not detail all the " +"requirements that need to be met in order to write a correct `do " +"concurrent` loop. Compilers are also free to do as they see fit, meaning " +"they may not optimize the loop (e.g., a small number of iterations doing " +"a simple calculation, like the >below example). In general, compiler " +"flags are required to activate possible parallelization for `do " +"concurrent` loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:227 +msgid "__Example:__ `do concurrent()` loop" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:6 +msgid "Organising Code" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:8 +msgid "" +"Most programming languages allow you to collect commonly-used code into " +"_procedures_ that can be reused by _calling_ them from other sections of " +"code." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:11 +msgid "Fortran has two forms of procedure:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:13 +msgid "__Subroutine__: invoked by a `call` statement" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:14 +msgid "" +"__Function__: invoked within an expression or assignment to which it " +"returns a value" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:16 +msgid "" +"Both subroutines and functions have access to variables in the parent " +"scope by _argument association_; unless the `value` attribute is " +"specified, this is similar to call by reference." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:19 +msgid "Subroutines" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:21 +msgid "" +"The subroutine input arguments, known as _dummy arguments_, are specified" +" in parentheses after the subroutine name; the dummy argument types and " +"attributes are declared within the body of the subroutine just like local" +" variables." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:24 +#: ../../source/learn/quickstart/organising_code.md:118 +#: ../../source/learn/quickstart/variables.md:134 +msgid "__Example:__" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:44 +msgid "" +"Note the additional `intent` attribute when declaring the dummy " +"arguments; this optional attribute signifies to the compiler whether the " +"argument is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) " +"or ''read-write'' (`intent(inout)`) within the procedure. In this " +"example, the subroutine does not modify its arguments, hence all " +"arguments are `intent(in)`." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:48 +msgid "" +"It is good practice to always specify the `intent` attribute for dummy " +"arguments; this allows the compiler to check for unintentional errors and" +" provides self-documentation." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:52 +msgid "We can call this subroutine from a program using a `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:66 +msgid "" +"This example uses a so-called _explicit-shape_ array argument since we " +"have passed additional variables to describe the dimensions of the array " +"`A`; this will not be necessary if we place our subroutine in a module as" +" described later." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:70 +msgid "Functions" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:84 +msgid "In production code, the intrinsic function `norm2` should be used." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:86 +msgid "To execute this function:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:102 +msgid "" +"It is good programming practice for functions not to modify their " +"arguments---that is, all function arguments should be `intent(in)`. Such " +"functions are known as `pure` functions. Use subroutines if your " +"procedure needs to modify its arguments." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:107 +msgid "Modules" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:109 +msgid "" +"Fortran modules contain definitions that are made accessible to programs," +" procedures, and other modules through the `use` statement. They can " +"contain data objects, type definitions, procedures, and interfaces." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:112 +msgid "" +"Modules allow controlled scoping extension whereby entity access is made " +"explicit" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:113 +msgid "" +"Modules automatically generate explicit interfaces required for modern " +"procedures" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:115 +msgid "" +"It is recommended to always place functions and subroutines within " +"modules." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:147 +msgid "" +"Compare this `print_matrix` subroutine with that written outside of a " +"module we no longer have to explicitly pass the matrix dimensions and can" +" instead take advantage of _assumed-shape_ arguments since the module " +"will generate the required explicit interface for us. This results in a " +"much simpler subroutine interface." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:152 +msgid "To `use` the module within a program:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:167 +msgid "__Example:__ explicit import list" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:173 +msgid "__Example:__ aliased import" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:179 +msgid "" +"Each module should be written in a separate `.f90` source file. Modules " +"need to be compiled prior to any program units that `use` them." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:7 +msgid "" +"Variables store information that can be manipulated by the program. " +"Fortran is a _strongly typed_ language, which means that each variable " +"must have a type." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:11 +msgid "There are 5 built-in data types in Fortran:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:13 +msgid "`integer` -- for data that represent whole numbers, positive or negative" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:14 +msgid "`real` -- for floating-point data (not a whole number)" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:15 +msgid "`complex` -- pair consisting of a real part and an imaginary part" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:16 +msgid "`character` -- for text data" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:17 +msgid "`logical` -- for data that represent boolean (true or false) values" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:19 +msgid "" +"Before we can use a variable, we must _declare_ it; this tells the " +"compiler the variable type and any other variable attributes." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:22 +msgid "" +"Fortran is a _statically typed_ language, which means the type of each " +"variable is fixed when the program is compiled---variable types cannot " +"change while the program is running." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:25 +msgid "Declaring variables" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:27 +msgid "The syntax for declaring variables is:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:33 +msgid "" +"where `` is one of the built-in variable types listed " +"above and `` is the name that you would like to call your " +"variable." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:36 +msgid "" +"Variable names must start with a letter and can consist of letters, " +"numbers and underscores. In the following example we declare a variable " +"for each of the built-in types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:39 +msgid "__Example:__ variable declaration" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:54 +msgid "" +"Fortran code is __case-insensitive__; you don't have to worry about the " +"capitalisation of your variable names, but it's good practice to keep it " +"consistent." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:57 +msgid "" +"Note the additional statement at the beginning of the program: `implicit " +"none`. This statement tells the compiler that all variables will be " +"explicitly declared; without this statement variables will be implicitly" +" typed according to the letter they begin with." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:61 +msgid "" +"Always use the `implicit none` statement at the beginning of each program" +" and procedure. Implicit typing is considered bad practice in modern " +"programming since it hides information leading to more program errors." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:66 +msgid "" +"Once we have declared a variable, we can assign and reassign values to it" +" using the assignment operator `=`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:68 +msgid "__Example:__ variable assignment" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:78 +msgid "Characters are surrounded by either single (`'`) or double quotes (`\"`)." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:80 +msgid "Logical or boolean values can be either `.true.` or `.false.`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:82 +msgid "" +"Watch out\" content=\"for assignment at declaration: `integer :: amount =" +" 1`. __This is NOT a normal initialisation;__ it implies the `save` " +"attribute which means that the variable retains its value between " +"procedure calls. Good practice is to initialise your variables separately" +" to their declaration." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:87 +msgid "Standard input / output" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:89 +msgid "" +"In our _Hello World_ example, we printed text to the command window. This" +" is commonly referred to as writing to `standard output` or `stdout`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:92 +msgid "" +"We can use the `print` statement introduced earlier to print variable " +"values to `stdout`:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:102 +msgid "" +"In a similar way, we can read values from the command window using the " +"`read` statement:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:118 +msgid "This input source is commonly referred to as `standard input` or `stdin`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:121 +msgid "Expressions" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:122 +msgid "" +"The usual set of arithmetic operators are available, listed in order or " +"precedence:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`**`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Exponent" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`*`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Multiplication" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`/ `" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Division" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`+`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Addition" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`-`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Subtraction" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:170 +msgid "Floating-point precision" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:172 +msgid "" +"The desired floating-point precision can be explicitly declared using a " +"`kind` parameter. The `iso_fortran_env` intrinsic module provides `kind` " +"parameters for the common 32-bit and 64-bit floating-point types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:175 +msgid "__Example:__ explicit real `kind`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:190 +msgid "Always use a `kind` suffix for floating-point literal constants." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:192 +msgid "__Example:__ C-interoperable `kind`s" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:204 +msgid "" +"In the next part we will learn how to use arrays for storing more than " +"one value in a variable." +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/news.po b/locale/ja/LC_MESSAGES/news.po new file mode 100644 index 000000000..8440304f9 --- /dev/null +++ b/locale/ja/LC_MESSAGES/news.po @@ -0,0 +1,13945 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/news.rst:2 +msgid "News - The Fortran Programming Language" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:8 +msgid "" +"The J3 Fortran Committee meeting took place in Las Vegas, NV, on February" +" 24-28, 2020." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:11 +msgid "Attendance" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:13 +msgid "The following people / companies attended:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:15 +msgid "Voting members:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:17 +msgid "Intel: Jon Steidel" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:18 +msgid "HPE/Cray: Bill Long" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:19 +msgid "NVIDIA: Peter Klausler, Gary Klimowicz" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:20 +msgid "IBM: Daniel Chen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:21 +msgid "ARM: Srinath Vadlamani" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:22 +msgid "NCAR: Dan Nagle, Magne Haveraaen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:23 +msgid "NASA: Tom Clune" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:24 +msgid "JPL: Van Sneider" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:25 +msgid "LANL: Zach Jibben, Ondřej Čertík" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:26 +msgid "ORNL: Reuben Budiardja" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:27 +msgid "LBNL: Brian Friesen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:28 +msgid "Sandia: Damian Rouson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:29 +msgid "Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:30 +msgid "Corbett: Bob Corbett" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:32 +msgid "Others:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:34 +msgid "AMD: Richard Bleikamp" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:35 +msgid "WG23: Stephen Michell (convenor), Erhard Ploedereder (member)" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:36 +msgid "Structural Integrity: Brad Richardson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:38 +msgid "Proposals Discussed at Plenary" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:40 +msgid "Monday 2/24" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:42 +msgid "Tuesday 2/25" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:44 +msgid "" +"[#22] : Default values of optional arguments " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:46 +msgid "Wednesday 2/26" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:48 +msgid "" +"[#157] : Rank-agnostic array element and section denotation " +"(, " +")" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:49 +msgid "" +"[#158] : TYPEOF and CLASSOF " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:50 +msgid "" +"[#1] : Namespace for modules " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:51 +msgid "" +"Interpretation: FORM TEAM and failed images " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:52 +msgid "" +"Interpretation: Collective subroutines and STAT= " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:54 +msgid "Thursday 2/27" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:56 +msgid "" +"Interpretation: events that cause variables to become undefined " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:57 +msgid "" +"Edits for SIMPLE procedures " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:58 +msgid "BFLOAT16 ()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:59 +msgid "" +"[#146] : Interpretation: allocatable component finalization " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:61 +msgid "Friday 2/28" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:63 +msgid "" +"[#157] : Rank-agnostic syntax " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:64 +msgid "" +"[#156] : Protected components " +"(). Withdrawn to address " +"conflicting interests." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:65 +msgid "" +"[#160] : Edits for auto-allocate characters " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:66 +msgid "" +"Edits for procedure pointer association " +"(). Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:67 +msgid "" +"[#157] : Edits for rank-agnostic bounds " +"(). Withdrawn because some" +" edits were missing and need to be added. There were concerns about " +"fitting into the framework of generics later on." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:68 +msgid "" +"[#157] : Edits for rank-agnostic array element and section denotation " +"(). Failed (5 v 7). " +"Missing edits, and disagreement on types vs rank-1 integers, the options " +"need to be explored more." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:69 +msgid "" +"[#157] : Edits for rank-agnostic allocation and pointer assignment " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:70 +msgid "" +"Interpretation: Public namelist and private variable " +"(). Straw vote (0 yes, 8 " +"no, 9 undecided). Passed unanimously with \"no\" alternative." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:71 +msgid "" +"Interpretation F18/015 ()." +" Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:74 +msgid "Skipped" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:76 +msgid "This was on the plan but we did not get to it:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:78 +msgid "" +"[#5] : US 27 POINTER dummy arguments, INTENT, and target modification " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:79 +msgid "[#19] : Short-circuiting proposal" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:81 +msgid "More Details" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:83 +msgid "" +"More details available at [j3-fortran/fortran_proposals " +"#155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at " +"the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt)" +" from the meeting." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:8 +msgid "" +"FortranCon 2020, the first international conference targeting the Fortran" +" programming language, will take place on July 2-4, 2020, in Zürich, " +"Switzerland." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:13 +msgid "" +"FortranCon aims to bring together developers of Fortran libraries, " +"applications, and language itself to share their experience and ideas. " +"The conference is organized in two full days of speaker presentations on" +" July 2 and 3, and a half-day workshop with lectures and hands-on " +"sessions on July 4. Click " +"[here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit an " +"abstract." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:21 +msgid "" +"The keynote presentation will be delivered by Steve Lionel " +"([@doctorfortran](https://twitter.com/doctorfortran)), convener of the " +"US Fortran Standards Committee." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:25 +msgid "" +"The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/)" +" is **free of charge**, with June 1, 2020 as the deadline. Virtual " +"participation will be enabled for speakers and attendees unable to " +"travel." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:30 +msgid "" +"Read more about FortranCon 2020 " +"[here](https://tcevents.chem.uzh.ch/event/12/)." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:8 +msgid "" +"Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and " +"Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) " +"spoke yesterday about the future of Fortran in Episode 40 of the Open " +"Source Directions Webinar. We discussed the current state of the " +"language, how it's currently developed, and what we can do today to " +"build the Fortran community, ecosystem of packages, and developer tools." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:16 +msgid "Watch the episode now:" +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:20 +msgid "" +"Special thanks to our hosts Melissa Mendonça " +"([@melissawm](https://twitter.com/melissawm)) and Madicken Munk " +"([@munkium](https://twitter.com/munkium)), as well as " +"[OpenTeams](https://openteams.com) and " +"[QuanSight](https://www.quansight.com/) for having us." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:26 +msgid "" +"You can find all previous episodes of the Open Source Directions webinar" +" [here](https://www.quansight.com/open-source-directions)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:13 +msgid "" +"Welcome to the first monthly Fortran newsletter. It will come out on the " +"first calendar day of every month, detailing Fortran news from the " +"previous month." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:17 +msgid "[This website](#this-website)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:18 +msgid "[Standard Library](#standard-library)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:19 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:16 +msgid "[Package Manager](#package-manager)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:20 +msgid "[WG5 Convenor candidates](#wg5-convenor-candidates)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:21 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:17 +msgid "[Events](#events)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:22 +msgid "[Who's hiring?](#whos-hiring)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:24 +msgid "This website" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:26 +msgid "" +"If you came to this newsletter from elsewhere, welcome to the new Fortran" +" website. We built this site mid-April and hope for it to be _the_ home " +"of Fortran on the internet, which traditionally there hasn't been any to " +"date. Look around and [let us know](https://github.com/fortran-lang" +"/fortran-lang.github.io/issues) if you have any suggestions for " +"improvement. Specifically, [Learn](/learn) and [Packages](/packages) are " +"the pages that we'll be focusing on in the coming months. Please help " +"us make them better!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:35 +msgid "Standard Library" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:37 +msgid "Here's what's new in Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:39 +msgid "" +"[#172](https://github.com/fortran-lang/stdlib/pull/172) New function " +"`cov` in the `stdlib_experimental_stats` module to compute covariance of " +"array elements. Read the full specification [here](https://github.com" +"/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov" +"---covariance-of-array-elements)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:43 +msgid "" +"[#168](https://github.com/fortran-lang/stdlib/pull/168) Specify " +"recommended order of attributes for dummy arguments in the [Stdlib style" +" guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:47 +msgid "[#173](https://github.com/fortran-lang/stdlib/pull/173) Minor bug fix." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:50 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) WIP: Addition of " +"`diag`, `eye`, and `trace` functions to make working with matrices " +"easier." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:54 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:75 +msgid "Package Manager" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:56 +msgid "" +"In the past month we've seen the first working implementation of the " +"[Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). " +"Specifically:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:59 +msgid "FPM supports three commands:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:60 +msgid "`fpm build`--compiles and links your application and/or library." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:61 +msgid "`fpm test`--runs tests if your package has any test programs." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:62 +msgid "`fpm run`--runs the application if your package has an executable program." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:63 +msgid "FPM can build an executable program, a library, or a combination of both." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:64 +msgid "" +"Currently only gfortran is supported as the compiler backend. FPM will " +"suport other compilers soon." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:66 +msgid "" +"Read the [FPM packaging guide](https://github.com/fortran-" +"lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with " +"FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:69 +msgid "" +"FPM is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:72 +msgid "Try to use it. Does it work? No? Let us know!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:73 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:90 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:82 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:75 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:58 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:95 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:93 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:100 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:178 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:126 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:119 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:160 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:141 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:123 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:157 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:172 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:143 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:208 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:137 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:152 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:165 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:143 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:124 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:136 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:154 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:138 +msgid "" +"Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and " +"see if you can help implement any fixes or features." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:74 +msgid "Adapt your Fortran package for FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:75 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:92 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:84 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:77 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:60 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:97 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:95 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:102 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:180 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:128 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:121 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:162 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:143 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:125 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:159 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:174 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:145 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:210 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:139 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:154 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:145 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:126 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:138 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:156 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:140 +msgid "Improve the documentation." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:77 +msgid "" +"The short term goal of FPM is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are " +"created and published with ease." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:81 +msgid "WG5 Convenor candidates" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:83 +msgid "" +"Last month was also the deadline for the [WG5](https://wg5-fortran.org/) " +"convenor candidates to apply for the next 3-year term (2021-2024). There " +"are two candidates:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:87 +msgid "" +"[Steve Lionel](https://stevelionel.com), who is also the current WG5 " +"convenor, announced running for another term. Read Steve's " +"[post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-" +"forward) about how he has guided the standardization process over the " +"past three years and his direction for the future." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:92 +msgid "" +"[Ondřej Čertík](https://ondrejcertik.com) has also announced announced to" +" run for the WG5 convenor. Read Ondřej's " +"[announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5" +"-convenor-announcement/) and " +"[platform](https://github.com/certik/wg5_platform_2020) that detail " +"current issues with Fortran language development and how to overcome them" +" going forward." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:99 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:105 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:90 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:140 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:141 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:176 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:166 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:161 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:215 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:174 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:163 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:260 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:215 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:165 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:181 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:207 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:279 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:296 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:231 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:232 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:284 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:249 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:261 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:369 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:470 +msgid "Events" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:101 +msgid "" +"[OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com)" +" hosted Ondřej Čertík and Milan Curcic in the Episode 40 of the Open " +"Source Directions Webinar. They talked about the current state and future" +" of Fortran, as well as about building the Fortran community and " +"developer tools. Read more about it and watch the video " +"[here](/newsletter/2020/04/18/Fortran-Webinar/)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:105 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:108 +msgid "" +"J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, " +"Nevada. You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:112 +msgid "Who's hiring?" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:114 +msgid "" +"[Intel Corporation (Santa Clara, CA): Software Engineer, " +"Fortran](https://g.co/kgs/aogdeh)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:115 +msgid "" +"[Intel Corporation (Hillsboro, OR): Software Engineer, " +"Fortran](https://g.co/kgs/5X3d2Y)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:116 +msgid "[Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:117 +msgid "" +"[American Cybersystems, Inc. (Binghamton, NY): Software Engineer " +"(Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:118 +msgid "[BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:119 +msgid "" +"[Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and" +" Topology Optimization](https://g.co/kgs/eYftiA)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:9 +msgid "" +"Welcome to the June 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:13 +msgid "[fortran-lang.org](#fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:14 +msgid "[Fortran Discourse](#fortran-discourse)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:15 +msgid "[Standard Library](#fortran-standard-library)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:18 +msgid "[Contributors](#contributors)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:20 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:15 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:15 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:15 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:15 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:15 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:15 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:16 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:15 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:15 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:15 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:15 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:15 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:15 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:15 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:15 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:15 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:16 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:15 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:16 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:15 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:15 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:15 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:15 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:15 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:22 +msgid "" +"The Fortran website has been up since mid-April, and we've already got " +"great feedback from the community. In the past month we've updated the " +"[Compilers](/compilers) page which is now comprehensive and includes all " +"major open source and commercial compilers. The [Learn](/learn) page has " +"also seen significant updates—it's been reorganized for easier navigation" +" and currently features a quickstart tutorial, Fortran books, and other " +"online resources." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:30 +msgid "" +"If you haven't yet, please explore the website and [let us " +"know](https://github.com/fortran-lang/fortran-lang.org/issues) if you " +"have any suggestions for improvement. Specifically, we'll be focusing on " +"the [Learn](/learn) page and its mini-books in the coming months. Please " +"help us make them better!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:36 +msgid "Here are some specific items that we worked on:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:38 +msgid "" +"[#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) WIP: " +"Mini-book on building programs" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:40 +msgid "" +"[#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) Improving" +" the structure and navigation of the [Learn](/learn) pages" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:42 +msgid "" +"[#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) Build " +"website previews from pull requests" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:45 +msgid "Fortran Discourse" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:47 +msgid "" +"On May 4 we launched the [Fortran Discourse](https://fortran-" +"lang.discourse.group), an online discussion board for anything and " +"everything Fortran related. You can use it discuss the Fortran language, " +"ask for help, announce events and/or personal projects, or just lurk " +"around. There are already quite a few interesting discussions going on. " +"Join us!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:54 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:41 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:40 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:32 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:32 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:47 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:34 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:47 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:34 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:44 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:45 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:36 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:40 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:44 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:56 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:36 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:64 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:42 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:35 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:44 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:35 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:35 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:41 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:59 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:45 +msgid "Fortran Standard Library" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:56 +msgid "" +"Recently we launched a [website](https://stdlib.fortran-lang.org) for the" +" API documentation of the Fortran Standard Library. The " +"[website](https://stdlib.fortran-lang.org) is automaticaly generated by " +"[FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). [Code of" +" Conduct](https://stdlib.fortran-" +"lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib" +".fortran-lang.org/page/License.html), and [workflow](https://stdlib" +".fortran-lang.org/page/contributing/Workflow.html) for contributing to " +"the Fortran Standard Library can also be found on the " +"[website](https://stdlib.fortran-lang.org/)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:60 +msgid "Here's what's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:62 +msgid "" +"[#191](https://github.com/fortran-lang/stdlib/pull/191) WIP: Function for" +" computing Pearson correlations among elements of an array in the " +"`stdlib_experimental_stats` module" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:65 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) WIP: Procedures " +"for sparse matrices operations. Ongoing discussion on the API can be " +"found [here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-" +"matrix-API)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:68 +msgid "" +"[#183](https://github.com/fortran-lang/stdlib/pull/183) Automatic API-doc" +" generation and deployment of this [stdlib website](https://stdlib" +".fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:70 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) Addition of the " +"new functions `diag`, `eye`, and `trace` functions to make working with " +"matrices easier. Read the full specifications [here](https://stdlib" +".fortran-lang.org/page/specs/stdlib_experimental_linalg.html)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:77 +msgid "" +"In this past month support for dependencies between packages has been " +"added to the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/fpm). You can specify either a path to another folder on your " +"machine with an fpm package, or a git repository (and optionally a " +"specific branch, tag or commit) that contains the package. fpm will then " +"take care of fetching the dependency for you (if necessary) and any " +"packages it depends on, and compiling and linking it into your project. " +"Check out an example [hello world " +"package](https://gitlab.com/everythingfunctional/hello_fpm) that uses " +"this functionality." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:86 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:78 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:71 +msgid "" +"fpm is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:89 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:81 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:74 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:57 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:94 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:92 +msgid "" +"Try to use it. Does it work? No? Let us know! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:91 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:83 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:76 +msgid "Adapt your Fortran package for fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:94 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:86 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:79 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:62 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:99 +msgid "" +"The short term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:98 +msgid "Specific items that are new this month:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:100 +msgid "" +"[#82](https://github.com/fortran-lang/fpm/pull/82) You can now add remote" +" git repositories as Fortran dependencies to your project." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:102 +msgid "" +"[#73](https://github.com/fortran-lang/fpm/pull/73) Improved output " +"messages for the user" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:107 +msgid "" +"We hosted the very first Fortran Monthly call on May 14. The turnout was " +"astonishing--over 23 people joined. You can read the notes from the call " +"[here](https://fortran-lang.discourse.group/t/fortran-monthly-call-" +"may-2020). We'll have another one this month. Subscribe to the [mailing " +"list](https://groups.io/g/fortran-lang) and/or join the [Discourse](https" +"://fortran-lang.discourse.group) to stay tuned." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:113 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020. There are quite a few submissions from the fortran-lang community: " +"A talk on [stdlib](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, one " +"about the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, a talk on " +"[LFortran " +"compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by " +"Ondřej Čertík, as well as one about [building the Fortran " +"community](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-community) by Milan Curcic." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:122 +msgid "" +"J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, " +"Nevada, has been " +"[cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html)." +" However, the work on proposals for the Fortran Standard doesn't stop. " +"You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:127 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:104 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:157 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:151 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:186 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:179 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:173 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:230 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:189 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:188 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:290 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:227 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:186 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:202 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:224 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:296 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:310 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:252 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:247 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:303 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:266 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:282 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:257 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:379 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:485 +msgid "Contributors" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:129 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories [fortran-" +"lang/stdlib](https://github.com/fortran-lang/stdlib), [fortran-" +"lang/fpm](https://github.com/fortran-lang/fpm), [fortran-lang/fortran-" +"lang.org](https://github.com/fortran-lang/fortran-lang.org), " +"[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:136 +msgid "" +"Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), Laurence Kedward " +"([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas " +"([@jvdp1](https://github.com/jvdp1)), Brad Richardson " +"([@everythingfunctional](https://github.com/everythingfunctional)), Izaak" +" \"Zaak\" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin " +"Diehl ([@MarDiehl](https://github.com/MarDiehl)), " +"[@arjenmarkus](https://github.com/arjenmarkus), Van Snyder " +"([@vansnyder](https://github.com/vansnyder)), " +"[@FortranFan](https://github.com/FortranFan), " +"[@epagone](https://github.com/epagone), Ivan ([@ivan-" +"pi](https://github.com/ivan-pi)), Neil Carlson " +"([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu " +"([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima " +"([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler " +"([@klausler](https://github.com/klausler)), Chris MacMackin " +"([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa " +"([@p-costa](https://github.com/p-costa)), [@mobius-" +"eng](https://github.com/mobius-eng), Salvatore Filippone " +"([@sfilippone](https://github.com/sfilippone)), " +"[@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar " +"([@aktech](https://github.com/aktech)), Bálint Aradi " +"([@aradi](https://github.com/aradi)), Melissa Weber Mendonça " +"([@melissawm](https://github.com/melissawm)), Jacob Williams " +"([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami " +"([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi " +"([@shahmoradi](https://github.com/shahmoradi)), Bill Long " +"([@longb](https://github.com/longb))." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:9 +msgid "" +"Welcome to the July 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:17 +msgid "" +"Work has continued on the Fortran-lang website, including a new community" +" page and additional tutorial content:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:19 +msgid "" +"[#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated " +"the [Quickstart mini-book](https://fortran-" +"lang.org/learn/quickstart/derived_types) tutorial with a comprehensive " +"overview of derived types;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:21 +msgid "" +"[#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a " +"second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) " +"page on building compiled programs and libraries;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:23 +msgid "" +"[#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added " +"a new top-level web-page for Fortran-lang community projects. The page " +"gives useful information and links for new contributors, as well as " +"acknowledging each of our many existing contributors. Check it out at " +"." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:27 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:27 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:22 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:22 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:37 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:26 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:35 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:22 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:34 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:35 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:26 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:28 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:30 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:46 +msgid "Ongoing work:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:29 +msgid "" +"[#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code" +" style for Fortran examples in the tutorials. See the corresponding " +"community poll and discussion on [Discourse](https://fortran-" +"lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a" +"-consistent-style-for-code-listings/134);" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:32 +msgid "" +"[#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan" +" for core language tutorials." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:34 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:36 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:29 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:29 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:44 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:31 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:44 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:31 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:41 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:42 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:33 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:37 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:41 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:33 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:58 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:35 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:29 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:38 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:29 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:29 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:35 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:53 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:39 +msgid "" +"[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if" +" you have any suggestions for the website and its content. We welcome any" +" new contributors to the website and the tutorials page in particular - " +"see the [contributor guide](https://github.com/fortran-lang/fortran-" +"lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:37 +msgid "" +"__Did you know__ you don't need to know HTML or any fancy languages to " +"contribute to the website; all of the online tutorials and most of the " +"website content are written in [markdown](https://github.com/adam-p" +"/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for " +"formatting text - don't worry if you haven't used it before, it's very " +"easy to pick up!" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:43 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:42 +msgid "What's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:45 +msgid "" +"[#209](https://github.com/fortran-lang/stdlib/pull/209) Implements " +"Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the " +"quadrature module (`stdlib_experimental_quadrature`)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:48 +msgid "" +"[#205](https://github.com/fortran-lang/stdlib/pull/205) Tests for and " +"improved standard conformance." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:51 +msgid "Some miscellaneous fixes and improvements:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:53 +msgid "" +"[#208](https://github.com/fortran-lang/stdlib/pull/208) Fixes to support " +"Intel Fortran compilers" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:55 +msgid "" +"[#210](https://github.com/fortran-lang/stdlib/pull/210) Fixes to support " +"NAG compiler" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:57 +msgid "" +"[#207](https://github.com/fortran-lang/stdlib/pull/207) " +"[#211](https://github.com/fortran-lang/stdlib/pull/211) Other minor fixes" +" and improvements" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:61 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:51 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:47 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:63 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:67 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:99 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:96 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:81 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:102 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:94 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:94 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:116 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:137 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:108 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:158 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:102 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:108 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:135 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:88 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:82 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:96 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:114 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:104 +msgid "Fortran Package Manager" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:63 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:53 +msgid "What's new in fpm:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:65 +msgid "" +"[#99](https://github.com/fortran-lang/fpm/pull/99) fpm now lets you " +"specify a custom build script or a Makefile to use. This will help " +"building packages that use a custom structure and/or external " +"dependencies in other languages." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:69 +msgid "" +"[#89](https://github.com/fortran-lang/fpm/pull/89) Allow specifying " +"specific tests or executables to run via command-line arguments." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:71 +msgid "" +"[#85](https://github.com/fortran-lang/fpm/pull/85) Enables having " +"specific dependencies for tests and executables." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:73 +msgid "" +"[#97](https://github.com/fortran-lang/fpm/pull/97) " +"[#100](https://github.com/fortran-lang/fpm/pull/100) " +"[#101](https://github.com/fortran-lang/fpm/pull/101) Minor improvements " +"to the README." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:92 +msgid "" +"We had our second Fortran Monthly call on June 19. You can read watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:97 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:153 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:148 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:183 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:176 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:170 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:222 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:186 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:185 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:287 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:224 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:183 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:199 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:221 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:293 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:307 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:249 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:244 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:300 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:263 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:279 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:254 +msgid "" +"As usual, subscribe to the [mailing list](https://groups.io/g/fortran-" +"lang) and/or join the [Discourse](https://fortran-lang.discourse.group) " +"to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:100 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today " +"(July 2), with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:106 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:159 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:109 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:162 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:156 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:191 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:110 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:163 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:157 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:192 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:111 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:164 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:159 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:194 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:112 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:165 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:161 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:196 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:9 +msgid "" +"Welcome to the August 2020 edition of the monthly Fortran newsletter. The" +" newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:17 +msgid "We continued the work on the Fortran-lang website, including:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:19 +msgid "" +"[#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): " +"updates to the Quickstart tutorial on loop control and syntax" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:21 +msgid "" +"[#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): " +"updated the [Book section](https://fortran-lang.org/learn/) with a " +"comprehensive list of books about Fortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:25 +msgid "" +"[#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), " +"[#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), " +"[#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), " +"[#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): " +"additional packages added to the Fortran-lang.org [packages](https" +"://fortran-lang.org/packages) page" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:29 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:43 +msgid "" +"[#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of" +" the Fortran Standard Library has been modified for clarity and ease of " +"use. With these changes, both experimental and stable procedures will " +"reside together in the same modules. The status of the procedures " +"(experimental vs stable) are documented in the code, in the specs, and in" +" the [API docs](https://stdlib.fortran-lang.org/)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:45 +msgid "Main ongoing discussions:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:46 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:47 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:48 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:39 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:55 +msgid "" +"[#221](https://github.com/fortran-lang/stdlib/issues/221): API for a " +"bitset data type" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:49 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:40 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:56 +msgid "" +"[#201](https://github.com/fortran-lang/stdlib/issues/201): API for file " +"system operations" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:54 +msgid "" +"We created the [fpm-registry](https://github.com/fortran-lang/fpm-" +"registry) repository, which serves as a registry of fpm-enabled Fortran " +"packages. Please see the README there to learn how to contribute a " +"package. For now, the registry is simply a list of fpm-enabled Fortran " +"packages that you can use as a dependency in your `fpm.toml` file. Soon, " +"this registry will be used to generate detailed metadata that will be " +"used by fpm to allow you to search for packages from the command-line, " +"e.g. `fpm search ` or similar." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:59 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the " +"design of the new Fortran implementation of fpm in a video call. We " +"agreed on the need for an intermediate package model which will allow for" +" clean separation of fpm frontends (user interface, parsing, and " +"semantics) and fpm backends (fpm itself, CMake, Make, etc.)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:60 +msgid "" +"[#131](https://github.com/fortran-lang/fpm/pull/131), " +"[#132](https://github.com/fortran-lang/fpm/pull/132), " +"[#139](https://github.com/fortran-lang/fpm/pull/139), " +"[#140](https://github.com/fortran-lang/fpm/pull/140), " +"[#142](https://github.com/fortran-lang/fpm/pull/142), " +"[#145](https://github.com/fortran-lang/fpm/pull/145), " +"[#147](https://github.com/fortran-lang/fpm/pull/147), " +"[#148](https://github.com/fortran-lang/fpm/pull/148), " +"[#151](https://github.com/fortran-lang/fpm/pull/151): We merged several " +"pull requests toward the Fortran fpm implementation. The Haskell " +"implementation has moved to the `fpm/bootstrap` directory, and the " +"Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of " +"course, an fpm package itself so it can be built by the Haskell fpm. " +"Soon, it will be able to be build by itself." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:83 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:66 +msgid "Fortran benchmarks" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:85 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:68 +msgid "" +"We created the [benchmarks repository](https://github.com/fortran-" +"lang/benchmarks) with the goal to design and implement a comprehensive " +"set of benchmarks. The benchmarks will aim to compare the performance of " +"various Fortran compilers, as well as the performance of canonical " +"algorithms implemented in Fortran and different languages. If you'd like " +"to contribute in any way, be it the design, implementation, or testing of" +" benchmarks, please join the ongoing discussion [here](https://github.com" +"/fortran-lang/benchmarks/issues)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:89 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:84 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:106 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:103 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:110 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:188 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:136 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:170 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:151 +msgid "Classic Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:91 +msgid "" +"We've begun to evaluate pull requests and merge them into the original " +"Flang compiler again. There is now a biweekly call to discuss issues and " +"plans for Classic Flang. The next call will be Wednesday, August 12, 8:30" +" AM Pacific time. The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:97 +msgid "" +"In the last call, AMD reviewed their outstanding pull requests for " +"Fortran debug metadata enhancements." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:100 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:100 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:131 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:125 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:134 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:196 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:156 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:196 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:162 +msgid "LLVM Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other test suites that use F77." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:106 +msgid "" +"We cominue upstreaming the lowering code from the fir-dev fork (MLIR-" +"based Fortran IR) into the llvm-project repository. Arm is working on " +"changes to support a driver program to replace the throwaway driver we " +"currently have." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:110 +msgid "" +"AMD has been contributing parser and semantic processing for OpenMP " +"constructs like task wait, barrier and parallel constructs." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:113 +msgid "" +"Changes have been made to default parse/unparse/compile processing to " +"default to gfortran (not NVIDIA Fortran)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:116 +msgid "Valentin Clement has been committing initial changes for OpenACC support." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:119 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:118 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:152 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:148 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:129 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:235 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:204 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:134 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:168 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:182 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:211 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:267 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:218 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:214 +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:131 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:269 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:196 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:251 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:237 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:236 +msgid "LFortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:121 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:120 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:154 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:150 +msgid "What's new in LFortran:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:123 +msgid "" +"The initial prototype C++ backend can translate Fortran's `do concurrent`" +" to C++'s `Kokkos::parallel_for`: " +"[https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:124 +msgid "" +"LFortran has a Twitter account for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:125 +msgid "" +"Work is progressing on the production version of LFortran that is written" +" in C++" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:126 +msgid "" +"22 Merge Requests were merged and 4 issues fixed in July 2020. Some " +"notable ones:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:127 +msgid "" +"[#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement " +"basic Fortran to C++ translation backend" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:128 +msgid "" +"[!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make " +"simple calculations work via LLVM in interactive mode" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:129 +msgid "" +"[!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build " +"ASR (Abstract Semantic Representation) properly for subroutines and " +"functions" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:131 +msgid "" +"The short term goal is to get the C++ based production version of " +"LFortran matching most of the features from the Python prototype version " +"and make a public release. The long term goal is to build a modern " +"Fortran compiler that works with any production code and allows it to run" +" efficiently on modern hardware (CPUs and GPUs), both interactively and " +"compiling to binaries, and provide the basis for other tools such as the " +"Fortran to C++ translation, editor support, automatic documentation " +"generation (and doctesting like in Python), automatic formatting and " +"others." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:142 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 " +"- 4. with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +" All presentations have been recorded and will be soon made available " +"online by the FortranCon organizers." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:148 +msgid "" +"We had our third Fortran Monthly call on July 16. You can read watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:9 +msgid "" +"Welcome to the September 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:17 +msgid "We continued the work on the Fortran-lang website, specifically:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:19 +msgid "" +"[#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): " +"Listing fpm packages on the Packages page of the website" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:34 +msgid "" +"There hasn't been new stdlib development in August, however ongoing work " +"and discussions continue:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:36 +msgid "" +"[#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal " +"for logging facilities in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:37 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:53 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:38 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:54 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:42 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:58 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:62 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:58 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:94 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:91 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:76 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:97 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:89 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:89 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:111 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:132 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:103 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:153 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:97 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:103 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:130 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:83 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:77 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:91 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:109 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:99 +msgid "" +"The candidate for file system operations to be included in stdlib is " +"being developed by [@MarDiehl](https://github.com/MarDiehl) and " +"[@arjenmarkus](https://github.com/arjenmarkus) in [this " +"repository](https://github.com/MarDiehl/stdlib_os). Please try it out and" +" let us know how it works, if there are any issues, or if the API can be " +"improved." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:49 +msgid "Ongoing work in fpm:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:51 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): " +"Implementing internal dependencies and build backend in the Fortran fpm" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:54 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:91 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:89 +msgid "" +"fpm is still in early development and we need as much help as we can get." +" Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:59 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:96 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:94 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:101 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:179 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:127 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:120 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:161 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:142 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:124 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:158 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:173 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:144 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:209 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:138 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:153 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:166 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:144 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:125 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:137 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:155 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:139 +msgid "" +"Adapt your Fortran package for fpm and submit it to the " +"[Registry](https://github.com/fortran-lang/fpm-registry)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:72 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:104 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:101 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:108 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:186 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:134 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:127 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:168 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:149 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:131 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:165 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:180 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:178 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:217 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:146 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:161 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:173 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:151 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:132 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:144 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:162 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:146 +msgid "Compilers" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:74 +msgid "GFortran" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:76 +msgid "" +"GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed " +"include PR94361, a memory leak with finalizers." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:79 +msgid "" +"The development version of `gfortran` now supports the full OpenMP 4.5 " +"specification. This will be released with GCC 11, but of course people " +"can already download and test it." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:86 +msgid "" +"We're evaluating pull requests and merging them into the original Flang " +"compiler again. We pulled in 4 changes in the past couple of weeks, and " +"expect to merge in a few more each week. One upcoming change is the " +"support for LLVM 10, which requires the use of a new fork, the _classic-" +"flang-llvm-project_ fork of the LLVM monorepo. See " +"[PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:94 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other F77 test suites (and the F77 parts" +" of non-F77 suites)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:107 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs. We continue to work on refactoring necessary to upstream this " +"fork into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:112 +msgid "" +"Arm is working on changes to support a driver program to replace the " +"temporary driver we currently use." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:115 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:142 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:122 +msgid "143 Merge Requests were merged and 22 issues fixed in August 2020" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:123 +msgid "" +"The C++ backend can now translate to C++ and compile many simple Fortran " +"programs" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:124 +msgid "" +"The parser can now parse a large subset of Fortran (if you find something" +" that cannot be parsed, please " +"[report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all " +"the information is yet represented in the AST (so later stages of the " +"compiler also work on a smaller subset), but one should not get parse " +"errors anymore for most valid codes." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:128 +msgid "" +"Initial `lfortran fmt` subcommand for formatting Fortran files, you can " +"provide feedback [here](https://fortran-lang.discourse.group/t/feedback-" +"for-lfortran-fmt-to-format-fortran-source-code/281)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:131 +msgid "A new command `lfortran kernel` can run LFortran as a Jupyter kernel." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:132 +msgid "" +"LFortran itself gives a nice Python like stacktrace (on Linux and macOS) " +"in Debug mode when an unhandled excetion happens or a segfault." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:135 +msgid "" +"Our goal for September is to get LFortran working for a much larger " +"subset of Fortran and allow it to compile and run via the C++ translation" +" backend (the LLVM backend will follow soon after)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:139 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:174 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:164 +msgid "" +"You can follow LFortran on Twitter for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:143 +msgid "" +"We had our fourth Fortran Monthly call on August 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:153 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:188 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:181 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:175 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:232 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:191 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:190 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:292 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:229 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:188 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:204 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:226 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:298 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:312 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:254 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:249 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:305 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:268 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:284 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:259 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:381 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:487 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of these repositories:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:158 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:193 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)," +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:160 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:195 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)," +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:9 +msgid "" +"Welcome to the October 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:17 +msgid "This month we've had only one minor change to the website:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:19 +msgid "" +"[#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): Small " +"fix in the opening sentence on the compilers page" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:34 +msgid "" +"This month we've had an improvement to the `stdlib_ascii` module, as well" +" as addition of logging facilities." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:37 +msgid "" +"[#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to " +"the `stdlib_stats` module by adding explicit conversions." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:38 +msgid "" +"[#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation " +"of the `stdlib_logger` module. It provides a global logger instance for " +"easy use in user applications, as well as a `logger_type` derived type if" +" multiple concurrent loggers are needed. See the [logger " +"specification](https://stdlib.fortran-" +"lang.org/page/specs/stdlib_logger.html) to learn more." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:44 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:85 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:80 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:46 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:84 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:163 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:55 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:109 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:57 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:96 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:144 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:55 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:119 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:55 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:103 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:143 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:83 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:154 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:38 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:123 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:24 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:56 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:113 +msgid "Work in progress:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:46 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:51 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of the `stdlib_bitsets` module. It provides a bitset data type." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:47 +msgid "" +"[#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to " +"the `stdlib_ascii` module" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:51 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:53 +msgid "Otherwise, ongoing discussions continue:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:65 +msgid "" +"This month has seen over a dozen additions and improvements to the " +"Fortran implementation of fpm:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:67 +msgid "" +"[#186](https://github.com/fortran-lang/fpm/issues/186): Implement version" +" string validation and comparison" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:68 +msgid "[#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:69 +msgid "" +"[#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to " +"further development of subcommands" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:70 +msgid "" +"[#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source " +"discovery" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:71 +msgid "" +"[#178](https://github.com/fortran-lang/fpm/issues/178): Add more example " +"packages" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:72 +msgid "" +"[#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective " +"testing of single suites and tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:73 +msgid "" +"[#175](https://github.com/fortran-lang/fpm/issues/175): Updated " +"formatting of Markdown documents" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:74 +msgid "" +"[#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell " +"Stack build in CI" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:75 +msgid "" +"[#171](https://github.com/fortran-lang/fpm/issues/171): Increase test " +"coverage of fpm manifest" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:76 +msgid "" +"[#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing " +"tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:77 +msgid "" +"[#163](https://github.com/fortran-lang/fpm/issues/163): Use different " +"strategy to fetch git dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:78 +msgid "" +"[#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type " +"identification" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:79 +msgid "" +"[#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing " +"guidelines (you can read them [here](https://github.com/fortran-" +"lang/fpm/CONTRIBUTING.md))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:81 +msgid "" +"[#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading" +" of fpm.toml" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:82 +msgid "" +"[#155](https://github.com/fortran-lang/fpm/issues/155): Internal " +"dependencies and build backend" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:87 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path " +"dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:88 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto " +"discovery of executables" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:89 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement " +"`fpm new`" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:108 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in the past month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:111 +msgid "" +"One important merge was support for LLVM 10, which required the use of a " +"new fork, the _classic-flang-llvm-project_ fork of the LLVM monorepo. See" +" [PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:117 +msgid "Other recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:118 +msgid "" +"[PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-" +"compiler/flang/pull/658)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:119 +msgid "" +"[PR#737: TRAILZ function added to the fortran " +"compiler](https://github.com/flang-compiler/flang/pull/737)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:120 +msgid "" +"[PR#756: Fix ICE interf:new_symbol_and_link symbol not " +"found](https://github.com/flang-compiler/flang/pull/756)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:121 +msgid "" +"[PR#888: flang gen-exec does not show routine variables with parameter " +"attribute; there are multiple pull requests that this includes (details " +"below)](https://github.com/flang-compiler/flang/pull/888)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:122 +msgid "" +"[PR#916: Fix off-by-one error in minimum integers](https://github.com" +"/flang-compiler/flang/pull/916)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:123 +msgid "" +"[PR#921: Correction of representation of string (character type) " +"constants](https://github.com/flang-compiler/flang/pull/921)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:125 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, October 7 and 21, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:133 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:136 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS). We " +"continue to work on refactoring necessary to upstream the _fir-dev_ fork " +"into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:142 +msgid "Arm has contributed changes toward a full-fledged driver for flang." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:144 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:140 +msgid "AMD continues to add support for OpenMP semantics and lowering." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:146 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support. This will be the topic of the next Flang Technical " +"Community call on Monday, October 5, 8:30 AM Pacific Time." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:150 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:156 +msgid "59 Merge Requests were merged and 3 issues fixed in September 2020" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:157 +msgid "" +"The FortranCon 2020 LFortran video now " +"[available](https://www.youtube.com/watch?v=tW9tUxVMnzc)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:158 +msgid "" +"LFortran, now imlemented in C++, has surpassed the Python prototype from " +"a year ago" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:160 +msgid "The Jupyter notebook now works as it used to with the Python prototype" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:161 +msgid "" +"A new notebook added showcasing how to visualize AST, ASR and C++ " +"translation in Jupyter " +"([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:163 +msgid "" +"X86 backend to generate direct x86-32 machine code (very fast compilation" +" in Debug mode)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:165 +msgid "Further parser improvements" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:166 +msgid "Initial Fortran modules support" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:167 +msgid "" +"Initial support for using GFortran modules " +"([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:169 +msgid "" +"Better compiler error messages " +"([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:171 +msgid "" +"The interactive prompt (REPL) now understands arrow keys " +"([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:178 +msgid "" +"We had our fourth Fortran Monthly call on September 25. You can watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:9 +msgid "" +"Welcome to the November 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:17 +msgid "This month we've had a few additions and improvements to the website:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:19 +msgid "" +"[#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): New " +"mini-book on setting up the Fortran development environment. You can read" +" it [here](https://fortran-lang.org/learn/os_setup)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:22 +msgid "" +"[#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): " +"Automated posting to @fortranlang Twitter using twitter-together." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:24 +msgid "" +"[#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): Fix " +"for a security vulnerability reported by the GitHub Security Team." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:26 +msgid "" +"The following packages were added to the [Package Index](https://fortran-" +"lang.org/packages): atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, " +"fypp, HANDE, libmbd, libnegf, mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT," +" QMD-PROGRESS, scalapackfx, tapenade, wannier90, and xtb." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:31 +msgid "" +"[#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), " +"[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), " +"[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), " +"[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): Minor " +"fixes and improvements." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:39 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:28 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): " +"In-depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:41 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): " +"Updating the mini-book on building programs." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:49 +msgid "This month progress was made on a few pull requests:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:52 +msgid "" +"[#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation " +"of the `stdlib_stats_distribution` module. It provides probability " +"distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:53 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to" +" support newline characters in the message provided to the logger." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:55 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:51 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:74 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:71 +msgid "Don't hesitate to test and review these pull requests!" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:57 +msgid "Otherwise, ongoing discussions continue;" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:58 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/pull/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:59 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/pull/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:69 +msgid "What's new:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:71 +msgid "" +"[#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm " +"submodule support" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:72 +msgid "" +"[#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to " +"`list_files` and `mkdir` in `fpm_filesystem`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:73 +msgid "" +"[#206](https://github.com/fortran-lang/fpm/issues/206): Add installation " +"script in `install.sh`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:74 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote " +"package dependencies (Fortran fpm can now build itself)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:75 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of" +" executables" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:76 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189), " +"[#204](https://github.com/fortran-lang/fpm/issues/204), " +"[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm " +"new` in Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:82 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:86 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:165 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:111 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:98 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:146 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:121 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:105 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:145 +msgid "" +"[First beta release](https://github.com/fortran-lang/fpm/milestone/1) " +"(WIP): First feature-complete release of the Fortran implementation." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:83 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and " +"executable runner options" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:84 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler " +"and flags" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:85 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove " +"bashism from install.sh" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:86 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add " +"automatic documentation for Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:87 +msgid "" +"[#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create " +"package manifest with toml-f build interface" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:97 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:104 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:182 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:130 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:123 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:164 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:145 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:127 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:161 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:176 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:147 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:212 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:141 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:156 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:169 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:147 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:128 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:140 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:158 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:142 +msgid "" +"The short-term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:105 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in October." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:108 +msgid "Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:109 +msgid "" +"[PR#660: Enable support for simd directives](https://github.com/flang-" +"compiler/flang/pull/660)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:110 +msgid "" +"[PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug " +"metadata](https://github.com/flang-compiler/flang/pull/878)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:111 +msgid "" +"[PR#910: Fix f90_correct tests](https://github.com/flang-" +"compiler/flang/pull/910)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:112 +msgid "" +"[PR#922: Fix private flag overwrite in " +"find_def_in_most_recent_scope()](https://github.com/flang-" +"compiler/flang/pull/922)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:113 +msgid "" +"[PR#927: f90_correct: exclude tests failing with LLVM 10 on " +"OpenPOWER](https://github.com/flang-compiler/flang/pull/927)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:114 +msgid "" +"[PR#930: Fix HTML docs generation](https://github.com/flang-" +"compiler/flang/pull/930)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:115 +msgid "" +"[PR#931: [flang2] Fix segmentation faults (#421)](https://github.com" +"/flang-compiler/flang/pull/931)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:116 +msgid "" +"[PR#932: [flang1] Do not assume unempty derived types](https://github.com" +"/flang-compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:117 +msgid "" +"[PR#938: [flang2] Fixing possible crash due to ivl being NULL in " +"dinit.cpp](https://github.com/flang-compiler/flang/pull/938)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:119 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, November 4 and 18, 8:00 AM Pacific time (note " +"the time change). The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:127 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:129 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:138 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:133 +msgid "" +"Pat McCormick is working on an RFC for the merge of the lowering code in " +"the fir-dev fork into LLVM master. The goal is to expedite this in a way " +"that is acceptable to the Flang community, so we can do further work in " +"the single master branch." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:138 +msgid "" +"Arm continues to contribute changes toward a full-fledged driver for " +"flang." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:145 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC to the point that he can build and test Flang on Windows." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:152 +msgid "9 Merge Requests were merged and 5 issues fixed in October 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:153 +msgid "" +"We gave LFortran " +"[talk](https://cfp.jupytercon.com/2020/schedule/presentation/169" +"/lfortran-interactive-llvm-based-fortran-compiler-for-modern-" +"architectures/) at JupyterCon 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:156 +msgid "" +"A prototype compiler implementation of conditional expressions for the " +"October 2020 Fortran Standards Committee meeting " +"([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:159 +msgid "Better code formatting support (`lfortran fmt`)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:160 +msgid "Improvements to AST" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:161 +msgid "" +"Capture stdout on Windows in a Jupyter notebook " +"([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:168 +msgid "" +"The US Fortran Standards Committee held a virtual meeting from October " +"12-14. You can read the summary and the discussion " +"[here](https://github.com/j3-fortran/fortran_proposals/issues/185) and " +"all the documents [here](https://j3-fortran.org/doc/meeting/222)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:171 +msgid "" +"We had our 5th Fortran Monthly call on October 27. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:184 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:178 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:235 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:194 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:193 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:295 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:232 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:191 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:207 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:229 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:301 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:315 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:257 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:252 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:308 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:271 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:287 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:262 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:490 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:185 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:179 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:236 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:196 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:195 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:297 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:234 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:193 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:209 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:231 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:303 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:317 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:259 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:254 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:310 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:273 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:289 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:264 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:386 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:492 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:186 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:180 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:237 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:197 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:196 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:298 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:235 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:194 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:210 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:232 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:304 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:318 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:260 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:255 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:311 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:274 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:290 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:265 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:387 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:493 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:187 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:181 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:239 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:199 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:198 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:301 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:238 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:197 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:213 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:235 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:307 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:321 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:263 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:258 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:315 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:278 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:294 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:269 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:391 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:497 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:188 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:182 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:240 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:200 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:199 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:302 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:239 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:198 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:214 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:236 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:308 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:322 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:264 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:259 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:316 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:279 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:295 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:270 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:498 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:189 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:183 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:241 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:9 +msgid "" +"Welcome to the December 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:17 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:18 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:17 +msgid "This month we've had a few updates to the website:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:19 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): " +"Updates to the mini-book on building Fortran programs, including the " +"addition of short guides on Meson and CMake. You can read the mini-book " +"[here](https://fortran-lang.org/learn/building_programs)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:23 +msgid "" +"[#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): Add " +"PSBLAS to the package index." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:36 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:49 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:36 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:46 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:47 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:38 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:42 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:46 +msgid "Here's what's new in `stdlib`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:38 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of bitsets in `stdlib_bitsets`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:39 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243), " +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#252](https://github.com/fortran-lang/stdlib/pull/253), " +"[#255](https://github.com/fortran-lang/stdlib/pull/255): Various " +"improvements to `stdlib_logger`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:43 +msgid "" +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to " +"the CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:48 +msgid "" +"(WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): " +"Implementation of the `stdlib_stats_distribution` module. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:49 +msgid "" +"(WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:54 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/issues/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:55 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/issues/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:56 +msgid "" +"[#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to" +" add a logger for debug phases and levels among the different logs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:65 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:101 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:98 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:83 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:104 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:96 +msgid "Here's what's new in `fpm`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:67 +msgid "" +"[#259](https://github.com/fortran-lang/fpm/pull/259): Update the " +"instructions for building from source in README.md." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:68 +msgid "" +"[#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary " +"releases in CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:69 +msgid "" +"[#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with " +"external libraries." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:70 +msgid "" +"[#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference " +"document for the package manifest (fpm.toml)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:71 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/pull/221), " +"[#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for " +"test and app executables." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:73 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler " +"and flags settings in Haskell fpm." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:74 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/pull/209): " +"[#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:76 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/pull/216), " +"[#225](https://github.com/fortran-lang/fpm/pull/225), " +"[#226](https://github.com/fortran-lang/fpm/pull/226), " +"[#229](https://github.com/fortran-lang/fpm/pull/229), " +"[#236](https://github.com/fortran-lang/fpm/pull/236), " +"[#240](https://github.com/fortran-lang/fpm/pull/240), " +"[#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and " +"improvements." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:87 +msgid "" +"(WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261): Specification of " +"the fpm CLI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:89 +msgid "" +"(WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the " +"`extra` section in fpm.toml." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:90 +msgid "" +"(WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor " +"backend for incremental rebuilds." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:91 +msgid "" +"(WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:92 +msgid "" +"(WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the " +"compiler and specifying test or app target." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:93 +msgid "" +"(WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement " +"`fpm install`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:94 +msgid "" +"(WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to " +"test release build." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:96 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:173 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:121 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:114 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:155 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:136 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:118 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:152 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:167 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:138 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:200 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:129 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:144 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:157 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:135 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:116 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:128 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:146 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:130 +msgid "" +"`fpm` is still in early development and we need as much help as we can " +"get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:99 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:176 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:124 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:117 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:158 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:139 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:121 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:155 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:170 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:141 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:203 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:112 +msgid "" +"We continue to evaluate and merge pull requests into Classic Flang. " +"Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:113 +msgid "" +"[PR#883: Flang generated executable does not show result variable of " +"function](https://github.com/flang-compiler/flang/pull/883)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:114 +msgid "" +"[PR#933: Updating X-flag entries for internal command line option \"-x " +"49\"](https://github.com/flang-compiler/flang/pull/933)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:115 +msgid "" +"[PR#939: Publish Arm's internal documentation](https://github.com/flang-" +"compiler/flang/pull/939)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:116 +msgid "" +"[PR#941: [DebugInfo] Internal subprogram variable is not accessible for " +"printing in gdb](https://github.com/flang-compiler/flang/pull/941)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:117 +msgid "" +"[PR#942: Implement UNROLL(n) directive](https://github.com/flang-" +"compiler/flang/pull/942)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:118 +msgid "" +"[PR#943: Enable github Actions for push to master and pull requests to " +"master](https://github.com/flang-compiler/flang/pull/943)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:119 +msgid "" +"[PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-" +"compiler/flang/pull/945)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:120 +msgid "" +"[PR#946: Call check_member() for PD_is_contiguous](https://github.com" +"/flang-compiler/flang/pull/946)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:121 +msgid "" +"[PR#951: Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:123 +msgid "Pull requests merged into the supporting projects:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:124 +msgid "" +"[classic flang LLVM monorepo PR#5: [Driver] Reduce downstream " +"delta](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/5)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:125 +msgid "" +"[classic flang LLVM monorepo PR#6: Removing a few CI " +"pipelines](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/6)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:126 +msgid "" +"[classic flang LLVM monorepo PR#7: Github Actions added to pre-compile " +"artifacts for flang](https://github.com/flang-compiler/classic-flang-" +"llvm-project/pull/7)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:127 +msgid "" +"[llvm mirror PR#87: Enable github actions for llvm](https://github.com" +"/flang-compiler/llvm/pull/87)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:128 +msgid "" +"[flang-driver PR#94: Enable github actions](https://github.com/flang-" +"compiler/flang-driver/pull/94)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:130 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes " +"from previous calls, upcoming agenda and a link to join the call can be " +"found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:136 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime. Significant contributions are being made for OpenMP and OpenACC " +"support." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:140 +msgid "" +"Pat McCormick is (still) working on an RFC for the merge of the lowering " +"code in the fir-dev fork into LLVM master. (This was interrupted by " +"Supercomputing 2020 and other ECP duties.) The goal is to expedite this " +"in a way that is acceptable to the Flang community, so we can do further " +"work in the single master branch." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:143 +msgid "Recent updates include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:144 +msgid "" +"Johannes Doerfert has created a web page at https://flang.llvm.org; you " +"can find call and Slack logistics there" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:145 +msgid "" +"Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-" +"tests project: http://lists.llvm.org/pipermail/llvm-" +"dev/2020-November/146873.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:146 +msgid "" +"Andzrej Warzynski has a flang-dev RFC regarding flang option names: " +"http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:147 +msgid "" +"Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help " +"flang driver become independent of clang: http://lists.llvm.org/pipermail" +"/cfe-dev/2020-November/067263.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:148 +msgid "" +"Changed representation of CHARACTER data in type system to make more " +"consistent with other types (for arrays)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:149 +msgid "" +"Changed COMPLEX expression representation to provide better handling in " +"lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:150 +msgid "More improvements for supporting Fortran 77 programs" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:151 +msgid "Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:152 +msgid "" +"Continued implementation of table-driven runtime for derived types; " +"posted documentation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:153 +msgid "Continued implementation of array expression lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:154 +msgid "Improved error checks on forward references" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:155 +msgid "" +"More updates to flang driver (option handling; -E can now be used to " +"invoke just the Flang preprocessor)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:156 +msgid "OpenACC semantic checks for modifiers on enter/exit data, set directives" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:157 +msgid "" +"OpenACC lowering (enter/exit data, update, init, shutdown, wait " +"directives)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:158 +msgid "" +"OpenMP structure checker updates; semantic checks for copyin clause; " +"schedule class" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:163 +msgid "" +"Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be " +"the new Chair of PL22.3 (J3, US Standards Committee). Brian will serve in" +" his first term until November 2023. Congratulations, Brian!" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:165 +msgid "" +"We had our 6th Fortran Monthly call on November 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:9 +msgid "" +"Happy New Year! Welcome to the January 2021 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:20 +msgid "" +"[#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), " +"[#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): Fix " +"build preview" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:23 +msgid "" +"[#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): Fix " +"word spelling error in quickstart page" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:25 +msgid "" +"[#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), " +"[#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), " +"[#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): Add " +"missing packages from the list of popular Fortran projects to the package" +" index" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:29 +msgid "" +"[#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): Update" +" compilers page following Intel oneAPI release" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:31 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), " +"[#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): In-" +"depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:37 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:26 +msgid "" +"[#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): " +"Correct compiler page and tutorial regarding Intel oneAPI and PGI to " +"NVIDIA" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:39 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:28 +msgid "" +"[#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) " +"(WIP): We are searching for a representative Fortran code snippet for the" +" website and are looking forward to suggestions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:41 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): " +"Add links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:51 +msgid "" +"[#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method " +"`log_debug` to `stdlib_logger`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:52 +msgid "" +"[#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake " +"check for F18 error stop" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:53 +msgid "" +"[#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI" +" Fortran compiler to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:54 +msgid "" +"[#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level " +"option to ignore logging messages" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:55 +msgid "" +"[#263](https://github.com/fortran-lang/stdlib/pull/263), " +"[#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to " +"CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:57 +msgid "" +"[#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 " +"to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:58 +msgid "" +"[#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 " +"systems to Windows CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:59 +msgid "" +"[#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about" +" memory issues when compiling stdlib with the support of arrays to up 15 " +"ranks" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:60 +msgid "" +"[#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the " +"compilation load by splitting submodules" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:65 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:59 +msgid "" +"[#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:66 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:61 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), " +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:71 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required " +"changes to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:72 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:68 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:61 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:57 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:83 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:76 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:73 +msgid "" +"Otherwise, ongoing discussions continue about usability of `stdlib` " +"([#7](https://github.com/fortran-lang/stdlib/issues/7), " +"[#215](https://github.com/fortran-lang/stdlib/issues/215), " +"[#279](https://github.com/fortran-lang/stdlib/issues/279), " +"[#280](https://github.com/fortran-lang/stdlib/issues/280), " +"[#285](https://github.com/fortran-lang/stdlib/issues/285)), and new " +"implementations for `stdlib` ([#135](https://github.com/fortran-" +"lang/stdlib/issues/135), [#212](https://github.com/fortran-" +"lang/stdlib/issues/212), [#234](https://github.com/fortran-" +"lang/stdlib/issues/234), [#241](https://github.com/fortran-" +"lang/stdlib/issues/241), [#258](https://github.com/fortran-" +"lang/stdlib/issues/258), [#259](https://github.com/fortran-" +"lang/stdlib/issues/259), [#262](https://github.com/fortran-" +"lang/stdlib/issues/262), [#268](https://github.com/fortran-" +"lang/stdlib/issues/268), [#277](https://github.com/fortran-" +"lang/stdlib/issues/277))." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:103 +msgid "" +"[Alpha release version 0.1.3](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.1.3)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:104 +msgid "" +"[setup-fpm action](https://github.com/marketplace/actions/setup-fpm): " +"GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and " +"Windows runners" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:106 +msgid "" +"[Discussion board](https://github.com/fortran-lang/fpm/discussions): For " +"questions & answers, sharing of ideas, showing off projects and, of " +"course, discussions around fpm" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:108 +msgid "" +"[#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend " +"for incremental rebuilds" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:110 +msgid "" +"[#266](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management and `fpm update` subcommand" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:112 +msgid "" +"[#255](https://github.com/fortran-lang/fpm/pull/255) Setting the compiler" +" and specifying test or app target" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:114 +msgid "" +"[#262](https://github.com/fortran-lang/fpm/pull/262): Add " +"-fcoarray=single to default gfortran flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:116 +msgid "" +"[#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm " +"install`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:118 +msgid "" +"[#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test " +"release build" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:120 +msgid "" +"[#267](https://github.com/fortran-lang/fpm/pull/267): Fix enumeration of " +"non-library link objects" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:122 +msgid "" +"[#268](https://github.com/fortran-lang/fpm/pull/268): Fix dependency " +"tracking issue in bootstrap version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:124 +msgid "" +"[#271](https://github.com/fortran-lang/fpm/pull/271): Fix Windows run and" +" test commands" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:126 +msgid "" +"[#273](https://github.com/fortran-lang/fpm/pull/273): Update developer " +"documentation (manifest + command line)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:128 +msgid "" +"[#274](https://github.com/fortran-lang/fpm/pull/274): Update README with " +"link to setup-fpm github action." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:130 +msgid "" +"[#280](https://github.com/fortran-lang/fpm/pull/280): Create " +"specification for example section" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:132 +msgid "" +"[#281](https://github.com/fortran-lang/fpm/pull/281): Cleanup: Remove " +"archived Rust prototype" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:134 +msgid "" +"[#284](https://github.com/fortran-lang/fpm/pull/284): Document model and " +"backend for developers" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:136 +msgid "" +"[#285](https://github.com/fortran-lang/fpm/pull/285): CI: update naming " +"of release binaries" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:138 +msgid "" +"[#286](https://github.com/fortran-lang/fpm/pull/286): Implement check for" +" duplicated program names" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:140 +msgid "" +"[#289](https://github.com/fortran-lang/fpm/pull/289): Add support for " +"same compilers as Fortran version to Haskell version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:142 +msgid "" +"[#291](https://github.com/fortran-lang/fpm/pull/291): Initial " +"implementation of `fpm build --show-model`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:144 +msgid "" +"[#292](https://github.com/fortran-lang/fpm/pull/292): Specify the correct" +" help for `fpm run -h`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:146 +msgid "" +"[#293](https://github.com/fortran-lang/fpm/pull/293): Fix: missing error " +"check after `new_package` call" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:148 +msgid "" +"[#294](https://github.com/fortran-lang/fpm/pull/294): Add: support for " +"detecting .f and .F files" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:150 +msgid "" +"[#300](https://github.com/fortran-lang/fpm/pull/300): Remove " +"-coarray=single option from ifort compiler default options" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:152 +msgid "" +"[#303](https://github.com/fortran-lang/fpm/pull/303): Fixes to source " +"parsing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:154 +msgid "" +"[#304](https://github.com/fortran-lang/fpm/pull/304): Remove note on not " +"supported dependencies in program targets" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:156 +msgid "" +"[#307](https://github.com/fortran-lang/fpm/pull/307): Fix: program object" +" file collision" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:158 +msgid "" +"[#315](https://github.com/fortran-lang/fpm/pull/315): Remove: -ffast-math" +" in gfortran default release flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:160 +msgid "" +"[#322](https://github.com/fortran-lang/fpm/pull/322): Group sources by " +"package in the model" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:167 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:113 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Specification" +" of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:170 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:116 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): Update " +"subcommand \"new\" to reflect the addition of support for examples" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:177 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:125 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:118 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:159 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:140 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:122 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:156 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:171 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:142 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:207 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:136 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:151 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:164 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:142 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:123 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:135 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:153 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:137 +msgid "" +"Browse existing *fpm* packages on the [fortran-lang website](https" +"://fortran-lang.org/packages/fpm)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:190 +msgid "There are several pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:192 +msgid "Only one pull request was merged in December:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:194 +msgid "" +"[PR#951 Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:198 +msgid "" +"Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly " +"calls. An invitation was sent to the _flang-dev_ LLVM email list on " +"December 22nd. Call notes will be sent to the _flang-dev_ email list and " +"also recorded [here]( https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:202 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:158 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:198 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:164 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:182 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:221 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:150 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:165 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:177 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:155 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:136 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:148 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:166 +msgid "Recent development updates:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:204 +msgid "Semantic analysis fix for index-names of `FORALL` statements" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:205 +msgid "Continued work on parser support for `ALLOCATE`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:206 +msgid "Build tidying" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:207 +msgid "OpenMP semantic checks: atomic, flush" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:208 +msgid "Continued work on new driver" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:209 +msgid "Fix for list-directed REAL output editing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:210 +msgid "" +"Bug fixes: USE of USE of generic, crash in folding (#48437), crash in " +"OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:211 +msgid "Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:212 +msgid "" +"OpenACC: update serial construct clauses for 3.1, enforce restriction on " +"routine directive and clauses" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:213 +msgid "OpenMP: adding important clauses to OmpClause, task reduction clause" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:217 +msgid "" +"We had our 7th Fortran Monthly call on December 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:225 +msgid "" +"[Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the " +"Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and " +"the recent fortran-lang developments." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:228 +msgid "" +"[First year of Fortran-lang](https://medium.com/modern-fortran/first-" +"year-of-fortran-lang-d8796bfa0067) by Milan Curcic." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:238 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:198 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:197 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:299 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:236 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:195 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:211 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:233 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:305 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:319 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:261 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:256 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:313 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:276 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:292 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:267 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:389 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:495 +msgid "[fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:9 +msgid "" +"Welcome to the February 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:19 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): Add " +"links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:24 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): " +"Fix author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:38 +msgid "" +"[#303](https://github.com/fortran-lang/stdlib/pull/303), " +"[#301](https://github.com/fortran-lang/stdlib/pull/301), " +"[#294](https://github.com/fortran-lang/stdlib/pull/294): Fixes and " +"improvements for the manual Makefile build" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:42 +msgid "" +"[#293](https://github.com/fortran-lang/stdlib/pull/293): Write a more " +"verbose introduction to building stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:44 +msgid "" +"[#291](https://github.com/fortran-lang/stdlib/pull/291): Export package " +"files (CMake and pkg-config)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:46 +msgid "" +"[#290](https://github.com/fortran-lang/stdlib/pull/290): Rename CMake " +"project from stdlib to fortran\\_stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:48 +msgid "" +"[#288](https://github.com/fortran-lang/stdlib/pull/288): Follow GNU " +"install conventions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:50 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284): Required changes" +" to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:52 +msgid "" +"[CMake example](https://github.com/fortran-lang/stdlib-cmake-example): " +"Integration of the Fortran standard library in CMake projects" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:57 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): Add " +"supported compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:100 +msgid "" +"[#342](https://github.com/fortran-lang/fpm/pull/342): Fix broken link in " +"contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:102 +msgid "" +"[#337](https://github.com/fortran-lang/fpm/pull/337): Allow hyphens in " +"fpm project names in \"fpm new\"" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:104 +msgid "" +"[#335](https://github.com/fortran-lang/fpm/pull/335): Fix: performance " +"regression" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:106 +msgid "" +"[#334](https://github.com/fortran-lang/fpm/pull/334): Remove a name clash" +" in the fpm testsuite" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:118 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): Update: " +"fpm\\_backend with dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:138 +msgid "There are a number of pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:140 +msgid "A total of 12 pull requests were merged in January." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:142 +msgid "" +"[PR#932 Do not assume unempty derived types](https://github.com/flang-" +"compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:143 +msgid "" +"[PR#957 Support Prefetch Directive](https://github.com/flang-" +"compiler/flang/pull/957)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:144 +msgid "" +"[PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-" +"compiler/flang/pull/947)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:145 +msgid "" +"[PR#948 Expand CI to run with GCC-9/10 and " +"LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:146 +msgid "" +"[PR#949 USE rename should check if renamed sptr is available in the " +"scope](https://github.com/flang-compiler/flang/pull/949)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:147 +msgid "" +"[PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on " +"codegen](https://github.com/flang-compiler/flang/pull/971)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:148 +msgid "" +"[PR#940 Flang should generate debug location for limited instructions in " +"prolog](https://github.com/flang-compiler/flang/pull/940)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:149 +msgid "" +"[PR#977 Update apt data before installing sphinx](https://github.com" +"/flang-compiler/flang/pull/977)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:150 +msgid "" +"[PR#751 Fix for len intrinsic returning int*8 in some " +"cases](https://github.com/flang-compiler/flang/pull/751)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:151 +msgid "" +"[PR#956 Minor FileCheck pattern fixes](https://github.com/flang-" +"compiler/flang/pull/956)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:152 +msgid "" +"[PR#978 Fix the readme to point to the correct flang-dev " +"list](https://github.com/flang-compiler/flang/pull/978)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:153 +msgid "" +"[PR#979 Rename direct header to avoid windows " +"conflict](https://github.com/flang-compiler/flang/pull/979)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:160 +msgid "" +"OpenMP semantic checks: private, firstprivate, lastprivate, Workshare " +"Construct, `DO` loop restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:161 +msgid "Detect call to abstract interface" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:162 +msgid "" +"OpenMP - add task_reduction clause, make reduction clause part of " +"OmpClause" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:163 +msgid "" +"New Driver - adding support for various options, testing improvements, " +"standard macro pre-definitions, fixed-form detection, CMake improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:164 +msgid "OpenACC - semantic checks to enforce declare directive restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:165 +msgid "Internal subprogram improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:166 +msgid "" +"OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by " +"LabelEnforce" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:167 +msgid "Disallow `INTENT` attribute on procedure dummy arguments" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:168 +msgid "Module file improvements and bug fixes" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:169 +msgid "Add tests for procedure arguments with implicit interfaces" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:171 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:233 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:202 +msgid "" +"Call notes will be sent to the _flang-dev_ email list and also recorded " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:176 +msgid "" +"We had our 8th Fortran Monthly call on January 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:181 +msgid "" +"This year fortran-lang will be applying as a mentor organisation for " +"[Google Summer of Code](https://summerofcode.withgoogle.com/). We have " +"started working on the application and the project ideas; you can join " +"the ongoing discussion [here](https://fortran-lang.discourse.group/t" +"/google-summer-of-code-2021/658). If you'd like to help us flesh out the " +"ideas, or have a project idea of your own, please join our upcoming video" +" calls on February 9 and 16 (call info will be posted in the Discourse " +"thread), or write directly in the Discourse thread. If you're a student, " +"or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:195 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:194 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:296 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:233 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:192 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:208 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:230 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:302 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:316 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:258 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:253 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:309 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:272 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:288 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:263 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:385 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:491 +msgid "" +"[fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang" +"/stdlib-cmake-example)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:201 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:200 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:304 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:241 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:200 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:216 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:238 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:311 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:325 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:267 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:262 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:320 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:283 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:300 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:275 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:397 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:504 +msgid "[j3-fortran/fortran\\_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:9 +msgid "" +"Welcome to the March 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:17 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:17 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:17 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:17 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:17 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:17 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:17 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:17 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:18 +msgid "This month we've had several updates to the website:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:19 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): Fix " +"author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:21 +msgid "" +"[#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): Rename" +" all instances of fortran-lang.github.io to fortran-lang.org" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:23 +msgid "" +"[#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): Update" +" package index" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:25 +msgid "" +"[#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): Fix " +"broken link for LLVM flang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:27 +msgid "" +"[#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): Add " +"more electronic structure and atomistic simulation packages" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:29 +msgid "" +"[#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): Add " +"books to learning section" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:31 +msgid "" +"[#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): Fix " +"package information" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:36 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:37 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:28 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:34 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:30 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:31 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:26 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:38 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) " +"(WIP): Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:48 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271): Probability " +"Distribution and Statistical Functions--PRNG Module" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:50 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304): Add supported " +"compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:52 +msgid "" +"[#310](https://github.com/fortran-lang/stdlib/pull/310): Extend " +"`stdlib_ascii` module for handling character variables" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:54 +msgid "" +"[#324](https://github.com/fortran-lang/stdlib/pull/324): Install " +"setuptools for MinGW builds" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:61 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:63 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:59 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:77 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:67 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:69 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:65 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:75 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:69 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): Implement " +"non-fancy functional string type" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:71 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:71 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:67 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:73 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): Legendre " +"polynomials and Gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:74 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:95 +msgid "Please help improve stdlib by testing and reviewing these pull requests!" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:85 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316): Update subcommand " +"\"new\" to reflect the addition of support for the example/ directory" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:87 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345): Fpm backend with " +"dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:89 +msgid "" +"[#346](https://github.com/fortran-lang/fpm/pull/346): Include root dir in" +" path to default example setup" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:91 +msgid "" +"[#349](https://github.com/fortran-lang/fpm/pull/349): Suggest to move the" +" fpm version in the boostrapping process" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:93 +msgid "" +"[#372](https://github.com/fortran-lang/fpm/pull/372): Unify release mode " +"calling convention" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:100 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Document the " +"specification of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:103 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): Hacky fix for" +" the help test" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:105 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): Install " +"script for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:107 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:148 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:123 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:115 +msgid "" +"[#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): Plugin alpha " +"version" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:109 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): Separate " +"build targets from model structure" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:111 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:131 +msgid "" +"The LFortran team is excited to announce that LFortran is now a [NumFOCUS" +" sponsored project](https://numfocus.org/project/lfortran). Please " +"consider donating to LFortran to accelerate its development." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:133 +msgid "" +"4 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Rohit Goswami](https://rgoswami.me/), " +"[Ondřej Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:138 +msgid "Recent Merge Requests highlights:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:139 +msgid "" +"Complex type support (thanks to [Gagandeep " +"Singh](https://github.com/czgdp1807)): " +"[!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), " +"[!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), " +"[!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), " +"[!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), " +"[!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), " +"[!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). " +"[!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:147 +msgid "" +"Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): " +"[!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), " +"[!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), " +"[!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), " +"[!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:152 +msgid "" +"Initial support for runtime math functions: " +"[!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), " +"[!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673)," +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:155 +msgid "" +"[!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): " +"Implement --show-stacktrace" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:156 +msgid "" +"[!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): " +"Refactor ImplicitCast nodes handling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:158 +msgid "" +"[!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed " +"floating point printing" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:165 +msgid "" +"We had our 9th Fortran Monthly call on February 25. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:170 +msgid "" +"This year Fortran-lang applied as a mentor organization for [Google " +"Summer of Code](https://summerofcode.withgoogle.com/). Accepted mentor " +"organizations will be announced on March 9. If you're a student, or know " +"students who are [eligible to participate](https://developers.google.com" +"/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:174 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee is held virtually" +" from February 22 to March 2 (Monday and Tuesday only). Main topics of " +"dicussion are the planned changes for the Fortran 202X revision of the " +"Standard:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:179 +msgid "[List](https://j3-fortran.org/doc/meeting/223) of all submitted papers" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:180 +msgid "" +"[Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"which papers were discussed each day and voting results" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:182 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:279 +msgid "" +"If you have ideas for new improvements to the language, please propose " +"them [here](https://github.com/j3-fortran/fortran_proposals)." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:9 +msgid "" +"We are excited to announce that Fortran-lang has been accepted as a " +"[Google Summer of Code (GSoC) 2021 mentoring " +"organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)!" +" 🎉" +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:11 +msgid "" +"You can review our project ideas [here](https://github.com/fortran-lang" +"/fortran-lang.org/wiki/GSoC-2021-Project-ideas), and if you have any " +"ideas that are not mentioned, please let us know." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:15 +msgid "" +"We are looking for students to get in touch with us and to apply. Click " +"[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021" +"-Student-instructions) for instructions on how to do so." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:19 +msgid "" +"Our main communication channel will be the [Fortran Discourse](https" +"://fortran-lang.discourse.group/). There, we will announce a date for " +"GSoC video calls where all prospective students are welcome to join to " +"ask questions, discuss, and brainstorm ideas." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:23 +msgid "We look forward to a productive and fun Google Summer of Code!" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:9 +msgid "" +"Welcome to the April 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:19 +msgid "" +"[#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): " +"Correct value of pi in quickstart mini-book" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:21 +msgid "" +"[#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): Added " +"DelaunaySparse to package list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:23 +msgid "" +"[#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) " +"[#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): GSoC " +"announcement" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:26 +msgid "" +"[#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): Avoid " +"unclear formulation in contributing guide" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:28 +msgid "" +"[#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): Add " +"information about free compiler versions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:30 +msgid "" +"[#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): " +"Improve tags" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:32 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): " +"Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:39 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:49 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320): Implement non-" +"fancy functional string type" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:51 +msgid "" +"[#362](https://github.com/fortran-lang/stdlib/pull/362): Fix wording in " +"style guide for dimension attribute" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:53 +msgid "" +"[#352](https://github.com/fortran-lang/stdlib/pull/352): Added TOC to " +"README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:55 +msgid "" +"[#346](https://github.com/fortran-lang/stdlib/pull/346) " +"[#356](https://github.com/fortran-lang/stdlib/pull/356): Added " +"to\\_lower, to\\_upper, reverse and to\\_title function to " +"stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:73 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:69 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:71 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:89 +msgid "" +"[#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): Provide " +"abstract base class for a string object" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:75 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): Add " +"functions to convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:77 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): Implement " +"strip and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:79 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:71 +msgid "" +"[#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): Simplify " +"test makefile" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:81 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:73 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:87 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:113 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:85 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:134 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:81 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:88 +msgid "" +"[#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): Initial " +"checkin for a module for tolerant comparison of reals" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:83 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:75 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): Implement " +"clip function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:85 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:77 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): Add " +"general contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:87 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): Summarize " +"build toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:89 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:79 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:67 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Add sort " +"to stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:91 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:106 +msgid "" +"[Alpha release version 0.2.0](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.2.0)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:107 +msgid "" +"[Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-" +"feedstock)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:108 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352): Hacky fix for the " +"help test" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:110 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357): Install script for " +"Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:112 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369): Separate build " +"targets from model structure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:114 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:116 +msgid "" +"[#377](https://github.com/fortran-lang/fpm/pull/377): Add explicit " +"include-dir key to manifest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:118 +msgid "" +"[#378](https://github.com/fortran-lang/fpm/pull/378): Add ford-compatible" +" documentation to fpm\\_strings.f90" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:120 +msgid "" +"[#386](https://github.com/fortran-lang/fpm/pull/386): Replace deprecated " +"flags in debug\\_fortran option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:122 +msgid "" +"[#390](https://github.com/fortran-lang/fpm/pull/390) " +"[#407](https://github.com/fortran-lang/fpm/pull/407): Implement --flag " +"option for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:125 +msgid "" +"[#397](https://github.com/fortran-lang/fpm/pull/397): Add Conda install " +"instructions to the README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:127 +msgid "" +"[#398](https://github.com/fortran-lang/fpm/pull/398): Minor fix: for " +"setting executable link libraries" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:129 +msgid "" +"[#402](https://github.com/fortran-lang/fpm/pull/402): Add fpm description" +" and reorganize the README intro" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:131 +msgid "" +"[#404](https://github.com/fortran-lang/fpm/pull/404): Correct join for " +"null input" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:133 +msgid "" +"[#409](https://github.com/fortran-lang/fpm/pull/409): Give Programs " +"Access to Code in Subdirectories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:135 +msgid "" +"[#414](https://github.com/fortran-lang/fpm/pull/414): Add few important " +"links to README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:137 +msgid "" +"[#412](https://github.com/fortran-lang/fpm/pull/412): Duplicate module " +"definitions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:139 +msgid "" +"[#413](https://github.com/fortran-lang/fpm/pull/413): Add: omp\\_lib to " +"intrinsic modules list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:141 +msgid "" +"[#419](https://github.com/fortran-lang/fpm/pull/419): Split workflow for " +"Haskell and Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:150 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): Phase out " +"Haskell fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:152 +msgid "" +"[fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): " +"Separate repository for the Haskell fpm version" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:172 +msgid "A total of 10 pull requests were merged in February." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:174 +msgid "" +"[PR#996 tests: one test case supporting PR #966](https://github.com" +"/flang-compiler/flang/pull/996)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:175 +msgid "" +"[PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue" +" #673)](https://github.com/flang-compiler/flang/pull/968)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:176 +msgid "" +"[PR#955 Do not issue an error when character kind 2 is " +"used](https://github.com/flang-compiler/flang/pull/955)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:177 +msgid "" +"[PR#975 Add the option to build release_11x branch of llvm with Github " +"Actions](https://github.com/flang-compiler/flang/pull/975)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:178 +msgid "" +"[PR#974 Fix hash collision handling routine that didn't work due to a " +"fatal mistake (issue #960).](https://github.com/flang-" +"compiler/flang/pull/974)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:179 +msgid "" +"[PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-" +"compiler/flang/pull/1000)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:180 +msgid "" +"[PR#952 Array debugging support with upgraded " +"DISubrange](https://github.com/flang-compiler/flang/pull/952)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:181 +msgid "" +"[PR#1002 Fix for regression introduced by PR #922 (issue " +"#995)](https://github.com/flang-compiler/flang/pull/1002)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:182 +msgid "[PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:183 +msgid "" +"[PR#966 Fixes to address cp2k compilation and runtime " +"issues](https://github.com/flang-compiler/flang/pull/966)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:185 +msgid "A total of 8 pull requests were merged in March." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:187 +msgid "" +"[PR#963 Fix errors on array initialisation with an implied do " +"loop](https://github.com/flang-compiler/flang/pull/963)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:188 +msgid "" +"[PR#1007 fix for issue #1006: stop passing unused uninitialized " +"value](https://github.com/flang-compiler/flang/pull/1007)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:189 +msgid "" +"[PR#1004 Nested implied do loop fix for real numbers](https://github.com" +"/flang-compiler/flang/pull/1004)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:190 +msgid "" +"[PR#710 Test case for capturing procedure pointers to OpenMP parallel " +"regions](https://github.com/flang-compiler/flang/pull/710)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:191 +msgid "" +"[PR#561 flang2: corrected fix for #424](https://github.com/flang-" +"compiler/flang/pull/561)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:192 +msgid "" +"[PR#778 Fixing NCAR test problems with error tolerance lower than " +"E-12.](https://github.com/flang-compiler/flang/pull/778)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:193 +msgid "" +"[PR#1010 LLVM 12 upgrade](https://github.com/flang-" +"compiler/flang/pull/1010)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:194 +msgid "" +"[PR#1012 Remove release_90 from Github Actions](https://github.com/flang-" +"compiler/flang/pull/1012)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:200 +msgid "New Driver:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:201 +msgid "Add options for -fdefault\\* and -flarge-sizes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:202 +msgid "Refine tests for module search directories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:203 +msgid "Add -fdebug-dump-parsing-log" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:204 +msgid "Add -fdebug-module-writer option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:205 +msgid "Add debug dump, measure-parse-tree and pre-fir-tree options" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:206 +msgid "Add -Xflang and make -test-io a frontend-only flang" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:207 +msgid "Add -J and -module-dir to f18 driver" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:208 +msgid "Fix -fdefault\\* family bug" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:209 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:189 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:227 +msgid "FIR (Fortran IR - a dialect of MLIR):" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:210 +msgid "Add diagnostic tests for FIR ops verifier" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:211 +msgid "Add FIR Types parser diagnostic tests" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:212 +msgid "" +"Upstream the pre-FIR tree changes (The PFT has been updated to support " +"Fortran 77)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:213 +msgid "Update flang test tool support classes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:214 +msgid "Add zero_bits, array value, and other operations" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:215 +msgid "" +"Upstream utility function valueHasFirAttribute() to be used in subsequent" +" merges" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:216 +msgid "OpenMP - add semantic checks for:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:217 +msgid "OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:218 +msgid "Occurrence of multiple list items in aligned clause for simd directive" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:219 +msgid "Flang OpenMP 4.5 - 2.15.3.6 Reduction clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:220 +msgid "2.15.4.2 - Copyprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:221 +msgid "2.15.3.4 - Firstprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:222 +msgid "2.15.3.5 - Lastprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:223 +msgid "Update character tests to use gtest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:224 +msgid "Adaptations to MLIR API changes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:225 +msgid "Fix call to CHECK() on overriding an erroneous type-bound procedure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:226 +msgid "Handle type-bound procedures with alternate returns" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:227 +msgid "Runtime: implement INDEX intrinsic function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:228 +msgid "Fix compilation on MinGW-w64" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:229 +msgid "Extension: forward refs to dummy args under IMPLICIT NONE" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:230 +msgid "Detect circularly defined interfaces of procedures" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:231 +msgid "Implement the related character intrinsic functions SCAN and VERIFY" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:237 +msgid "" +"LFortran is participating in GSoC under the NumFOCUS and Fortran-lang " +"umbrella, if you are interested, please apply: " +"[https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:238 +msgid "" +"7 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Himanshu " +"Pandey](https://github.com/hp77-creator), [Thirumalai " +"Shaktivel](https://github.com/Thirumalai-Shaktivel), [Scot " +"Halverson](https://github.com/scothalverson), [Rohit " +"Goswami](https://rgoswami.me/), [Ondřej " +"Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:246 +#, python-format +msgid "" +"114 Merge Requests were " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged)" +" in the past month, highlights" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:247 +msgid "" +"macOS support (both Intel and ARM), compilation and development of " +"LFortran itself (stacktraces work also)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:249 +msgid "" +"Initial implentation of: modules (modfiles, dependencies, ...), " +"interfaces, integer/real kinds, public/private attribute, derived types, " +"strings, variable initializations, pointers, modules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:252 +msgid "Many other fixes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:254 +msgid "" +"LFortran is still in pre-alpha stage, but we are making rapid progress " +"towards getting it to compile more Fortran features. We are looking for " +"contributors, if you are interested, please get in touch and we will help" +" you get started. We can be contacted at Zulip Chat, mailinglist or " +"GitLab issues (see https://lfortran.org for links to all three)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:262 +msgid "" +"We had our 10th Fortran Monthly call on March 24. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:267 +msgid "" +"This year Fortran-lang is a mentor organization for [Google Summer of " +"Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/)." +" If you're a student, or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know. The student application window opened on March 29 and will " +"close on April 13 at 14:00 Eastern Time." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:271 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee concluded on " +"March 2. Main topics of dicussion were the planned changes for the " +"Fortran 202X revision of the Standard. Here's the [list of all submitted " +"papers](https://j3-fortran.org/doc/meeting/223), and the " +"[summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"the papers discussed and voting results. The committee also welcomed a " +"new member, Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), who is the voting " +"alternate to Gary Klimowicz " +"([@gklimowicz](https://github.com/gklimowicz))." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:282 +msgid "" +"Registration is open for the upcoming free webinar on [Fortran for High " +"Performance " +"Computing](https://register.gotowebinar.com/register/7343048137688004108)." +" The webinar is organized by [Excellerat](https://www.excellerat.eu/) and" +" will be presented by Wadud Miah " +"([@wadudmiah](https://github.com/wadudmiah)) from the University of " +"Southampton." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:300 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:237 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:196 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:212 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:234 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:306 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:320 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:262 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:257 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:314 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:277 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:293 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:268 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:390 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:496 +msgid "[fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:303 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:240 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:199 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:215 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:237 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:309 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:323 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:265 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:260 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:317 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:280 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:296 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:271 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:393 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:499 +msgid "" +"[fortran-lang/fortran-forum-article-template](https://github.com/fortran-" +"lang/fortran-forum-article-template)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:9 +msgid "" +"In April 2020 we created a website for the Fortran language at [fortran-" +"lang.org](https://fortran-lang.org/). In exactly one year, it grew to be " +"the first result when you search \"Fortran\" in Bing, Yahoo, DuckDuckGo, " +"Ecosia, Qwant, SearchEncrypt and the second result in Google (after the " +"Wikipedia page for Fortran)." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:15 +msgid "" +"The goal of the website is to maintain a neutral place where any Fortran " +"user (expert or novice), compiler vendor (open source or commercial), " +"Fortran Standards Committee member, enthusiast, supporter or anybody else" +" interested is welcome to participate. Fortran was invented in 1956, and " +"we aim to be the stewards of the language and we welcome you to join us." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:21 +msgid "Here are some of the ways that you can participate:" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:23 +msgid "" +"[Fortran Discourse](https://fortran-lang.discourse.group/) discussion " +"forum" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:24 +msgid "" +"Contribute to [fpm](https://github.com/fortran-lang/fpm/), " +"[stdlib](https://github.com/fortran-lang/stdlib/), the [Fortran " +"website](https://github.com/fortran-lang/fortran-lang.org) or any other " +"project" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:28 +msgid "Join our monthly Fortran call (see announcements at Discourse)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:29 +msgid "Contribute to the Fortran monthly newsletter" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:30 +msgid "" +"Follow our Fortran Twitter account " +"[@fortranlang](https://twitter.com/fortranlang)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:33 +msgid "" +"Thank you everybody for your support so far. We are looking forward for " +"the second year!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:9 +msgid "" +"Welcome to the May 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:19 +msgid "" +"[#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): Add a " +"first year announcement" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:21 +msgid "" +"[#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): Add " +"dl\\_poly\\_4 to package index" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:23 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:30 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:32 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org “Fortran Best Practise” into a mini-book" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:40 +msgid "" +"[#391](https://github.com/fortran-lang/stdlib/pull/391): Add issue " +"templates" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:42 +msgid "" +"[#388](https://github.com/fortran-lang/stdlib/pull/388): Changed " +"filenames for bitset tests" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:44 +msgid "" +"[#384](https://github.com/fortran-lang/stdlib/pull/384): Implement " +"starts\\_with and ends\\_with functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:46 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:48 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360): Summarize build " +"toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:50 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343): Implement strip " +"and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:52 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336): Add functions to" +" convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:81 +msgid "" +"[#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): Correct " +"implementation of to\\_title" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:83 +msgid "" +"[#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): Start the " +"addition of the module stdlib\\_sorting" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:87 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:87 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:109 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:130 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:101 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:151 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:95 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:101 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:128 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:81 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:75 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:89 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:107 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:97 +#, python-format +msgid "" +"Please help improve stdlib by testing and [reviewing pull " +"requests](https://github.com/fortran-" +"lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:98 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420): Phase out Haskell " +"fpm" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:100 +msgid "[#468](https://github.com/fortran-lang/fpm/pull/468): Identify OpenBSD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:102 +msgid "[#465](https://github.com/fortran-lang/fpm/pull/465): Fix typo in README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:104 +msgid "" +"[#442](https://github.com/fortran-lang/fpm/pull/442): Use lib instead of " +"ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:106 +msgid "" +"[#440](https://github.com/fortran-lang/fpm/pull/440): Minor edits to " +"README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:108 +msgid "" +"[#438](https://github.com/fortran-lang/fpm/pull/438): Add external-" +"modules key to build table for non-fpm modules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:110 +msgid "" +"[#437](https://github.com/fortran-lang/fpm/pull/437): Remove coarray " +"single from default Intel flags" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:112 +msgid "" +"[#433](https://github.com/fortran-lang/fpm/pull/433): Fix to allow " +"compiling C with Intel CC" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:114 +msgid "" +"[#431](https://github.com/fortran-lang/fpm/pull/431): Use different " +"compiler flags on differnt platforms for Intel" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:116 +msgid "" +"[#429](https://github.com/fortran-lang/fpm/pull/429): Use wget if curl is" +" missing in install.sh" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:125 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): Use default " +"instead of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:127 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:113 +msgid "" +"[#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): Allow to find" +" include files / modules in CPATH environment variable" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:129 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:111 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): Response " +"files with ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:131 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): Remove " +"coarray flag from intel debug settings" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:133 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:109 +msgid "" +"[#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): Refactor: use" +" objects to represent compilers and archiver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:153 +msgid "A total of 5 pull requests were merged in April." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:155 +msgid "" +"[PR#1021 Switch to new LLVM License](https://github.com/flang-" +"compiler/flang/pull/1021)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:156 +msgid "" +"[PR#1025 runtime: register atfork handler to re-initialize internal " +"flangrti locks at fork](https://github.com/flang-" +"compiler/flang/pull/1025)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:157 +msgid "" +"[PR#1026 Test case update for #895](https://github.com/flang-" +"compiler/flang/pull/1026)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:158 +msgid "" +"[PR#1030 Update README.md](https://github.com/flang-" +"compiler/flang/pull/1030)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:159 +msgid "" +"[PR#1034 Github Action use the prebuilt clang to build " +"flang](https://github.com/flang-compiler/flang/pull/1034)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:166 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:192 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:230 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:158 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:163 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:190 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:197 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:201 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:162 +msgid "OpenMP" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:167 +msgid "[OPENMP5.1]Initial support for novariants clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:168 +msgid "[OPENMP5.1]Initial support for nocontext clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:169 +msgid "" +"Add functionality to check \"close nesting\" of regions, which can be " +"used for Semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:170 +msgid "[OpenMP5.1] Initial support for masked directive and filter clause" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:171 +msgid "" +"Modify semantic check for nesting of `ordered` regions to include `close`" +" nesting check." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:172 +msgid "Remove `OmpEndLoopDirective` handles from code." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:173 +msgid "Add General Semantic Checks for Allocate Directive" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:174 +msgid "New Driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:175 +msgid "Add options for -Werror" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:176 +#, python-format +msgid "" +"Modify the existing test cases that use -Mstandard in f18, to use " +"-pedantic and %flang_fc1 to share with the new driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:177 +msgid "Add support for `-cpp/-nocpp`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:178 +msgid "Fix `-fdebug-dump-provenance`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:179 +msgid "Add debug options not requiring semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:180 +#, python-format +msgid "Remove `%flang-new` from the LIT configuration" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:181 +msgid "Update the regression tests to use the new driver when enabled" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:182 +msgid "Add support for `-fget-definition`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:183 +msgid "Move .f77 to the list of fixed-form file extensions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:234 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:152 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:190 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:227 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:195 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:219 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:174 +msgid "Runtime" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:185 +msgid "Implement reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:186 +msgid "Implement numeric intrinsic functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:187 +msgid "TRANSFER() intrinsic function" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:188 +msgid "RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:189 +msgid "Implement IPARITY, PARITY, and FINDLOC reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:190 +msgid "Fix unit test failure on POWER" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:191 +msgid "Improve constant folding for type parameter inquiries" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:192 +msgid "Check for conflicting BIND(C) names" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:193 +msgid "Enforce a limit on recursive PDT instantiations" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:194 +msgid "Accept & fold IEEE_SELECTED_REAL_KIND" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:195 +msgid "Define missing & needed IEEE_ARITHMETIC symbols" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:196 +msgid "Handle instantiation of procedure pointer components" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:197 +msgid "Fix checking of argument passing for parameterized derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:198 +msgid "Fix spurious errors from runtime derived type table construction" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:199 +msgid "Check for attributes specific to dummy arguments" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:200 +msgid "Handle structure constructors with forward references to PDTs" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:206 +msgid "98 Merge Requests merged in April" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:207 +msgid "" +"Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy " +"app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)):" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:208 +msgid "" +"Code can be parsed to AST and transformed back to source code which " +"compiles with other compilers and works" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:209 +msgid "" +"About 3rd of the files can be transformed from AST to ASR and the modules" +" saved" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:210 +msgid "Other improvements:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:211 +msgid "Runtime library (more functions work)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:212 +msgid "Nested functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:213 +msgid "Derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:217 +msgid "" +"We had our 11th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:222 +msgid "" +"Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the " +"University of Southampton presented a webinar on Fortran for High " +"Performance Computing, organized by " +"[Excellerat](https://www.excellerat.eu/). You can find the slides and the" +" recording [here](https://services.excellerat.eu/viewevent/39)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:9 +msgid "" +"We're happy to announce six students that will work on Fortran projects " +"under the Google Summer of Code 2021 program:" +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:12 +msgid "" +"[Aman Godara](https://github.com/aman-godara) will work on strings in the" +" [Fortran Standard Library](https://github.com/fortran-lang/stdlib). " +"Aman's mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and " +"[Milan Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:16 +msgid "" +"[Rohit Goswami](https://github.com/haozeke) will work on the " +"[LFortran](https://lfortran.org) compiler, specifically toward the " +"capability to compile a complex physics package. Rohit's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:20 +msgid "" +"[Jakub Jelínek](https://github.com/kubajj) will work on handling compiler" +" arguments in the [Fortran Package Manager](https://github.com/fortran-" +"lang/fpm). Jakub's mentors will be [Laurence " +"Kedward](https://github.com/lkedward) and [Brad " +"Richardson](https://github.com/everythingfunctional)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:25 +msgid "" +"[Chetan Karwa](https://github.com/chetankarwa) will work on the linked " +"list support in the [Fortran Standard Library](https://github.com" +"/fortran-lang/stdlib). Chetan's mentors will be [Arjen " +"Markus](https://github.com/arjenmarkus) and [Milan " +"Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:30 +msgid "" +"[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work" +" on the Abstract Syntax Tree generation in the " +"[LFortran](https://lfortran.org) compiler. Thirumalai's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:34 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) will work on the support " +"of arrays and allocatables in the [LFortran](https://lfortran.org) " +"compiler. Gagandeep's mentor will be [Ondřej " +"Čertík](https://github.com/certik). Gagandeep was accepted under the " +"NumFOCUS application to GSoC." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:39 +msgid "" +"This is the first year that Fortran-lang applied for Google Summer of " +"Code, and we're beyond excited that our project was allocated this many " +"student slots. You can follow students' progress in their weekly reports " +"in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:43 +msgid "Thank you, Google, for your support of Fortran and open source software!" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:9 +msgid "" +"Welcome to the June 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:19 +msgid "" +"[#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): " +"Grammar and typo fixes in main page and quickstart minibook" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:21 +msgid "" +"[#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): Script" +" for summarizing PRs" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:23 +msgid "" +"[#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): " +"MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package " +"index" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:25 +msgid "" +"[#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): Fixed " +"grammar in Easy to learn section" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:30 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:44 +msgid "" +"[#417](https://github.com/fortran-lang/stdlib/pull/417): Add GCC-11 to " +"workflow" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:46 +msgid "" +"[#415](https://github.com/fortran-lang/stdlib/pull/415): Corrected Ubuntu" +" version" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:48 +msgid "" +"[#407](https://github.com/fortran-lang/stdlib/pull/407): Changed " +"to\\_title to to\\_sentence and implemented correct to\\_title" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:50 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359): Add general " +"contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:52 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355): Implement clip " +"function" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:57 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:83 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:59 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:61 +msgid "" +"[#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): Improved " +"support for NAG" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:63 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): " +"Implemented intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:65 +msgid "" +"[#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): Addition " +"of the stdlib\\_sorting module" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:96 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:120 +msgid "Here is what is new in *fpm*:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:98 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450): Remove coarray flag" +" from intel debug settings" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:100 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423): Use default instead" +" of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:107 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): Allow fpm to " +"change the working directory" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:136 +msgid "" +"39 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:137 +msgid "Features that can now be compiled (in the LLVM backend):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:138 +msgid "More nested functions and callbacks (the context is properly propagated)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:139 +msgid "Runtime: size, lbound, ubound" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:140 +msgid "Return statement" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:141 +msgid "More array operations and declarations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:142 +msgid "Array initializer expressions" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:143 +msgid "Features in ASR only (semantics):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:144 +msgid "Runtime intrinsics: min, max, allocated" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:145 +msgid "Features in AST only (syntax):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:146 +msgid "Co-arrays" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:147 +msgid "Methods" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:148 +msgid "Enumerations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:149 +msgid "Attributes in `use`" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:150 +msgid "BOZ constants" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:151 +msgid "Forall" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:152 +msgid "More interfaces" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:153 +msgid "Import" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:154 +msgid "Implicit statements" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:155 +msgid "Select type" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:157 +msgid "The following people contributed code in May 2021:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:159 +msgid "Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:160 +msgid "" +"Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com" +"/Thirumalai-Shaktivel))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:161 +msgid "Ondřej Čertík ([@certik](https://github.com/certik))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:162 +msgid "Dominic Poerio ([@dpoe](https://gitlab.com/dpoe))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:167 +msgid "" +"We had our 12th Fortran Monthly call on May 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:172 +msgid "" +"Google Summer of Code program has announced the allocation of students to" +" each project. Fortran-lang received six studens (one through " +"[NumFOCUS](https://numfocus.org/)) who will work across three " +"subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to " +"students [Aman Godara](https://github.com/aman-godara), [Rohit " +"Goswami](https://github.com/haozeke), [Jakub " +"Jelínek](https://github.com/kubajj), [Chetan " +"Karwa](https://github.com/chetankarwa), [Thirumalai " +"Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and [Gagandeep " +"Singh](https://github.com/czgdp1807). Read the full post [here](https" +"://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:9 +msgid "" +"Welcome to the July 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:19 +msgid "" +"[#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): Add " +"LATTE tight-binding molecular dynamics code to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:21 +msgid "" +"[#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): Add " +"crest program to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:23 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:25 +msgid "" +"[#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): Add " +"the SNaC package to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:27 +msgid "" +"[#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): Add " +"QUICK to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:32 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): " +"Add projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:34 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): " +"Add convert_FORTRAN_case formatter to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:36 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:48 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:28 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:38 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:54 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Draft: Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:48 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313): Legendre " +"polynomials and gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:50 +msgid "[#432](https://github.com/fortran-lang/stdlib/pull/432): Outer product" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:52 +msgid "" +"[#439](https://github.com/fortran-lang/stdlib/pull/439): Reduce time " +"spent on sorting tests" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:54 +msgid "" +"[#440](https://github.com/fortran-lang/stdlib/pull/440): Make maximum " +"rank an option" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:56 +msgid "" +"[#433](https://github.com/fortran-lang/stdlib/pull/433): Implemented low " +"level find function for string matching" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:58 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414): Implemented " +"intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:60 +msgid "" +"[#428](https://github.com/fortran-lang/stdlib/pull/428): Fix issue with " +"stdlib_sorting" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:62 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:64 +msgid "" +"[#430](https://github.com/fortran-lang/stdlib/pull/430): Remove support " +"for GCC 7 and 8" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:66 +msgid "" +"[#424](https://github.com/fortran-lang/stdlib/pull/424): Add separate " +"logical kind parameters" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:71 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): Add `disp`" +" function to display your data" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:73 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` to format other type to string" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:75 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): Implement " +"pad function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:77 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:109 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:81 +msgid "" +"[#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): [FPM] add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:79 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): Implement " +"low-level replace_all function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:81 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): Addition " +"of a subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:85 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:111 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:83 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:132 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:79 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:86 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:117 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:72 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:66 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:80 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:98 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:86 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Sorting " +"string's characters according to their ASCII values" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:91 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): String " +"list new" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:93 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:115 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:87 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:136 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:83 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:90 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:119 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:74 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:68 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:82 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:100 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:88 +msgid "" +"[#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): " +"Probability Distribution and Statistical Functions -- Beta Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:95 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:117 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:89 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:138 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:85 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:92 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:121 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:76 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:70 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:84 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:102 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:90 +msgid "" +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Probability Distribution and Statistical Functions -- Gamma Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:97 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:119 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:91 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:140 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:87 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:94 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:123 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): " +"Probability Distribution and Statistical Functions -- Exponential " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:99 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:121 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:93 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:142 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:89 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:96 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): " +"Probability Distribution and Statistical Functions -- Normal Distribution" +" Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:101 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:123 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:95 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:144 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): " +"Probability Distribution and Statistical Functions -- Uniform " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:103 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:125 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:97 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:146 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:91 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:98 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:125 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:78 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:72 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:86 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:104 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:92 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of COO / CSR sparse format" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:105 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:127 +msgid "" +"[#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): Update " +"CMAKE files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:118 +msgid "" +"__Alpha release update:__ Last month saw the release of __v0.3.0__ for " +"*fpm* which includes a number of [new features and bug " +"fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:122 +msgid "" +"[#504](https://github.com/fortran-lang/fpm/pull/504): install.sh, " +"README.md: Update version number, single source file extension" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:124 +msgid "" +"[#501](https://github.com/fortran-lang/fpm/pull/501): Bump version for " +"new release" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:126 +msgid "" +"[#491](https://github.com/fortran-lang/fpm/pull/491): Catch " +"execute_command_line errors and print useful messages" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:128 +msgid "" +"[#500](https://github.com/fortran-lang/fpm/pull/500): Allow reading " +"version number from file" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:130 +msgid "" +"[#497](https://github.com/fortran-lang/fpm/pull/497): correct for equal " +"sign in flag options to fix #495" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:132 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449): Response files with" +" ar on Windows" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:134 +msgid "" +"[#490](https://github.com/fortran-lang/fpm/pull/490): Minor fix to module" +" parsing" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:136 +msgid "" +"[#489](https://github.com/fortran-lang/fpm/pull/489): Redirect output " +"when searching for archiver" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:138 +msgid "" +"[#484](https://github.com/fortran-lang/fpm/pull/484): Add support for " +"invoking simple plugins" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:140 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483): Allow fpm to change" +" the working directory" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:147 +msgid "" +"[#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): quiet mode " +"for #502" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:149 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:164 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Draft - " +"Compiler flags profiles" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:170 +msgid "" +"49 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:171 +msgid "Highlights" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:172 +msgid "" +"Improvements to array support in the LLVM backend and at the ASR level: " +"array sections, allocatable arrays, and other improvements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:174 +msgid "" +"Many parser fixes (`lfortran fmt` works on more projects): block data, " +"common block, equivalence, custom operator declaration, flush, critical " +"and event statements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:177 +msgid "More runtime functions: minval, maxval, real, sum, abs" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:178 +msgid "Optional human readable mod files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:183 +msgid "" +"We had our 13th Fortran Monthly call on June 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:188 +msgid "" +"Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually " +"from June 21-30 (Mondays and Wednesdays only). You can find all the " +"papers that were discussed " +"[here](https://j3-fortran.org/doc/meeting/224). Highlights from the " +"meeting:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:189 +msgid "" +"Conditional expressions syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:190 +msgid "" +"Protected components specifications and syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-168.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:191 +msgid "" +"The generics feature planned for Fortran 202Y was discussed at depth " +"([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:192 +msgid "" +"Jeff Hammond (NVidia Corporation) is the new J3 member as a voting " +"alternate to Bryce Adelstein-Lelbach." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:193 +msgid "Target year for Fortran 202X is 2023, subject to change." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:195 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:197 +msgid "" +"Work has started for our Google Summer of Code program. You read about " +"our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:9 +msgid "" +"Welcome to the August 2021 edition of the monthly Fortran newsletter. The" +" newsletter comes out at the beginning of every month and details Fortran" +" news from the previous month." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:19 +msgid "" +"[#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): July " +"newsletter" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:21 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): Add " +"`convert_FORTRAN_case` formatter to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:23 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): Add " +"projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:25 +msgid "" +"[#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): PRs " +"script updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:27 +msgid "" +"[#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): " +"Installation process for GFortran on OpenBSD" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:29 +msgid "" +"[#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): Add " +"Flatiron institute multipole libraries to the package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:31 +msgid "" +"[#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): Small " +"fix in packages index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:33 +msgid "" +"[#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): Bump " +"addressable from 2.7.0 to 2.8.0" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:35 +msgid "" +"[#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): add " +"Apogee and Edinburgh compilers" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:37 +msgid "" +"[#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): Add " +"arrayfire-fortran to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:39 +msgid "" +"[#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): " +"compilers: use more objective tone" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:41 +msgid "" +"[#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): my " +"software with at least 5 stars" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:43 +msgid "" +"[#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): Fix " +"insecure workflow." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:58 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:38 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:66 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:44 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:37 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:46 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:37 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:37 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:43 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:61 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:47 +msgid "Here's what's new in stdlib:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:60 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436): implemented low-" +"level `replace_all` function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:62 +msgid "" +"[#454](https://github.com/fortran-lang/stdlib/pull/454): added " +"`stdlib_math` to specs/index.md" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:64 +msgid "" +"[#453](https://github.com/fortran-lang/stdlib/pull/453): implemented " +"count function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:66 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441): implemented pad " +"function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:68 +msgid "" +"[#456](https://github.com/fortran-lang/stdlib/pull/456): slice function's" +" documentation made user friendly" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:70 +msgid "" +"[#459](https://github.com/fortran-lang/stdlib/pull/459): Fix CMake " +"variable usage" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:72 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:74 +msgid "[#468](https://github.com/fortran-lang/stdlib/pull/468): Update CI" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:76 +msgid "" +"[#469](https://github.com/fortran-lang/stdlib/pull/469): CMake: " +"corrections and updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:78 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426): Addition of a " +"subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:80 +msgid "" +"[#474](https://github.com/fortran-lang/stdlib/pull/474): Bug fix: " +"Allocatable argument 'x' is not allocated #472" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:85 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): " +"[`stdlib_linalg`] Update eye function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:87 +msgid "" +"[#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): " +"[`stdlib_math`] Add seq function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:89 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[`stdlib_linalg`] Add zeros, ones, ex function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:91 +msgid "" +"[#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): " +"[`stdlib_linalg`] Add empty function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:93 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to character type with fypp" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:95 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:73 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:126 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:77 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:84 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:115 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:70 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:64 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:78 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:96 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:84 +msgid "" +"[#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): Error stop" +" improvements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:97 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): Revival " +"string list" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:99 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): " +"implemented `move_alloc` for `string_type`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:101 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"`stdlib_hash`: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:103 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:77 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:130 +msgid "" +"[#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): " +"Implementation of a map data type" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:105 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): [feature] " +"`disp`(display your data) & `format_string`(format other type to string, " +"see #444)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:107 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:139 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:110 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:160 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:104 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:110 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:137 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:90 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:84 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:98 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:116 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:106 +msgid "Here's what's new in fpm:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:141 +msgid "" +"[#507](https://github.com/fortran-lang/fpm/pull/507): optimize file " +"listing" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:143 +msgid "" +"[#511](https://github.com/fortran-lang/fpm/pull/511): check name used for" +" package, executable, test, or example" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:145 +msgid "" +"[#516](https://github.com/fortran-lang/fpm/pull/516): initialize " +"allocatable strings before using in a comparison" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:147 +msgid "[#517](https://github.com/fortran-lang/fpm/pull/517): Fix run" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:149 +msgid "" +"[#522](https://github.com/fortran-lang/fpm/pull/522): remove warnings and" +" fix truncated help text" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:151 +msgid "" +"[#523](https://github.com/fortran-lang/fpm/pull/523): Fix compilation " +"error in ifort" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:156 +msgid "" +"[#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): proposal to " +"close #525 by generating build/.gitignore" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:158 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): Add objects " +"for handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:160 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): expand tabs" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:162 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Draft: " +"initial implementation of `implicit_none`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:184 +msgid "Updates for July 2021:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:186 +msgid "" +"90 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" MRs, this month we have crossed 1000 total merged MRs, 12 total " +"contributors" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:187 +msgid "" +"Parser: we asked the community to test it, several people have reported " +"about 15 bugs, we have fixed all of them (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:189 +msgid "Initial fixed form parser (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:190 +msgid "Classes and class procedures (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:191 +msgid "Many common array usage now works, including allocatable (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:192 +msgid "Associate construct (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:193 +msgid "Compile time evaluation of constant expressions (ASR)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:194 +msgid "7 people contributed code:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:195 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:217 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:275 +msgid "Ondřej Čertík" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:196 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:218 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:278 +msgid "Thirumalai Shaktivel" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:197 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:220 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:276 +msgid "Gagandeep Singh" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:198 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:219 +msgid "Rohit Goswami" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:199 +msgid "Dominic Poerio" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:200 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:221 +msgid "Andrew Best" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:201 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:280 +msgid "Sebastian Ehlert" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:203 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)!" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:209 +msgid "" +"We had our 14th Fortran Monthly call on July 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:214 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The first call" +" for abstracts is due August 1, and the second is due September 1. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:219 +msgid "" +"Work is well under way started for our Google Summer of Code program. " +"Read about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:9 +msgid "" +"Welcome to the September 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:19 +msgid "" +"[#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): Add " +"NJOY to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:22 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:127 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:171 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:94 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:188 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:29 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:51 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:117 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:22 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:56 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:133 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:33 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:93 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:142 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:24 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:50 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:112 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:24 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:42 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:101 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:28 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:109 +msgid "Work in progress" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:24 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): " +"Update Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:26 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): " +"Add QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:40 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467): Implemented " +"move_alloc for string_type" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:42 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470): Revival string " +"list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:44 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481): [stdlib_linalg] " +"Update eye function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:46 +msgid "" +"[#493](https://github.com/fortran-lang/stdlib/pull/493): Update copyright" +" and remove old artifact" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:48 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444): Add " +"format_string routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:50 +msgid "" +"[#483](https://github.com/fortran-lang/stdlib/pull/483): Remove GCC " +"Fortran MinGW 8.4.0 from known to work list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:55 +msgid "" +"[#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): Minor " +"updates to README.md" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:57 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:114 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:65 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:74 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:59 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:116 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:76 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:61 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:118 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:63 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:120 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:71 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): Add " +"testing module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:65 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:122 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:73 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:80 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:113 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:68 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:62 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:76 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:94 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:82 +msgid "" +"[#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): Stdlib " +"linked list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:67 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:124 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:82 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:69 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[stdlib_linalg] Add zeros, ones function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:71 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:75 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:128 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"stdlib_hash: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:79 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): " +"[stdlib_io] `disp`(display your data)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:112 +msgid "" +"[Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0):" +" Alpha release update" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:114 +msgid "" +"[#546](https://github.com/fortran-lang/fpm/pull/546): Update version for " +"release 0.4.0" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:116 +msgid "" +"[#548](https://github.com/fortran-lang/fpm/pull/548): Fix build on " +"MacOS/ARM64" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:118 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527): Add objects for " +"handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:120 +msgid "" +"[#536](https://github.com/fortran-lang/fpm/pull/536): Always call `git " +"init` in fpm new when backfilling" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:122 +msgid "" +"[#533](https://github.com/fortran-lang/fpm/pull/533): Allow extra section" +" in package manifest" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:124 +msgid "" +"[#528](https://github.com/fortran-lang/fpm/pull/528): Generate " +"`build/.gitignore`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:129 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:194 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:123 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:139 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:152 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:126 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:109 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:123 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:141 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:125 +msgid "" +"[#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): Add parent " +"packages into dependency tree" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:131 +msgid "" +"[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): Expand tabs " +"in source parsing" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:133 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Initial " +"implementation of implicit_none" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:135 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:196 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:125 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:141 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:154 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:128 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:111 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:125 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:143 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:127 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Compiler " +"flags profiles" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:151 +msgid "FFTPACK" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:153 +msgid "" +"Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík " +"([@certik](https://github.com/certik)) started maintaining the public " +"domain project FFTPACK under the Fortran-lang namespace. The project is " +"readily available for usage in with fpm." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:156 +msgid "Here is what is new in FFTPACK:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:158 +msgid "" +"[#10](https://github.com/fortran-lang/fftpack/pull/10): Add " +"`(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:160 +msgid "" +"[#7](https://github.com/fortran-lang/fftpack/pull/7): Add " +"`dzffti/dzfftf/dzfftb` interfaces" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:162 +msgid "" +"[#4](https://github.com/fortran-lang/fftpack/pull/4): Improve fft " +"interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:164 +msgid "" +"[#6](https://github.com/fortran-lang/fftpack/pull/6): Add " +"`(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:166 +msgid "" +"[#5](https://github.com/fortran-lang/fftpack/pull/5): Add " +"`fftshift/ifftshift`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:168 +msgid "[#3](https://github.com/fortran-lang/fftpack/pull/3): Add CI: fpm.yml" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:173 +msgid "" +"[#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): Add " +"`(i)dct/dcosti/dcost` interfaces." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:176 +msgid "Feedback and ideas for this project are welcome." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:180 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:219 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:148 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:163 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:175 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:153 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:134 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:146 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:164 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:148 +msgid "Flang" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:223 +msgid "New Driver and CMake integration:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:185 +msgid "The new driver has replaced the old, hence f18 has been deleted." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:186 +msgid "" +"flang-new (aka. the new driver) now drives the flang bash script before " +"an external compiler is called." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:187 +msgid "Code-generation work is ongoing." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:188 +msgid "" +"Work is now proceeding to enable CMake to recognize the compiler and set " +"the appropriate options for build configurations." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:190 +msgid "" +"Fortran 95 lowering and runtime support is nearing completion, " +"particularly of intrinsics" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:191 +msgid "Code upstreaming will begin again in earnest once F95 is deemed complete" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:193 +msgid "Nesting of region semantic checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:194 +msgid "enter_data MLIR to LLVM IR lowering" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:195 +msgid "Semantic checks for allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:196 +msgid "Lowering for various modifiers for the schedule clause" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:197 +msgid "Pretty printer and parser for omp.target operation" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:198 +msgid "Semantic checks for linear, nested barrier, allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:199 +msgid "Progress with firstprivate, critical, collapse, ordered, reduction" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:200 +msgid "Lift -Werror checks into local functions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:201 +msgid "Document the flang wrapper script" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:202 +msgid "Fix the extent calculation when upper bounds are less than lower bounds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:203 +msgid "Fix list-directed plural repeated null values at end of record" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:204 +msgid "Fix build failure on MacOS involving std::clock_t" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:205 +msgid "Fix error messages on Windows." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:206 +msgid "Disable Plugins in out-of-tree builds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:207 +msgid "Correct off-by-one error in SET_EXPONENT" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:209 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:265 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:216 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:212 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:267 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:194 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:249 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:235 +msgid "" +"Call notes are recorded and available upon request " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-" +"Holby at aperry@lanl.gov for document access." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:213 +msgid "" +"168 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in August 2021" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:216 +msgid "The following people have contributed code to LFortran in August:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:222 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:277 +msgid "Carlos Une" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:223 +msgid "Sebastian Ehlert got LFortran working with fpm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:224 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:282 +msgid "Many people have reported bugs (thank you all!)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:225 +msgid "" +"Our 3 Google Summer of Code (GSoC) students have successfully finished " +"their projects. Here are their final reports:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:227 +msgid "" +"Gagandeep Singh: " +"[https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:228 +msgid "" +"Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-" +"Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com" +"/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:229 +msgid "" +"Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-" +"reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:231 +msgid "LFortran 0.12.0 was released on August 15" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:233 +msgid "Changes since the last release." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:235 +msgid "Fixed all issues in the parser that were reported (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:236 +msgid "multiple loop single end do" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:237 +msgid "arithmetic if" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:238 +msgid "" +"Comments and empty lines are now represented in AST and formatted " +"correctly (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:239 +msgid "" +"The formatter (`lfortran fmt`) now uses the minimal amount of parentheses" +" in expressions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:240 +msgid "Initial fixed-form parser (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:241 +msgid "Initial class support (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:242 +msgid "Allocate / deallocate, allocatable arrays (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:243 +msgid "Associate block (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:244 +msgid "Runtime library refactoring (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:245 +msgid "Split into builtin, pure and impure" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:246 +msgid "`iso_fortran_env`, `iso_c_binding` intrinsic modules added" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:247 +msgid "Compile time evaluation (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:249 +msgid "Commits (`git shortlog -ns v0.11.0..v0.12.0`):" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:260 +msgid "Updates in master since the last release:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:262 +msgid "LFortran can now compile binaries on Windows" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:263 +msgid "C interoperation works on all platforms (including Windows and MSVC)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:264 +msgid "Runtime library improvements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:265 +msgid "Complex intrinsics fixed on all platforms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:266 +msgid "" +"All trigonometric functions now use the Fortran `impure` interface in the" +" runtime library" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:267 +msgid "More intrinsics implemented" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:268 +msgid "Initial implementation of classes and methods" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:269 +msgid "" +"LFortran now works with `fpm` and compiles the hello world project and a " +"few other example projects" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:270 +msgid "Parser improvements: team and sync statements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:271 +msgid "" +"Improved handling of character types as function arguments and return " +"values" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:274 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)! We would be happy to do a " +"video call with you to get you started." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:281 +msgid "" +"We had our 15th Fortran Monthly call on August 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:285 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The second " +"call for abstracts is due September 1. For more information, visit the " +"[FortranCon website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:290 +msgid "" +"Our Google Summer of Code program for 2021 is coming to a close. Read " +"about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:310 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:324 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:266 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:261 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:318 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:281 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:297 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:272 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:394 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:500 +msgid "[fortran-lang/fftpack](https://github.com/fortran-lang/fftpack)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:9 +msgid "" +"Welcome to the October 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:19 +msgid "" +"[#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): " +"September newsletter draft" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:21 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): Add " +"QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:23 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): Update" +" Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:25 +msgid "" +"[#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): Fixed " +"typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:27 +msgid "" +"[#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): remove" +" excess 'mpi' tag from fortran2018-examples" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:29 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:31 +msgid "" +"[#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): " +"grammar and spelling from issue #313" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:33 +msgid "" +"[#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): more " +"grammar, spelling, and rewording for Fortran Best Practices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:35 +msgid "" +"[#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): " +"replaced \"be found be found\" with \"be found\"" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:37 +msgid "" +"[#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): " +"Alternative approach to avoiding integer division" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:39 +msgid "" +"[#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): Add " +"incompact3d to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:41 +msgid "" +"[#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): Add " +"fparser to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:43 +msgid "" +"[#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): Adding" +" two more packages to the index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:45 +msgid "" +"[#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): Add " +"pFlogger to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:47 +msgid "" +"[#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): One " +"more package" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:52 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:68 +msgid "[#509](https://github.com/fortran-lang/stdlib/pull/509): fixed typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:70 +msgid "" +"[#503](https://github.com/fortran-lang/stdlib/pull/503): refactor " +"documentation regarding consistency" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:72 +msgid "" +"[#511](https://github.com/fortran-lang/stdlib/pull/511): Correctly set " +"CMAKE_INSTALL_MODULEDIR cache variable" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:74 +msgid "" +"[#513](https://github.com/fortran-lang/stdlib/pull/513): Update issue " +"templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:76 +msgid "" +"[#523](https://github.com/fortran-lang/stdlib/pull/523): Rename " +"config.yaml -> config.yml" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:78 +msgid "" +"[#508](https://github.com/fortran-lang/stdlib/pull/508): github-ci: add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:80 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475): Generating " +"sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:82 +msgid "" +"[#525](https://github.com/fortran-lang/stdlib/pull/525): Add files " +"generated by tests to gitignore" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:84 +msgid "" +"[#529](https://github.com/fortran-lang/stdlib/pull/529): Add maintainer " +"entry to fpm manifest" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:86 +msgid "" +"[#530](https://github.com/fortran-lang/stdlib/pull/530): Make it clearer " +"how the user can control compiler optimization" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:88 +msgid "" +"[#528](https://github.com/fortran-lang/stdlib/pull/528): Reduce " +"redundancy caused by optional arguments" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:90 +msgid "" +"[#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) " +"(`stdlib-cmake-example`): Add example integration with test-drive" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:96 +msgid "" +"[#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): Fix string" +" concat" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:98 +msgid "" +"[#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): Add " +"function gcd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:100 +msgid "" +"[#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): Bump " +"stdlib version to 0.1.0" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:102 +msgid "" +"[#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): Add a " +"changelog for the current features of stdlib" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:104 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:57 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:66 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:105 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:60 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:54 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:86 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:74 +msgid "" +"[#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): Fix " +"conversion warnings" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:106 +msgid "" +"[#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): Ensure " +"module output directory is generated in configure stage" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:108 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display your data)." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:110 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:70 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:109 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:64 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:58 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:72 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:90 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:78 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC_TEMPLATE.md #504" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:112 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:63 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:72 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:111 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:66 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:60 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:74 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:92 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:80 +msgid "" +"[#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): pop, drop " +"& get with basic range feature for stringlist" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:162 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521): expand tabs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:164 +msgid "" +"[#557](https://github.com/fortran-lang/fpm/pull/557): Update installer " +"script to update subprojects first" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:166 +msgid "[#558](https://github.com/fortran-lang/fpm/pull/558): Add issue templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:168 +msgid "" +"[#565](https://github.com/fortran-lang/fpm/pull/565): Default branch " +"renaming aftermath" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:170 +msgid "" +"[#562](https://github.com/fortran-lang/fpm/pull/562): Add new " +"distributions where fpm is available to README" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:172 +msgid "" +"[#563](https://github.com/fortran-lang/fpm/pull/563): Add workflow to " +"create single source fpm version" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:174 +msgid "" +"[#564](https://github.com/fortran-lang/fpm/pull/564): Separate upload " +"stage in CI testing" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:176 +msgid "" +"[#572](https://github.com/fortran-lang/fpm/pull/572): Build no tests by " +"default" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:178 +msgid "" +"[#549](https://github.com/fortran-lang/fpm/pull/549): Allow setting, " +"archiver, C compiler flags and linker flags from commandline" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:180 +msgid "" +"[#578](https://github.com/fortran-lang/fpm/pull/578): help text was " +"truncated" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:182 +msgid "" +"[#579](https://github.com/fortran-lang/fpm/pull/579): Fix dir not getting" +" removed after testing fpm" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:184 +msgid "" +"[#584](https://github.com/fortran-lang/fpm/pull/584): Actually read " +"environment variables" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:190 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): Enable " +"multiple build output directories" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:192 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:121 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): Add workflow " +"for continuous delivery" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:224 +msgid "" +"flang-omp-report plugin - first full fledged frontend plugin has been " +"contributed" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:225 +msgid "CMake integration - waiting on a new PR" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:226 +msgid "" +"Code-generation work is ongoing - task list has been presented to the " +"community for discussion and approval" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:228 +msgid "Fortran 95 lowering and runtime support is nearing completion" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:229 +msgid "Code upstreaming has begun again" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:231 +msgid "Merged: Critical, collapse clause, Fixes for SNAP." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:232 +msgid "" +"In review: Firstprivate, Ordered, MLIR definitions for a few target side " +"constructs, semantic checks for atomic, critical, sections, simd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:233 +msgid "OpenMP 5.0 metadirective" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:235 +msgid "Change complex type define in runtime for clang-cl" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:236 +msgid "Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:237 +msgid "" +"GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, " +"STATUS and ERRMSG parameters." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:238 +msgid "COMMAND_ARGUMENT_COUNT runtime implementation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:239 +msgid "Add POSIX implementation for SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:240 +msgid "Fix WRITE after BACKSPACE on variable-length file" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:241 +msgid "Implement Posix version of DATE_AND_TIME runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:242 +msgid "Ported test scripts to Python, enables testing on Windows" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:243 +msgid "More precise checks for NULL() operands" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:244 +msgid "Enforce array conformance in actual arguments to ELEMENTALs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:245 +msgid "" +"Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, " +"UNPACK, and TRANSPOSE" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:246 +msgid "Make this_image() an intrinsic function" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:247 +msgid "Revamp C1502 checking of END INTERFACE [generic-spec]" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:248 +msgid "Accept SIZE(assumed-rank, DIM=n)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:249 +msgid "Validate SIZE(x,DIM=n) dimension for assumed-size array x" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:250 +msgid "Catch errors with intrinsic array inquiry functions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:251 +msgid "Correct overflow detection in folding of real->integer conversions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:252 +msgid "Upgrade warning to error in case of PURE procedure" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:253 +msgid "Enforce fixed form rules about END continuation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:254 +msgid "Enforce specification function rules on callee, not call" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:255 +msgid "Catch error: base of DATA statement object can't be a pointer" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:256 +msgid "Represent parentheses around derived types" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:257 +msgid "Enforce constraint: defined ass't in WHERE must be elemental" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:258 +msgid "Catch branching into FORALL/WHERE constructs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:259 +msgid "Implement semantic checks for ELEMENTAL subprograms" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:260 +msgid "Signal EOR in non advancing IO and move to next record" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:261 +msgid "Extension: reduced scope for some implied DO loop indices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:262 +msgid "Take result length into account in ApplyElementwise folding" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:263 +msgid "Apply double precision KindCode in specific proc interface" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:269 +msgid "" +"81 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in September 2021" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:272 +msgid "" +"LFortran Minimum Viable Product (MVP) " +"[released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-" +"product-mvp/)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:273 +msgid "LFortran 0.13.0, 0.13.1 and 0.14.0 released in September" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:274 +msgid "The following people have contributed code to LFortran in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:279 +msgid "Harris M. Snyder" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:281 +msgid "Mengjia Lyu" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:283 +msgid "Main features implemented in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:284 +msgid "Operator overloading (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:285 +msgid "Goto (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:286 +msgid "Runtime library improvements: `iand`, `len`, `trim`, `len_trim`" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:287 +msgid "" +"Interactive mode: get complex numbers, intrinsic functions working " +"(Windows, macOS, Linux)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:289 +msgid "New driver options: --fast, --symtab-only, --target" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:292 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:227 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:228 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:281 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:247 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:259 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:367 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:468 +msgid "" +"We are looking for new contributors. Please do not hesitate to contact us" +" if you are interested. We will help you get up to speed." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:298 +msgid "" +"We had our 16th Fortran Monthly call on September 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:302 +msgid "" +"The second international Fortran Conference (FortranCon) 2021 was held " +"virtually on September 23-24 Video recordings of the talks will be made " +"available soon. For more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:9 +msgid "" +"Welcome to the November 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:20 +msgid "" +"[#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): Fix " +"title in learning resources" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:22 +msgid "" +"[#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): Add " +"Cantera to package index" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:24 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:26 +msgid "" +"[#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): Minor " +"fixes in Best Practices" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:46 +msgid "" +"[0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): " +"Initial version of the Fortran standard library" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:48 +msgid "[#543](https://github.com/fortran-lang/stdlib/pull/543): Fix string concat" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:53 +msgid "" +"[#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): Hash " +"functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:55 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): Fix bug in" +" stringlist" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:59 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib\\_io] add `disp` (display your data)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:61 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC\\_TEMPLATE.md" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:67 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib\\_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:69 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib\\_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:75 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib\\_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:106 +msgid "" +"[#597](https://github.com/fortran-lang/fpm/pull/597): Add LFortran " +"optimization flag to release profile" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:108 +msgid "" +"[#595](https://github.com/fortran-lang/fpm/pull/595): List names without " +"suffix (mainly for Windows)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:110 +msgid "" +"[#590](https://github.com/fortran-lang/fpm/pull/590): Change link command" +" on Windows with `ifort` or `ifx`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:112 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575): Enable multiple " +"build output directories" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:114 +msgid "" +"[#587](https://github.com/fortran-lang/fpm/pull/587): Bootstrapping " +"instructions version update" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:119 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): Update " +"README.md compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:132 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:147 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/main/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:153 +msgid "Front-end and runtime support for CALL EXIT and ABORT" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:154 +msgid "Fix formatted real input regression w/ spaces" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:155 +msgid "Add runtime interface for GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:156 +msgid "More work on SYSTEM_CLOCK runtime API and implementation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:157 +msgid "Implement GET_ENVIRONMENT_VARIABLE(LENGTH)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:159 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for sections " +"construct and test case for simd construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:160 +msgid "" +"Added test case for OpenMP 5.0 specification based semantic checks for " +"parallel sections construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:161 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for CRITICAL " +"construct name resolution" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:162 +msgid "Checks for THREADPRIVATE and DECLARE TARGET Directives" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:163 +msgid "Initial parsing/sema for append_args clause for 'declare variant'" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:164 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:170 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:179 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:157 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:138 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:150 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:168 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:150 +msgid "FIR" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:165 +msgid "" +"Add typeparams to fir.array_update, fir.array_fetch and " +"fir.array_merge_store operations. Add optional slice operands to " +"fir.array_merge_store op." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:166 +msgid "" +"Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, " +"fir.alloca, fir.field_index, fir.freemem, fir.store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:167 +msgid "" +"Move the parsers, printers and builders from the TableGen file to the " +".cpp file" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:168 +msgid "Update fir.alloca op - Add pinned attributes and specific builders" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:169 +msgid "Add ops: fir.char_convert and fir.array_modify" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:170 +msgid "" +"Add passes: external name interop, affine promotion, affine demotion, " +"character conversion, abstract result conversion, cfg conversion" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:171 +msgid "Add fir.convert canonicalization patterns" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:172 +msgid "Add the DoLoopHelper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:173 +msgid "Add IfBuilder and utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:174 +msgid "Add FIRBuilder utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:175 +msgid "Add character utility functions in FIRBuilder" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:176 +msgid "Add Character helper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:177 +msgid "Add utility function to FIRBuilder and MutableBox" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:178 +msgid "Add substring to fir.slice operation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:179 +msgid "" +"Avoid slice with substr in fir.array_load, fir.array_coor and " +"fir.array_merge_store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:180 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:185 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:193 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:196 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:153 +msgid "Driver" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:181 +msgid "Error if uuidgen is not installed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:182 +msgid "Fix erroneous `&`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:183 +msgid "Add actions that execute despite semantic errors" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:184 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:192 +msgid "flang-omp-report" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:185 +msgid "replace std::vector's with llvm::SmallVector" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:186 +msgid "Switch from std::string to StringRef (where possible)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:187 +msgid "replace std::map with llvm::DenseMap" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:188 +msgid "Make builtin types more easily accessible; use them" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:189 +msgid "Fix test regression from SQRT folding" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:190 +msgid "Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:191 +msgid "Take into account SubprogramDetails in GetInterfaceSymbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:192 +msgid "Add debug dump method to evaluate::Expr and semantics::Symbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:193 +msgid "Add a wrapper for Fortran main program" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:194 +msgid "Improve runtime interface with C99 complex" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:195 +msgid "Better error recovery for missing THEN in ELSE IF" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:196 +msgid "Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:197 +msgid "Catch mismatched parentheses in prescanner" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:198 +msgid "Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:199 +msgid "Document behavior for nonspecified/ambiguous cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:200 +msgid "Add two negative tests for needExternalNameMangling" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:201 +msgid "Expunge bogus semantic check for ELEMENTAL without dummies" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:202 +msgid "Admit NULL() in generic procedure resolution cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:203 +msgid "Fix bogus folding error for ISHFT(x, negative)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:204 +msgid "Emit unformatted headers & footers even with RECL=" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:205 +msgid "Enforce rest of semantic constraint C919" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:206 +msgid "Extension to distinguish specific procedures" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:207 +msgid "Support NAMELIST input of short arrays" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:208 +msgid "Fix generic resolution case" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:209 +msgid "Speed common runtime cases of DOT_PRODUCT & MATMUL" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:210 +msgid "Fix crash on empty formatted external READs" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:211 +msgid "Extension: allow tabs in output format strings" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:212 +msgid "Fix DOT_PRODUCT for logical" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:213 +msgid "Fix NAMELIST input bug with multiple subscript triplets" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:214 +msgid "Support legacy usage of 'A' edit descriptors for integer & real" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:220 +msgid "155 Merge Requests merged in October 2021" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:221 +msgid "AST to ASR transformation simplified and unified" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:222 +msgid "Many new intrinsics added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:223 +msgid "Rust style error messages, add first warnings and style suggestions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:224 +msgid "Fixed bugs in location information" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:225 +msgid "C preprocessor added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:233 +msgid "We have adopted two new Fortran-lang guidelines:" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:234 +msgid "" +"[Governance document](https://github.com/fortran-" +"lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang " +"projects are managed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:235 +msgid "" +"[Administration, moderation, and editing guide](https://fortran-" +"lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-" +"and-editing-3) for Fortran Discourse Both documents are part of an effort" +" to increase transparency between Fortran-lang administrators and the " +"rest of the community." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:237 +msgid "" +"The US Fortran Standards Committee (J3) held the meeting 225 October " +"18-27, 2021. The meeting was virtual and on Mondays and Wednesdays only. " +"Discussions focused on resolving any outstanding issues to the Fortran " +"202X features. Here are the links to the meeting " +"[agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), " +"[minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), and " +"[papers](https://j3-fortran.org/doc/meeting/225). See also the [Fortran-" +"lang and LFortran liaison report to " +"J3](https://j3-fortran.org/doc/year/21/21-206.txt) submitted by Ondřej " +"Čertík and Milan Curcic." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:245 +msgid "" +"We had our 19th Fortran Monthly call on October 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:9 +msgid "" +"Welcome to the December 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:17 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:18 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:17 +msgid "Here's what's new and ongoing in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:19 +msgid "" +"[#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): Fix " +"typo in author field" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:24 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:35 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:26 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:26 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:32 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:50 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:36 +msgid "" +"[#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): " +"Fortran Intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:39 +msgid "" +"[#558](https://github.com/fortran-lang/stdlib/pull/558): Pin specific fpm" +" version" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:41 +msgid "" +"[#556](https://github.com/fortran-lang/stdlib/pull/556): fix some FORD " +"links" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:43 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494): Add testing " +"module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:45 +msgid "" +"[#562](https://github.com/fortran-lang/stdlib/pull/562): Minor update " +"`pure/elemental` in `string_type` module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:47 +msgid "" +"[#565](https://github.com/fortran-lang/stdlib/pull/565): Make support for" +" quadruple precision optional" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:49 +msgid "" +"[#566](https://github.com/fortran-lang/stdlib/pull/566): Create a call " +"for reviewers pull request template" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:51 +msgid "" +"[#578](https://github.com/fortran-lang/stdlib/pull/578): Update error in " +"case fypp preprocessor is not found" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:53 +msgid "" +"[#579](https://github.com/fortran-lang/stdlib/pull/579): Add module for " +"handling version information of stdlib" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:58 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): Add " +"routines for saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:60 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:101 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:56 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:50 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:64 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:82 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:70 +msgid "" +"[#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): Add " +"terminal and color escape sequences" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:62 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): Revised " +"Hash functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:64 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:103 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:58 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:52 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:66 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:84 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:72 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): fixed bug " +"in stringlist" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:68 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:107 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:62 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:70 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:88 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:76 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display variable values formatted)." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:112 +msgid "" +"[v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): Alpha " +"release update" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:114 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598): Update README.md " +"compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:116 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569): Add workflow for " +"continuous delivery" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:118 +msgid "" +"[#602](https://github.com/fortran-lang/fpm/pull/602): fix(fpm_compiler): " +"intel windows release flag was incorrect" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:120 +msgid "" +"[#607](https://github.com/fortran-lang/fpm/pull/607): Repair --list " +"option and correct obsolete descriptions of the --list option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:122 +msgid "" +"[#612](https://github.com/fortran-lang/fpm/pull/612): Fix modules listing" +" (for install)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:124 +msgid "" +"[#613](https://github.com/fortran-lang/fpm/pull/613): Add: critical " +"section to mkdir in backend" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:126 +msgid "" +"[#616](https://github.com/fortran-lang/fpm/pull/616): Add: workflow to " +"make installer on push and release" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:128 +msgid "" +"[#614](https://github.com/fortran-lang/fpm/pull/614): Bump version to " +"0.5.0" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:130 +msgid "" +"[setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): Fix " +"Latest Option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:135 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:148 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:122 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): Cleanup the " +"backend output" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:137 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:150 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:124 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:107 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:121 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:139 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:123 +msgid "" +"[#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): --env switch " +"lets you specify the prefix of the compiler-related environment variables" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:168 +msgid "Use the ultimate symbol in a call to the IsPointer function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:169 +msgid "Add parsing/sema/serialization for 'bind' clause." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:171 +msgid "Add base of the FIR to LLVM IR pass" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:172 +msgid "Add various FIR to LLVM IR conversion patterns:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:173 +msgid "fir.unreachable" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:174 +msgid "fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:175 +msgid "fir.zero_bits" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:176 +msgid "fir.select and fir.select_rank" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:177 +msgid "fir.extract_value and fir.insert_value" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:178 +msgid "types - fir.box, fir.logical, fir.char, fir.ptr" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:179 +msgid "fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:180 +msgid "fir.convert" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:181 +msgid "fir.call" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:182 +msgid "fir.store and fir.load" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:183 +msgid "Add substr information to fircg.ext_embox and fircg.ext_rebox operations" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:184 +msgid "Use notifyMatchFailure in fir.zero_bits conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:185 +msgid "Restrict array type on fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:186 +msgid "Add test for FIR types conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:187 +msgid "Use contralized values for indexing box" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:188 +msgid "Add complex operations conversion from FIR LLVM IR" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:189 +msgid "Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:191 +msgid "Read environment variables directly" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:193 +msgid "Removed unnecessary comments in flang-omp-report plugin tests" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:194 +msgid "Remove the loop workarounds for nowait clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:195 +msgid "Add flang-omp-report summarising script" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:196 +msgid "Checks for pointers to intrinsic functions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:197 +msgid "Fold SPREAD" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:198 +msgid "Improve error message for misuse of NULL(mold) as data statement constant" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:199 +msgid "Fix crash on \"call system_clock(count_max=j)\"" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:200 +msgid "Fix combined folding of FINDLOC/MAXLOC/MINLOC" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:201 +msgid "Implement GET_ENVIRONMENT_VARIABLE(VALUE)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:202 +msgid "" +"Remove builder that takes SSA value instead of Attribute on " +"ExtractValueOp, InsetValueOp, and InsertOnRangeOp" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:203 +msgid "Remove getModel in DescriptorModel.h" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:204 +msgid "Set the addendum when establishing pointer section in descriptor" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:205 +msgid "Fix error in characteristics check at procedure pointer assignment" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:206 +msgid "Initial parsing/sema for 'align' clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:207 +msgid "Don't reference non-invariant symbols in shape expressions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:208 +msgid "Make subscript list argument a nullable pointer" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:209 +msgid "Distinguish error/warning cases for bad jumps into constructs" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:210 +msgid "Fix folding of EPSILON()" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:216 +msgid "32 Merge Requests merged in November 2021" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:217 +msgid "Support for same name interface and subroutine/function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:218 +msgid "Compile-time evaluation for bit intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:219 +msgid "Implement the `repeat` and `shape` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:220 +msgid "Variadic support for `min` and `max` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:221 +msgid "Implement the scalar `random_number` function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:222 +msgid "Fixes and improved error message for `read` and `write` statements" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:223 +msgid "Support the `final`, `intrinsic`, and `private` attributes" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:224 +msgid "Implement the `ieee_arithmetic` intrinsic module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:225 +msgid "Support for the `abstract` class" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:226 +msgid "Support for `assignment(=)` on `use` statement" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:234 +msgid "" +"Sebastian Ehlert presented the Fortran Package Manager at the " +"PackagingCon 2021 conference. You can watch the recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:237 +msgid "" +"Recordings of all FortranCon 2021 presentations are now available to view" +" in the [FortranCon YouTube " +"Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +" Enjoy!" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:240 +msgid "" +"We had our 20th Fortran Monthly call on November 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:9 +msgid "" +"With another year behind us, let's review the progress that the Fortran-" +"lang community has made. If you're new to Fortran-lang, here's a quick " +"intro: We're an open source community that aims to develop modern Fortran" +" tooling and nurture a rich ecosystem of libraries, as well as to provide" +" a friendly, helpful, and inclusive space for newcomers and experienced " +"Fortran programmers to work together. We started in late 2019 and have " +"been going ever since. If you're first discovering (or re-discovering) " +"Fortran through this article, welcome, and we hope it inspires you to try" +" Fortran for one of your projects. In this article we summarize new " +"developments from 2021, from flagship and new projects to community " +"development and outreach." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:24 +msgid "Standard Library (stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:26 +msgid "" +"To date, [33 people](https://github.com/fortran-" +"lang/stdlib/graphs/contributors) have contributed code to stdlib, and " +"more than 100 people have participated in discussions. More than a dozen " +"new modules have been added in 2021:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:31 +msgid "" +"`stdlib_array`: Provides `trueloc` and `falseloc` which allow you to " +"index an array based on a logical condition in a functional style" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:33 +msgid "`stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:34 +msgid "`stdlib_math`: Provides a number of common mathematical functions" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:35 +msgid "`stdlib_random`: Pseudo-random integer number generation" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:36 +msgid "" +"`stdlib_selection`: Selection procedures for selecting elements from an " +"array given a desired range" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:38 +msgid "" +"`stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm " +"and introsort by David Musser" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:40 +msgid "" +"`stdlib_specialfunctions`: Provides the Legendre function and its " +"derivative in support of the Gaussian quadrature procedures" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:42 +msgid "" +"`stdlib_stats_distribution_normal`: Functions to sample values from a " +"normal distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:44 +msgid "" +"`stdlib_stats_distribution_uniform`: Functions to sample values from a " +"uniform distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:46 +msgid "" +"`stdlib_string_type`: Provides a `string_type` derived type that " +"alleviates some limitations of the variable-length `character` variables." +" `string_type` is compatible with all intrinsic procedures that operate " +"on `character`." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:49 +msgid "" +"`stdlib_stringlist_type`: A derived type that is a 1-dimensional list of " +"strings" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:51 +msgid "" +"`stdlib_strings`: Provides a number of inquiry and manipulation " +"procedures that complement the intrinsic set" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:53 +msgid "`stdlib_version`: Allows querying the version of the stdlib library build" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:55 +msgid "" +"which brings us to a total of 23 modules in stdlib. You can read about " +"these modules in more detail on the [stdlib API docs " +"website](https://stdlib.fortran-lang.org)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:59 +msgid "" +"Besides the new modules, procedures, and derived types, there have been a" +" few key improvements in terms of stdlib delivery:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:62 +msgid "" +"You can now use stdlib as a dependency in your fpm projects, see " +"[here](https://github.com/fortran-lang/stdlib#build-with-fortran-" +"langfpm). This significantly lowers the bar for getting started with " +"stdlib." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:65 +msgid "" +"We had our first stdlib release (0.1.0) on October 4. As of now we don't " +"have a set release schedule, and plan to publish a new release when there" +" is significant new functionality. As stdlib matures and becomes more " +"widely used, we expect releases to become more frequent." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:70 +msgid "" +"We now maintain a [change log](https://github.com/fortran-" +"lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is " +"documented. This is a useful document to reference when you want to know " +"what's been added to the stdlib since the latest release." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:75 +msgid "" +"If you haven't tried stdlib yet, please do and let us know what you think" +" and how we can improve it. Our vision for stdlib is to provide basic " +"utilities that most Fortran projects use, as well as wider numerical " +"capabilities with the scope of NumPy and SciPy." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:80 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:82 +msgid "" +"Fortran Package Manager (fpm) is the package manager and build system for" +" Fortran. Its key goal is to make developing, distributing, and reusing " +"Fortran libraries and applications as easy and as fun as possible. In " +"2020, the big change for fpm was the transition from the prototype " +"implemented in Haskell to a pure Fortran implementation. Fpm has since " +"been used in increasingly more and ever larger Fortran projects." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:90 +msgid "" +"To date, [22 people](https://github.com/fortran-" +"lang/fpm/graphs/contributors) have contributed code to fpm. In 2021 fpm " +"has advanced from v0.1.3 to v0.5.0. Key additions this year include " +"(release version in parentheses):" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:95 +msgid "CLI arguments for linker, archiver, and C compiler (0.5.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:96 +msgid "Support for MPI and LFortran (0.4.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:97 +msgid "" +"Support for installed library modules via `external-modules` in the " +"manifest (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:99 +msgid "Automatic discovery of manifest files in parent directories (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:100 +msgid "Support for reading package version from file (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:101 +msgid "Support for include directories (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:102 +msgid "Support for `--flag` CLI option to specify compiler flags (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:103 +msgid "" +"`fpm build --show-model` displays the internal representation of a " +"package (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:105 +msgid "Allow hyphen in new package names (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:106 +msgid "" +"`fpm new` now supports `--full` and `--bare` to specify level of " +"scaffolding (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:109 +msgid "Check out also these fpm plugins:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:111 +msgid "" +"[fpm-search](https://github.com/brocolis/fpm-search): Adds the `fpm " +"search` command for searching for registered fpm packages from the " +"command line." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:114 +msgid "" +"[fpm-man](https://github.com/urbanjost/fpm-man): Adds the `fpm man` " +"command for displaying man-style help pages about Fortran intrinsics and " +"other language features." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:118 +msgid "" +"At the time of writing, there are almost 200 projects now using fpm. If " +"you haven't tried fpm yet, please do! It has truly been a game-changing " +"tool for many of us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:122 +msgid "We have many ideas that we want to pursue, such as:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:124 +msgid "" +"First-class integration with other package managers such as Spack and " +"Conda" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:125 +msgid "First-class integration with build systems like CMake and Meson" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:126 +msgid "" +"Improving [fpm's package registry](https://github.com/fortran-lang/fpm-" +"registry), etc." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:128 +msgid "" +"We are always looking for new contributors. If any of these projects " +"interest you, please join us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:139 +msgid "" +"Though not technically a Fortran-lang project, " +"[LFortran](https://lfortran.org) has been growing close to the Fortran-" +"lang community and projects largely thanks to its creator and lead " +"developer [Ondřej Čertík](https://github.com/certik) also being one of " +"the founding members of Fortran-lang. LFortran has been developing " +"rapidly this year and was released as a [Minimum Viable Product " +"(MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-" +"mvp/) in September. LFortran currently parses all of Fortran 2018 and " +"compiles a significant subset of the language. 16 people have contributed" +" code so far, and many more have reported bugs or participated in " +"discussions. If you haven't tried LFortran yet, please do and let us know" +" how it can best improve for your use case. You can help speed up " +"LFortran's development by contributing code and/or documentation " +"directly, or by donating funds to the project via " +"[NumFOCUS](https://numfocus.org/project/lfortran)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:155 +msgid "" +"Follow LFortran on Twitter at " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:157 +msgid "fortran-lang.org, Discourse, and social media" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:159 +msgid "" +"A major addition to the Fortran website this year is the [Fortran Best " +"Practices mini-book](https://fortran-lang.org/learn/best_practices). This" +" is a port and an update to the well-known " +"[fortran90.org](https://www.fortran90.org) by [Ondřej " +"Čertík](https://github.com/certik). It provides a plethora of tips on how" +" to write simple and idiomatic Fortran for numerical tasks, and how to " +"avoid some common gotchas. Give it a read and let us know how it can be " +"improved." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:168 +msgid "" +"The [Fortran Discourse](https://fortran-lang.discourse.group) is as " +"active as ever, with new users joining daily. There are currently 338 " +"active users out of a total of 537 registered users. The Fortran " +"Discourse is a great place to ask for help with Fortran code, post a " +"Fortran job opening, and discuss anything Fortran-related." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:174 +msgid "" +"We also continue to release the monthly newsletter where we document the " +"progress month-by-month, as well as post about any notable events in the " +"Fortran world. This newsletter is a great way to stay up to date with " +"Fortran-lang. If you're also on Twitter, follow our account " +"[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news " +"and updates, as well as the new " +"[@FortranTip](https://twitter.com/FortranTip) account, managed by " +"[Beliavsky](https://github.com/beliavsky), which brings daily Fortran " +"tips to your Twitter feed." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:184 +msgid "" +"Finally, we meet on monthly video calls to discuss issues and topics " +"related to all Fortran-lang projects. The calls are advertised on Fortran" +" Discourse and are open to everyone. Don't hesitate to join the call to " +"meet other Fortran-lang participants and take part in different " +"discussions." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:189 +msgid "New projects" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:191 +msgid "" +"In addition to the flagship projects summarized above, a few new projects" +" started or were adopted by Fortran-lang this year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:194 +msgid "fftpack" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:196 +msgid "" +"[fftpack](https://github.com/fortran-lang/fftpack) is a classic " +"collection of subroutines to perform the Fast Fourier Transform on real " +"and complex data. It is based on the classic [FFTPACK library from " +"Netlib](http://www.netlib.org/fftpack/). fftpack was adopted by Fortran-" +"lang in an effort to provide:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:202 +msgid "A community-maintained FFT library" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:203 +msgid "Bug fixes to the existing codebase" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:204 +msgid "Modern interfaces on top of the existing API" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:205 +msgid "fpm package for easy use as a dependency." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:207 +msgid "test-drive" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:209 +msgid "" +"[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and" +" easy-to-use testing framework developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). It follows a simple functional style " +"to collect and run your tests in parallel and print a minimal and clean " +"diagnostic printout to the standard output. Test-drive is currently used" +" by both stdlib and fpm for their own test suites. Give test-drive a test" +" drive for your next Fortran project!" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:217 +msgid "fpm-docs" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:219 +msgid "" +"[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user " +"documentation website for fpm, developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). Its key aim is to provide community-" +"maintained documentation across four target audiences/use cases:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:225 +msgid "**Tutorials**: for learning how to use fpm for Fortran development" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:226 +msgid "**How-to guides**: recipes for specific and concrete problems" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:227 +msgid "" +"**Design documents**: resources that document the design of various " +"aspects of fpm" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:229 +msgid "**References**: specification documents of fpm components" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:237 +msgid "" +"As the fpm user docs are now hosted at [fpm.fortran-lang.org](https://fpm" +".fortran-lang.org), the API docs are now located at [fortran-" +"lang.github.io/fpm/](https://fortran-lang.github.io/fpm/)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:241 +msgid "Google Summer of Code 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:243 +msgid "" +"2021 has been the first year for Fortran-lang to participate in the " +"[Google Summer of Code](https://summerofcode.withgoogle.com/) program. " +"Together with NumFOCUS and LFortran, Fortran-lang had six students who " +"worked on a variety of projects:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:248 +msgid "" +"[Aman Godara](https://github.com/Aman-Godara) (Improving strings in " +"stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:249 +msgid "[Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:250 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables " +"in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:251 +msgid "[Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:252 +msgid "[Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:253 +msgid "" +"[Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST " +"generation in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:255 +msgid "" +"You can read in more detail about their projects " +"[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:258 +msgid "" +"A big thank you to all students, mentors, and administrators, for their " +"great work, and of course, to the Google Summer of Code program for " +"making possible for students to participate." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:262 +msgid "" +"We plan to apply for Google Summer of Code in 2022 as well. The program " +"is no longer limited to students and anybody 18 or older can apply to " +"work on an open source project and get paid for it. If you're interested " +"participating in the program in 2022 with Fortran-lang, don't hesitate to" +" contact us and we'll guide you toward applying." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:268 +msgid "Conferences and papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:270 +msgid "FortranCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:272 +msgid "" +"Like in 2020, the Fortran event of this year was [FortranCon " +"2021](https://tcevents.chem.uzh.ch/event/14/), the international Fortran " +"conference, held on September 23-24. The keynote speaker this year was " +"[Damian Rouson](https://github.com/rouson), the head of the [Computer " +"Languages and Systems Software " +"(CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/)" +" group at the Lawrence Berkeley National Lab. Fortran-lang had a " +"dedicated session (a Fortran-lang minisymposium) on the second day of the" +" conference, with the talks about specific Fortran-lang projects as well " +"as the Google Summer of Code student presentations. FortranCon was hosted" +" at the University of Zurich (UZH), and organized by [Tiziano " +"Müller](https://github.com/dev-zero) from UZH and [Alfio " +"Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. " +"You can watch all FortranCon 2021 talks " +"[here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:287 +msgid "PackagingCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:289 +msgid "" +"Another big event for Fortran-lang was [PackagingCon 2021](https" +"://packaging-con.org/), a conference dedicated to package management " +"software and its community of developers. [Sebastian " +"Ehlert](https://github.com/awvwgk) presented fpm--you can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:299 +msgid "Papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:301 +msgid "" +"This year two papers have been written about Fortran-lang projects. The " +"first paper documents the motivation and goals of Fortran-lang: \"Toward " +"Modern Fortran Tooling and a Thriving Developer Community\" by Milan " +"Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, Laurence " +"Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas " +"([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382))." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:314 +msgid "" +"If Fortran-lang has been helpful in your work and if you want to cite " +"this paper, here's the citation info:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:333 +msgid "" +"We have also submitted a paper draft to IEEE's [Computing in Science & " +"Engineering " +"(CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) " +"journal, titled \"The State of Fortran\" and led by [Laurence " +"Kedward](https://github.com/lkedward). For this paper, we have [publicly " +"invited on Discourse](https://fortran-lang.discourse.group/t/fortran-" +"lang-community-paper/1232) anybody in the Fortran-lang community to " +"participate. Once published, this will be another paper that you can " +"cite. Stay tuned for its publication." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:343 +msgid "Summary" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:345 +msgid "2021 is behind us as another productive year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:346 +msgid "" +"Fortran-lang flagship projects such as [stdlib](https://github.com" +"/fortran-lang/stdlib), [fpm](https://github.com/fortran-lang/fpm), " +"[fortran-lang.org](https://fortran-lang.org), and " +"[LFortran](https://lfortran.org) continue to grow and gain traction." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:351 +msgid "" +"New Fortran-lang projects include [fftpack](https://github.com/fortran-" +"lang/fftpack), [test-drive](https://github.com/fortran-lang/test-drive), " +"and [fpm-docs](https://github.com/fortran-lang/fpm-docs)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:355 +msgid "" +"Fortran-lang participated in the [Google Summer of " +"Code](https://summerofcode.withgoogle.com/) program for the first time, " +"and had 6 students working on projects across stdlib, fpm, and LFortran." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:359 +msgid "" +"We had several presentations of Fortran-lang projects at [FortranCon " +"2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)" +" and [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:362 +msgid "" +"New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and " +"another is in review." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:365 +msgid "Thanks" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:367 +msgid "" +"We thank all people who contributed to Fortran-lang projects and " +"discussions on GitHub, Fortran Discourse, Fortran-lang mailing list, " +"Twitter, and elsewhere. It wouldn't have been possible without you all." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:9 +msgid "" +"Happy New Year and welcome to the January 2022 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:20 +msgid "" +"[#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): " +"Newsletter draft for December 2021" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:22 +msgid "" +"[#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): " +"Updated CaNS item so that it shows the version" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:24 +msgid "" +"[#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): Add " +"MCST LCC C, C++ and Fortran compiler" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:26 +msgid "" +"[#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): Use " +"HEAD to reference default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:28 +msgid "" +"[#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): 2021 " +"review article draft" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:30 +msgid "" +"[#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): " +"Adding Fortran Error Handler to packages index" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:48 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:50 +msgid "" +"[#586](https://github.com/fortran-lang/stdlib/pull/586): Update of " +"stdlib_stats.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:52 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581): Add routines for" +" saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:54 +msgid "[#590](https://github.com/fortran-lang/stdlib/pull/590): Update changelog" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:56 +msgid "" +"[#588](https://github.com/fortran-lang/stdlib/pull/588): Error on no " +"tests in CTest" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:58 +msgid "" +"[#585](https://github.com/fortran-lang/stdlib/pull/585): " +"stdlib_selection: correction of typos and addition of some checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:60 +msgid "" +"[#591](https://github.com/fortran-lang/stdlib/pull/591): Fix compilation " +"errors with makefiles due to command-line variable assignments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:62 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273): Probability " +"Distribution and Statistical Functions -- Normal Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:64 +msgid "" +"[#584](https://github.com/fortran-lang/stdlib/pull/584): Replace the call" +" to sort by select in stdlib_stats_median" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:66 +msgid "" +"[#593](https://github.com/fortran-lang/stdlib/pull/593): Probability " +"Distribution and Statistical Functions -- Uniform Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:68 +msgid "" +"[#594](https://github.com/fortran-lang/stdlib/pull/594): Minor update to " +"makefile installation instructions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:70 +msgid "" +"[#596](https://github.com/fortran-lang/stdlib/pull/596): Rename " +"references to default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:72 +msgid "" +"[#600](https://github.com/fortran-lang/stdlib/pull/600): Fix iomsg " +"allocation in save_npy" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:74 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488): [stdlib_math] " +"add `is_close` routines." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:76 +msgid "" +"[#597](https://github.com/fortran-lang/stdlib/pull/597): Add getline to " +"read whole line from formatted unit" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498): [stdlib_math] " +"add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:80 +msgid "" +"[#603](https://github.com/fortran-lang/stdlib/pull/603): Implement " +"trueloc/falseloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:82 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573): Revised Hash " +"functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:84 +msgid "" +"[#609](https://github.com/fortran-lang/stdlib/pull/609): Consistent spec " +"titles" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:86 +msgid "" +"[#610](https://github.com/fortran-lang/stdlib/pull/610): Fixed tables in " +"stdlib_hash_procedures.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:88 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499): [stdlib_linalg] " +"matrix property checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:90 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:43 +msgid "" +"[#613](https://github.com/fortran-lang/stdlib/pull/613): Ignore hash " +"testing binaries and logs" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:95 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:52 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:46 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:60 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:78 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:66 +msgid "[#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): Hash maps" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:97 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): " +"[stdlib_math] Add function `diff`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:99 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:54 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:48 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:62 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:80 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:68 +msgid "" +"[#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): Add " +"get_argument, get_variable and set_variable" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:139 +msgid "" +"[#634](https://github.com/fortran-lang/fpm/pull/634): Better extraction " +"of the Fortran compiler from the MPI wrapper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:144 +msgid "" +"[#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): Replace " +"polymorphic assignment with move_alloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:146 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): allow " +"backfilling of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:160 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:138 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:119 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:131 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:149 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:133 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://fpm.fortran-lang.org/en/tutorial) to learn how to build " +"your package with fpm, and the [manifest reference](https://fpm.fortran-" +"lang.org/en/spec/manifest.html) to learn what are all the things that you" +" can specify in the fpm.toml file." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:180 +msgid "Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:181 +msgid "Add !fir.vector type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:182 +msgid "Add type conversion for `fir.boxchar`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:183 +msgid "Add !fir.alloca conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:184 +msgid "Add placeholder conversion pattern for disptach operations" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:185 +msgid "Add fir.select_case conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:186 +msgid "Add !fir.field type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:187 +msgid "Transform `IsPresentOpConversion` and `AbsentOpConversion`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:188 +msgid "Add type conversion for FIR heap type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:189 +msgid "Add type conversion for FIR integer kind" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:190 +msgid "Add !fir.len type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:191 +msgid "Transform `fir.emboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:192 +msgid "Add fir.select_type conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:193 +msgid "Remove extra return in SelectTypeOpConversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:194 +msgid "Transform `fir.unboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:195 +msgid "Add fir.global_len conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:196 +msgid "Add the FIR LLVMPointer Type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:197 +msgid "Add fir.cmpc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:198 +msgid "Add fir.gentypedesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:199 +msgid "Transform `fir.boxchar_len` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:200 +msgid "Add missing `HasParent` in `fir_DTEntryOp`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:201 +msgid "Add fir.string_lit conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:202 +msgid "Add conversion patterns for slice, shape, shapeshift and shift ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:203 +msgid "Add fir.box_tdesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:204 +msgid "!fir.tdesc type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:205 +msgid "Add fir.constc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:206 +msgid "Add fir.embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:207 +msgid "Notify conversion failure for Proc ops, types" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:208 +msgid "Add tests for mlir::ComplexType conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:209 +msgid "Add `fir.end` conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:210 +msgid "Transform `fir.field_index` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:211 +msgid "Add a factory class for creating Complex Ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:212 +msgid "Add fir.no_reassoc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:213 +msgid "Set !fir.len_param_index conversion to unimplemented" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:214 +msgid "Add base for runtime builder unittests" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:215 +msgid "Add fir transformational intrinsic builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:216 +msgid "Add assignment runtime API builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:217 +msgid "Add data flow optimization pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:218 +msgid "Add array value copy pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:219 +msgid "Add fir reduction builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:220 +msgid "Add fir numeric intrinsic runtime call builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:221 +msgid "Add fircg.ext_embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:222 +msgid "Add fir derived type runtime builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:223 +msgid "Add fir character builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:224 +msgid "Add fircg.ext_array_coor conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:225 +msgid "Upstream conversion of the XRebox Op" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:226 +msgid "" +"Convert fir.allocmem and fir.freemem operations to calls to malloc and " +"free, respectively" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:228 +msgid "Fix vector cshift runtime with non zero lower bounds" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:229 +msgid "Respect NO_STOP_MESSAGE=1 in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:230 +msgid "Runtime performance improvements to real formatted input" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:231 +msgid "Allow write after non advancing read in IO runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:232 +msgid "Fix reversed comparison in RESHAPE() runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:233 +msgid "Define & implement a lowering support API IsContiguous() in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:234 +msgid "Don't close stderr in runtime (fixes STOP output)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:235 +msgid "Return arrays in Transfer runtime with SIZE argument" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:236 +msgid "Fix INQUIRE(FILE=,NAME=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:237 +msgid "Add ragged array runtime functions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:238 +msgid "Allow exterior branch to outermost WHERE construct statement" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:239 +msgid "Fix ORDER= argument to RESHAPE" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:240 +msgid "Fix rounding edge case in F output editing" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:241 +msgid "Handle ENTRY names in IsPureProcedure() predicate" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:242 +msgid "Allow implicit procedure pointers to associate with explicit procedures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:243 +msgid "Fix a bug in INQUIRE(IOLENGTH=) output" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:244 +msgid "Remove default argument from function template specialization" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:245 +msgid "Check ArrayRef base for contiguity in IsSimplyContiguousHelper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:246 +msgid "Deal with negative character lengths in semantics" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:247 +msgid "Fix INQUIRE(PAD=) and (POSITION=) for predefined units" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:248 +msgid "Add a semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:249 +msgid "Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:250 +msgid "Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:251 +msgid "Fix printing of constc and parsing of #fir.real" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:252 +msgid "Predefine unit 0 connected to stderr" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:253 +msgid "Add -fno-automatic, refine IsSaved()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:254 +msgid "Correct the argument keyword for AIMAG(Z=...)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:255 +msgid "Inclusive language: remove instances of master" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:256 +msgid "Return true in IsSymplyContiguous for allocatables" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:257 +msgid "Fix usage & catch errors for MAX/MIN with keyword= arguments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:258 +msgid "Re-fold bounds expressions in DATA implied DO loops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:259 +msgid "Correct INQUIRE(POSITION= & PAD=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:260 +msgid "Rearrange prototype & code placement of IsCoarray()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:261 +msgid "Replace notifyMatchFailure with TODO hard failures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:262 +msgid "TargetRewrite: Rewrite fir.address_of(func)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:263 +msgid "Fix folding of EXPONENT() intrinsic function" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:264 +msgid "OPEN(RECL=) handling for sequential formatted I/O" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:265 +msgid "Avoid potential deadlock in CloseAll()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:271 +msgid "" +"Beginning of refactoring of ASR (Abstract Semantic Representation) into a" +" standalone library" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:272 +msgid "New intrinsics: mvbits, bge, bgt, ble, blt, ibits" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:273 +msgid "generic procedure resolution fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:274 +msgid "FreeBSD fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:275 +msgid "Implement `.xor.` (LFortran as well as GFortran extension)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:276 +msgid "Fixes to large integers (BigInt) handling" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:277 +msgid "Added support for `private`, `final` attributes in derived types/classes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:279 +msgid "" +"The following people contributed code in December 2021: Ondřej Čertík, " +"Gagandeep Singh, Harris Snyder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:286 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:251 +msgid "" +"fpm has a new documentation website hosted at [fpm.fortran-" +"lang.org](https://fpm.fortran-lang.org/). This website will provide user-" +"oriented tutorials and how-to guides, as well as developer-oriented " +"reference documents and specifications. We welcome all contributions to " +"the fpm documentation, including translations to other languages. Please " +"visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to " +"get started." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:294 +msgid "" +"We had our 21st Fortran Monthly call on December 14. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:297 +msgid "" +"We also wrote a review of the Fortran-lang projects in 2021. Read it " +"[here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-" +"review/)." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:312 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:275 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:291 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:266 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:388 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:494 +msgid "[fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:319 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:282 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:299 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:274 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:396 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:502 +msgid "[fortran-lang/test-drive](https://github.com/fortran-lang/test-drive)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:9 +msgid "" +"Welcome to the February 2022 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:19 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:19 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:33 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:21 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:21 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:19 +msgid "" +"[#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): Fix " +"time calculation in the PRs script" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:39 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276): Probability " +"Distribution and Statistical Functions -- Exponential Distribution Module" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:41 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605): [stdlib_math] " +"Add function `diff`" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:45 +msgid "" +"[#617](https://github.com/fortran-lang/stdlib/pull/617): Made format " +"constant public" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:47 +msgid "" +"[#622](https://github.com/fortran-lang/stdlib/pull/622): Fix Gauss " +"quadrature" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:92 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630): allow backfilling " +"of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:94 +msgid "" +"[#646](https://github.com/fortran-lang/fpm/pull/646): Respect user " +"provided main-files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:96 +msgid "" +"[#645](https://github.com/fortran-lang/fpm/pull/645): Update module " +"output directory command for flang-new/f18" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:98 +msgid "" +"[fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) [fpm-" +"docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) [fpm-" +"docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) [fpm-" +"docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) [fpm-" +"docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) [fpm-" +"docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): French " +"translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:105 +msgid "" +"[fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): Add " +"testing workflow for source examples" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:107 +msgid "" +"[fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): Update " +"Spanish translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:109 +msgid "" +"[fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): zh_CN: " +"Update Chinese translations" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:114 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): Ignore hidden" +" source files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:116 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:105 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:119 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:137 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:121 +msgid "" +"[#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): Enable " +"profiles in toml" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:118 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): Get user name" +" and email using got config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:120 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): Add note " +"about relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:130 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): " +"Dutch translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:132 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): " +"Chinese translation improvements" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:158 +msgid "Keep runtime function name in comment" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:159 +msgid "Add a conversion for !fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:160 +msgid "Add a new memory allocation rewrite pass." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:161 +msgid "Correct and reenable test that was removed by MLIR." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:162 +msgid "Fix overallocation by fir-to-llvm-ir pass" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:164 +msgid "Add some semantic checks for threadprivate and declare target directives" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:165 +msgid "Simplify RaggedArrayHeader and make it plain C struct" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:166 +msgid "Fix folding of ac-implied-do indices in structure constructors" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:167 +msgid "Avoid code duplication in mixed expressions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:168 +msgid "Add test with shape for allocmem and freemem" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:169 +msgid "Make the frontend driver error out when requesting multiple actions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:170 +msgid "Add semantics tests for co_reduce, co_min, and co_max" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:171 +msgid "Use GNUInstallDirs to support custom installation dirs." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:172 +msgid "Enable support for conversion of recursive record types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:173 +msgid "Separate temporary and user-specified object files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:174 +msgid "update to reflect MLIR LLVM::GEPOp changes" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:175 +msgid "Do not lose call in shape inquiry on function reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:176 +msgid "Fix the documentation on how to build flang" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:177 +msgid "Add tests for converting arrays and refs to arrays" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:178 +msgid "Make the \"flang\" wrapper script check the Bash version" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:179 +msgid "Fix handling of space between # and name in preprocessor stringification" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:180 +msgid "RESHAPE(PAD=) can be arbitrary array rank" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:181 +msgid "" +"Any type can appear in a structure constructor for an unlimited " +"polymorphic allocatable component" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:182 +msgid "Implement semantics for DEC STRUCTURE/RECORD" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:183 +msgid "Extension: initialization of LOGICAL with INTEGER & vice versa" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:184 +msgid "Allow initialization in blank COMMON" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:185 +msgid "Support extension intrinsic function variations on ABS" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:186 +msgid "Allow pointers to non-sequence types in sequence types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:187 +msgid "\"CFI\" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:188 +msgid "Legacy extension: non-character formats" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:189 +msgid "Signal runtime error on WRITE after ENDFILE" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:190 +msgid "Don't blank-fill remaining lines in internal output" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:191 +msgid "Accept ENTRY names in generic interfaces" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:192 +msgid "Support substring references in NAMELIST input" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:198 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:311 +msgid "**Compiling `stdlib` with `lfortran`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:200 +msgid "" +"[stdlib: Implement `AINT` intrinsic " +"Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:201 +msgid "" +"[Draft: Sprint Bug fixing to compile stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:203 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:317 +msgid "**Addition of ASR Optimization Passes**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:205 +msgid "" +"[Added pass for converting division to multiplication " +"operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:206 +msgid "" +"[Adding LLVM backend for flip " +"sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:208 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:323 +msgid "**`libasr`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:210 +msgid "" +"[Move more header files into " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:211 +msgid "" +"[Move exception.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:212 +msgid "" +"[Move string_utils.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:213 +msgid "" +"[Move location.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:214 +msgid "" +"[Move stacktrace.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:215 +msgid "" +"[Move colors.h and asr_scopes.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:216 +msgid "" +"[Move bwriter.h and modfile.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:217 +msgid "" +"[Move config.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:218 +msgid "" +"[CI: do not run parent cmake in libasr " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:219 +msgid "" +"[Split " +"serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:220 +msgid "" +"[Nullify in ASR, LLVM, scalar " +"types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:221 +msgid "" +"[Remove unused " +"SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:222 +msgid "" +"[Separate evaluators into LFortran and libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:223 +msgid "" +"[utils.h and parser.h split into lfortran/libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:224 +msgid "" +"[Expose rl_path from " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:225 +msgid "" +"[CI: build libasr in an isolated " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:226 +msgid "" +"[Use the libasr's CMakeLists in LFortran's " +"one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:227 +msgid "" +"[Refactored `libasr/pass` framework and some bug " +"fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:229 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:348 +msgid "**Miscellaneous**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:231 +msgid "" +"[fixes for windows compilation (defining NOMINMAX), installation-" +"instructions for Windows/Visual " +"Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:232 +msgid "" +"[Update " +"gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:233 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:234 +msgid "" +"[Abstracting out, visit_Program, visit_Subroutine, visit_Function, state " +"variables from " +"passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:235 +msgid "" +"[Draft: Add a test for " +"pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:236 +msgid "" +"[Fix order deps " +"ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:237 +msgid "" +"[link to static zlib to avoid runtime " +"dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:361 +msgid "**Contributors**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:364 +msgid "[Ondřej Čertík](https://gitlab.com/certik)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:242 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:363 +msgid "[Gagandeep Singh](https://gitlab.com/czgdp18071)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:243 +msgid "[Dominic Poerio](https://gitlab.com/dpoe)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:244 +msgid "[Tobias Loew](https://gitlab.com/tobias-loew)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:245 +msgid "[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:259 +msgid "" +"We had our 22st Fortran Monthly call on January 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:9 +msgid "" +"Welcome to the March edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:17 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:17 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:17 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:17 +msgid "Here's what's new in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:39 +msgid "" +"[#624](https://github.com/fortran-lang/stdlib/pull/624): [stdlib_math] " +"Minor update to `stdlib_math` module and document" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:44 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:58 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:76 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:64 +msgid "" +"[#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): Gamma " +"special function" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:86 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652): get user name and " +"email using git config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:88 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654): Ignore hidden " +"source files" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:90 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622): Cleanup the backend" +" output" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:92 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648): Add note about " +"relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:94 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): Dutch " +"translation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:96 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): Chinese " +"translation improvements" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:98 +msgid "" +"[fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): Update " +"plugin tutorial" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:103 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:117 +msgid "" +"[#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): add clean " +"command" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:113 +msgid "" +"[fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): " +"Add page about fpm logo" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:139 +msgid "Initial lowering for empty program" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:140 +msgid "Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:141 +msgid "Add lowering placeholders" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:142 +msgid "Add lowering for basic empty SUBROUTINE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:143 +msgid "Upstream partial lowering of EXIT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:144 +msgid "Lower basic STOP statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:145 +msgid "Lower PAUSE statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:146 +msgid "Add lowering for integer constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:147 +msgid "Lower integer constant code for STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:148 +msgid "Add fir.array_access op" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:149 +msgid "Add fir.array_amend operation definition" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:150 +msgid "Handle logical constant value for quiet in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:151 +msgid "Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:152 +msgid "Basic local variable lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:153 +msgid "Add lowering for ASCII character constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:154 +msgid "Handle character constant for error code in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:155 +msgid "Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:156 +msgid "Add missing CFI case for REAL and COMPLEX" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:157 +msgid "Add support for lowering the goto statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:158 +msgid "Add type conversion for !fir.box" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:159 +msgid "Add FIRInlinerInterface" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:160 +msgid "Lower simple RETURN statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:161 +msgid "" +"Upstream fix to allocmem codegen to deal with missing dimensions for " +"sequence of character types" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:162 +msgid "Lower basic function with scalar integer/logical return value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:163 +msgid "Enable scalar real type in lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:164 +msgid "Enable complex type in function lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:165 +msgid "Handle lowering of ranked array" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:166 +msgid "Lower simple scalar assignment" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:167 +msgid "Lower scalar negation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:168 +msgid "Lower basic binary operation for scalars" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:169 +msgid "Initial patch to lower a Fortran intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:170 +msgid "Lower real constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:171 +msgid "Lower complex constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:172 +msgid "Lower function and subroutine calls" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:173 +msgid "Handle allocatable dummy arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:174 +msgid "Lower allocatable assignment for scalar" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:175 +msgid "Simple array assignment lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:176 +msgid "Lower simple character return" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:177 +msgid "Lower Fortran intrinsic to a runtime call/llvm intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:178 +msgid "Lower integer comparison operation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:179 +msgid "Lower real comparison operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:180 +msgid "Lower logical comparison and logical operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:181 +msgid "Lower power operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:182 +msgid "Add complex operations lowering tests" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:183 +msgid "Lower basic IO statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:184 +msgid "Handle dynamic array lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:186 +msgid "Add support for `-emit-mlir`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:187 +msgid "Add support for `-emit-llvm`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:188 +msgid "Make `flang-new` always generate run-time type info" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:189 +msgid "Add support for `--target`/`--triple`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:191 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for atomic update " +"construct" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:192 +msgid "The device expression must evaluate to a non-negative integer value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:193 +msgid "" +"Remove clauses from OpenMP Dialect that are handled by the flang frontend" +" instead:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:194 +msgid "private, firstprivate, lastprivate, shared, default, copyin, copyprivate" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:196 +msgid "Implement a runtime routine to report fatal errors with source position" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:197 +msgid "Rename the runtime routine that reports a fatal user error" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:198 +msgid "runtime perf: larger I/O buffer growth increments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:199 +msgid "Add runtime interface for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:200 +msgid "Upstream runtime changes for inquiry intrinsics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:201 +msgid "Improve error message (initialized variable in pure subprogram)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:202 +msgid "Accept BOZ literals for some actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:203 +msgid "Accept sparse argument keyword names for MAX/MIN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:204 +msgid "Accept INDEX(..., BACK=array)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:205 +msgid "Fix OPEN/WRITE(SIGN='SUPPRESS')" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:206 +msgid "Handle FLUSH(unknown unit)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:207 +msgid "Allow explicit '+' in NAMELIST input subscripts" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:208 +msgid "Extension: skip over NAMELIST groups" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:209 +msgid "Add array operations documentation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:210 +msgid "Fix crash from USE-associated defined I/O subprograms" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:211 +msgid "Allow INQUIRE() on a child unit in user-defined I/O procedure" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:212 +msgid "Don't drop format string for external child I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:213 +msgid "Support DECIMAL='COMMA' mode in namelist I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:214 +msgid "Update tco tool pipline and add translation to LLVM IR" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:215 +msgid "Add MemoryAllocation pass to the pipeline" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:216 +msgid "Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:217 +msgid "Add a custom target for the \"flang\" wrapper script." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:218 +msgid "split character procedure arguments in target-rewrite pass" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:219 +msgid "Expand the semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:220 +msgid "Correct interpretation of RECL=" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:221 +msgid "Distinguish intrinsic from non-intrinsic modules" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:222 +msgid "" +"Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit " +"numbers" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:223 +msgid "Modify right modes for READ/WRITE vs OPEN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:224 +msgid "Add a semantics test for co_broadcast" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:225 +msgid "catch implicit interface incompatibility with global scope symbol" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:226 +msgid "Add an assert to guard against nullptr dereferencing" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:227 +msgid "Fix FlangOptimizerTests link on Solaris" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:228 +msgid "Handle \"type(foo) function f\" when foo is defined in f" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:229 +msgid "Refine pointer/target test for ASSOCIATED intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:230 +msgid "Allow mixed association of procedure pointers and targets" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:231 +msgid "Fix edge case in USE-associated generics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:232 +msgid "Fail at link time if derived type descriptors were not generated" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:233 +msgid "Allow for deferred-length character in EstablishDescriptor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:234 +msgid "Allow DATA initialization of derived types w/ allocatable components" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:235 +msgid "" +"Accept NULL(mold=x) as constant component value in constant structure " +"constructor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:236 +msgid "Ensure a characterized ENTRY in a PURE subprogram is also marked PURE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:237 +msgid "Accept structure constructor value for polymorphic component" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:238 +msgid "Remove deprecated parser/printer/verifier utilities" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:239 +msgid "Accept pointer assignment w/ remapping to function result" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:240 +msgid "Allow extension cases of EQUIVALENCE with optional warnings" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:241 +msgid "Handle CALL C_F_POINTER(without SHAPE=)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:242 +msgid "Make source location more accurate for actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:243 +msgid "Add Win32 to the list of supported triples" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:244 +msgid "Allow tabs as white space in formats" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:245 +msgid "Do not print format tabs" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:246 +msgid "Catch I/O of bad derived type at compile time" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:247 +msgid "Allow more concurrently open NEWUNIT= values, with recycling" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:253 +#, python-format +msgid "" +"LFortran is participating in GSoC, please see [GSoC 2022 Student " +"Instructions for " +"LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions)" +" for instructions how to apply" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:254 +msgid "19 Merge Requests merged" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:255 +msgid "New ASR optimizations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:256 +msgid "Addes support for fma (fused-multiply add) in LLVM" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:257 +msgid "Semantic improves to compile more of stdlib" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:263 +msgid "" +"Fortran-lang has been selected as a mentoring organization for Google " +"Summer of Code 2022! Thanks to everybody who helped prepare the " +"application. [GSoC](https://summerofcode.withgoogle.com/) is Google's " +"global, online program that allows newcomers to open-source to work on a " +"project and get paid for it. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. " +"Applications for contributors open **April 4** and close **April 19**. To" +" learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate as a contributor or a mentor, please let us know in this " +"thread and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:270 +msgid "" +"Fortran-lang community now maintains a modernized fork of the classic " +"library [minpack](https://github.com/fortran-lang/minpack). Give it a " +"try!" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:272 +msgid "" +"We had our 23rd Fortran Monthly call on February 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:275 +msgid "" +"US Fortran Standards Committee meeting #226 started on February 28. See " +"the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt)" +" and the submitted papers [here](https://j3-fortran.org/doc/meeting/226)." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:298 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:273 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:395 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:501 +msgid "[fortran-lang/minpack](https://github.com/fortran-lang/minpack)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:9 +msgid "" +"Welcome to the April edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:19 +msgid "" +"[#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): " +"Newsletter for March 2022" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:21 +msgid "" +"[#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): " +"Updated VS Code extensions" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:23 +msgid "" +"[#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): add " +"string array to learn" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:25 +msgid "" +"[#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): " +"Resolves typos #377" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:30 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:45 +msgid "" +"[#632](https://github.com/fortran-lang/stdlib/pull/632): doc: fix some " +"typos" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:47 +msgid "" +"[#629](https://github.com/fortran-lang/stdlib/pull/629): option to " +"disable testing by setting BUILD_TESTING to OFF" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:49 +msgid "" +"[#631](https://github.com/fortran-lang/stdlib/pull/631): Preparation for " +"0.2.0 release" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:51 +msgid "" +"[#637](https://github.com/fortran-lang/stdlib/pull/637): Only set Fortran" +" arguments for Fortran compiler" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:53 +msgid "" +"[#642](https://github.com/fortran-lang/stdlib/pull/642): Fix linking " +"issue with shared libraries" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:100 +msgid "" +"[#675](https://github.com/fortran-lang/fpm/pull/675): Fix for backtrace " +"error when file not found in: src/fpm_source_parsing.f90" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:102 +msgid "" +"[#677](https://github.com/fortran-lang/fpm/pull/677): Fix issue with " +"backend pretty output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:104 +msgid "" +"[#684](https://github.com/fortran-lang/fpm/pull/684): fix: remove remove " +"unnecessary space in fpm new cmd" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:106 +msgid "" +"[#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): " +"Update to v4 in usage example in README" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:111 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:131 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:119 +msgid "" +"[#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): fix: function" +" for getting executable path" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:113 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:133 +msgid "" +"[#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): Tree shaking " +"for modules" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:115 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:135 +msgid "" +"[#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): Add `library-" +"dir` to support `-Lpath`" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:151 +msgid "Lower IO open and close statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:152 +msgid "Lower basic IO file statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:153 +msgid "Lower inquire statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:154 +msgid "Handle module in lowering pass" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:155 +msgid "Lower more cases of assignments on allocatable variables" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:156 +msgid "Add lowering for host association" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:157 +msgid "Lower allocate and deallocate statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:158 +msgid "Lower sum intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:159 +msgid "Lower computed and assigned goto" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:160 +msgid "Lower associate construct" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:161 +msgid "Update ArrayValueCopy to support array_amend and array_access" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:162 +msgid "Lower more array character cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:163 +msgid "Lower basic derived types" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:164 +msgid "Lower where statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:165 +msgid "Lower general forall statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:166 +msgid "Lower pointer component in derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:167 +msgid "Lower of elemental calls in array expression" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:168 +msgid "Add tests for allocatable global" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:169 +msgid "Add support for linkonce_odr in FIR" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:170 +msgid "Lower elemental calls" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:171 +msgid "Lower ALL intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:172 +msgid "Lower common block" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:173 +msgid "Lower format statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:174 +msgid "Write a pass to annotate constant operands on FIR ops" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:175 +msgid "Lower ANY intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:176 +msgid "Add support for lowering the dot_product intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:177 +msgid "Add support for lowering the dim intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:178 +msgid "Add support for lowering of the ibits intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:179 +msgid "Lower more pointer assignments/disassociation cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:180 +msgid "Lower entry statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:181 +msgid "Lower alternate return" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:182 +msgid "Lower allocated intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:183 +msgid "" +"Add lowering for the following character related intrinsics: len, " +"len_trim, lge, lgt, lle and llt" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:184 +msgid "Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:185 +msgid "Lower random_[init|number|seed] intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:186 +msgid "Lower date_and_time and cpu_time intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:187 +msgid "Lower system_clock intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:188 +msgid "Add support for lowering of the ibset intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:189 +msgid "Lower transfer instrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:190 +msgid "Lower adjustl and adjustr intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:191 +msgid "Lower count intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:192 +msgid "Add lowering for the set_exponent intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:194 +msgid "Add support for -debug-dump-pft" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:195 +msgid "Add support for -S and implement -c/-emit-obj" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:196 +msgid "Add support for -mllvm" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:198 +msgid "[mlir]Generating enums in accordance with the guidelines" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:199 +msgid "Added basic connect to lower OpenMP constructs" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:200 +msgid "Support for dump OpenMP/OpenACC declarative directives PFT in module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:201 +msgid "Add OpenMP and OpenACC flags to bbc" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:202 +msgid "Allow data transfer stmt control list errors to be caught" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:203 +msgid "Extension: don't require commas between most edit descriptors in formats" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:204 +msgid "Fix result type of \"procedure(abs) :: f\"" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:205 +msgid "Catch READ/WRITE on direct-access file without REC=" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:206 +msgid "Honor RECL= in list-directed/namelist output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:207 +msgid "Accommodate module subprograms defined in the same module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:208 +msgid "Extend ProvenanceRange::Suffix() to handle crash case" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:209 +msgid "Remove bogus messages for actual/dummy procedure argument compatibility" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:210 +msgid "Support PDT type descriptors in codegen" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:211 +msgid "Handle optional TARGET associate in ASSOCIATED runtime" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:212 +msgid "Generate PDT runtime type info in the type definition scope" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:213 +msgid "Accommodate arrays with a zero-extent dimension in location folding" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:214 +msgid "Avoid crash case in provenance mapping" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:215 +msgid "Make per-argument intrinsic error messages more localized" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:216 +msgid "Use faster path for default formatted character input" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:217 +msgid "Runtime validation of SPREAD(DIM=dim) argument" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:218 +msgid "" +"Make uninitialized allocatable components explicitly NULL() in structure " +"constructors" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:219 +msgid "Fix module file missing USE for shadowed derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:220 +msgid "Add nonfatal message classes" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:221 +msgid "Distinguish usage and portability warning messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:222 +msgid "Use unix logical representation for fir.logical" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:223 +msgid "Fix extent computation in finalization" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:224 +msgid "Fix processing ModuleLikeUnit evaluationList" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:225 +msgid "Do not return true for pointer sub-object in IsPointerObject" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:226 +msgid "Fix DYLIB builds" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:227 +msgid "Improve runtime crash messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:228 +msgid "Add runtime support for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:229 +msgid "IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:230 +msgid "LBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:231 +msgid "Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:232 +msgid "fulfill -Msave/-fno-automatic in main programs too" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:233 +msgid "Relax fir.rebox verifier with characters" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:243 +msgid "" +"The \"State of Fortran\" paper by Kedward et al. has been accepted for " +"publication in the IEEE journal Computing in Science and Engineering " +"(CiSE). You can read the pre-print on " +"[arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early " +"Access on the [CiSE " +"website](https://ieeexplore.ieee.org/document/9736688)." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:245 +msgid "" +"The contributor application window for this year's [Google Summer of " +"Code](https://summerofcode.withgoogle.com) is approaching fast. It opens " +"**April 4** and closes **April 19**. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. To " +"learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate, please let us know and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:250 +msgid "" +"We had our 24th Fortran Monthly call on March 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:9 +msgid "" +"Welcome to the May edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:21 +msgid "" +"[#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): " +"Newsletter for April 2022" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:23 +msgid "" +"[#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): Add " +"librsb to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:25 +msgid "" +"[#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): Add " +"Elk to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:27 +msgid "" +"[#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): Add " +"pencil-code to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:29 +msgid "" +"[#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): Add " +"PROPACK to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:31 +msgid "" +"[#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): Add " +"feed link to HTML head element" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:35 +msgid "" +"[#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): fix " +"dependency of include files under `learn/building_programs` mini-book" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:40 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:26 +msgid "" +"[#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): " +"Add NUFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:42 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:28 +msgid "" +"[#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): " +"Add OpenFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:44 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:30 +msgid "" +"[#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): " +"Add 2DECOMP&FFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:46 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:32 +msgid "" +"[#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): " +"Add SLICOT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:48 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:34 +msgid "" +"[#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): " +"Add FATODE to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:63 +msgid "" +"[#646](https://github.com/fortran-lang/stdlib/pull/646): Export symbols " +"on Windows and set PIC flag for Unix" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:65 +msgid "" +"[#651](https://github.com/fortran-lang/stdlib/pull/651): Bugfix release " +"version 0.2.1" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:70 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): Add hint " +"for building error with make" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:72 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): fixed " +"32-bit integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:74 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:62 +msgid "" +"[#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): Feature: " +"loadtxt skiprows and max_rows" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:118 +msgid "" +"[#688](https://github.com/fortran-lang/fpm/pull/688): Small fix for " +"fpm_model" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:120 +msgid "[#665](https://github.com/fortran-lang/fpm/pull/665): add clean command" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:125 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): Fix show-" +"model option" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:127 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:129 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:117 +msgid "" +"[#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): fix: remove " +"extra space from help-test cmd" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:169 +msgid "Lower various intrinsics:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:170 +msgid "" +"character related intrinsics, array related intrinsics, index intrinsics," +" present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, " +"command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, " +"sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, " +"log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:171 +msgid "Add IO lowering test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:172 +msgid "Add more lowering tests for dummy arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:173 +msgid "Add equivalence lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:174 +msgid "Add array constructor lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:175 +msgid "Lower more array expressions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:176 +msgid "Lower statement function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:177 +msgid "Lower length on character storage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:178 +msgid "Lower select case statement" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:179 +msgid "Add OpenMP Conversion patterns" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:180 +msgid "Lower procedure designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:181 +msgid "Lower boxed procedure" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:182 +msgid "Flush and master constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:183 +msgid "Add lowering C interoperability test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:184 +msgid "Add misc lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:185 +msgid "Handle zero extent case in LBOUND" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:186 +msgid "Lower some coarray statements to their runtime function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:187 +msgid "Options to lower math intrinsics to relaxed, precise variants" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:188 +msgid "Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:189 +msgid "Added lowering support for atomic read and write constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:190 +msgid "fix LBOUND lowering with KIND and no DIM arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:191 +msgid "Keep fully qualified !fir.heap type for fir.freemem op" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:192 +msgid "Update the conversion code for fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:193 +msgid "Set lower bounds of array section fir.embox to one" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:194 +msgid "Fix fir.embox codegen with constant interior shape" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:195 +msgid "Do not fold fir.box_addr when it has a slice" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:197 +msgid "Make --version and -version consistent with clang" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:198 +msgid "Add support for -mmlir" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:199 +msgid "Make the plugin API independent of the driver internals" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:200 +msgid "Add support for generating executables" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:202 +msgid "Lowering critical construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:203 +msgid "Added assembly format for omp.wsloop and remove parseClauses" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:204 +msgid "Added lowering support for sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:205 +msgid "Added ReductionClauseInterface" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:206 +msgid "Added parallel sections translation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:207 +msgid "" +"Revert \"[Flang][OpenMP] Add semantic check for OpenMP Private, " +"Firstprivate and Lastprivate clauses.\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:208 +msgid "Added allocate clause translation for OpenMP block constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:209 +msgid "Support export/import OpenMP Threadprivate Flag" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:210 +msgid "Add implementation of privatisation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:211 +msgid "Add checks and tests for hint clause and fix empty hint" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:212 +msgid "OpenACC" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:213 +msgid "Lower enter data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:214 +msgid "Lower exit data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:215 +msgid "Lower init/shutdown directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:216 +msgid "Lower update directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:217 +msgid "Lower data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:218 +msgid "Lower wait directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:220 +msgid "Error recovery improvement in runtime (IOMSG=)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:221 +msgid "Initial UTF-8 support in runtime I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:222 +msgid "Ensure PointerDeallocate actually deallocate pointers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:223 +msgid "Add runtime API to catch unit number out of range" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:224 +msgid "Prefer process time over thread time in CPU_TIME" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:225 +msgid "Raise FP exceptions from runtime conversion to binary" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:226 +msgid "Preserve effect of positioning in record in non-advancing output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:227 +msgid "Don't skip input spaces when they are significant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:228 +msgid "Fix ENDFILE for formatted stream output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:229 +msgid "Don't emit empty lines for bad writes" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:230 +msgid "Ignore leading spaces even in BZ mode" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:231 +msgid "Fix edge-case FP input bugs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:232 +msgid "Enforce some limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:233 +msgid "Signal record read overrun when PAD='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:234 +msgid "Fix KIND=16 real/complex component I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:235 +msgid "Fix total MAXLOC/MINLOC for non-integer data" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:236 +msgid "Handle allocatable components when creating array temps" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:237 +msgid "[Parser] Add a node for individual sections in sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:238 +msgid "Add explanatory messages to grammar for language extensions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:239 +msgid "" +"Convert RUNTIME_CHECK to better error for user errors in " +"transformational.cpp" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:240 +msgid "Accept legacy aliases for intrinsic function names" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:241 +msgid "Expose error recovery cases in external I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:242 +msgid "Fix crash: ENTRY with generic interface of the same name" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:243 +msgid "Fold DBLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:244 +msgid "Single construct translation from PFT to FIR" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:245 +msgid "UBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:246 +msgid "Make not yet implemented messages more consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:247 +msgid "Fix LBOUND rewrite on descriptor components" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:248 +msgid "Ensure descriptor lower bounds are LBOUND compliant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:249 +msgid "Fix cycle-catcher in procedure characterization" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:250 +msgid "Fix bogus error from assignment to CLASS(*)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:251 +msgid "Mark C_ASSOCIATED specific procedures as PURE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:252 +msgid "Catch bad OPEN(STATUS=) cases" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:253 +msgid "Fold NEAREST() and its relatives" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:254 +msgid "Prevent undefined behavior in character MAXLOC folding" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:255 +msgid "Fix invalid overflow check" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:256 +msgid "Skip D when including D debug line" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:257 +msgid "Allow user to recover from bad edit descriptor with INTEGER" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:258 +msgid "Fold instantiated PDT character component length when needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:259 +msgid "Add one semantic check for allocatable/pointer argument association" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:260 +msgid "[cmake] Make CMake copy \"omp_lib.h\" into the build directory" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:261 +msgid "Handle dynamically optional argument in EXIT" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:262 +msgid "Fix semantic analysis for \"forall\" targeted by \"label\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:263 +msgid "Emit a portability warning for padding in COMMON" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:264 +msgid "Expand the num_images test coverage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:265 +msgid "Fold IBITS() intrinsic function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:266 +msgid "Error handling for out-of-range CASE values" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:267 +msgid "Respect left tab limit with Tn editing after ADVANCE='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:268 +msgid "Allow IMPLICIT NONE(EXTERNAL) with GenericDetails" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:269 +msgid "Do not ICE on out-of-range data statement designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:270 +msgid "Fix ICE for sqrt(0.0) evaluation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:271 +msgid "Fix float-number representation bug" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:272 +msgid "Fix intrinsic interface for DIMAG/DCONJG" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:273 +msgid "Improve appearance of message attachments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:274 +msgid "Fix combining cases of USE association & generic interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:275 +msgid "Defer all function result type processing" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:276 +msgid "Always encode multi-byte output in UTF-8" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:277 +msgid "Fix shape analysis of RESHAPE result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:278 +msgid "Use full result range for clock_gettime implementation of SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:279 +msgid "Correct interaction between generics and intrinsics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:280 +msgid "Make F0.1 output editing of zero edge case consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:281 +msgid "Inner INTRINSIC must not shadow host generic" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:282 +msgid "Local generics must not shadow host-associated generics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:283 +msgid "Fix TYPE/CLASS IS (T(...)) in SELECT TYPE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:284 +msgid "Allow modification of construct entities" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:285 +msgid "Defer NAMELIST group item name resolution" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:286 +msgid "Accept TYPE(intrinsic type) in declarations only for non-extension type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:287 +msgid "Finer control over error recovery with GetExpr()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:288 +msgid "Handle parameter-dependent types in PDT initializers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:289 +msgid "Upgrade short actual character arguments to errors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:290 +msgid "Allow POINTER attribute statement on procedure interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:291 +msgid "Accept KIND type parameter inquiries on RE, IM, etc." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:292 +msgid "Add & use a better visit()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:293 +msgid "Fix regression with recent work on intrinsic/generic interactions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:294 +msgid "Do not pass derived type by descriptor when not needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:295 +msgid "Fix LBOUND() folding for constant arrays" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:296 +msgid "Set LBOUND() folding for (x) expression as ones" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:297 +msgid "Semantics limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:298 +msgid "Do not ICE on recursive function definition in function result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:299 +msgid "Fold transformational bessels when host runtime has bessels" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:300 +msgid "Do not create arith.extui with same from/to type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:301 +msgid "Disambiguate F(X)=Y case where F is a function returning a pointer" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:302 +msgid "Avoid global name conflict when BIND(C,NAME=) is used" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:303 +msgid "Accept \"INFINITY\" as real input" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:304 +msgid "Add semantic checks for intrinsic function REDUCE()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:305 +msgid "Fix crash from PDT component init in module file" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:307 +msgid "" +"Call notes are recorded and publicly available " +"[here](https://docs.google.com/document/d/1Z2U5UAtJ-" +"Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit)." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:313 +msgid "" +"[Fixes for intrinsics while compiling `stdlib` using " +"`lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:314 +msgid "" +"[Draft: Stdlib " +"sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:315 +msgid "" +"[Draft: Sprint Compiling stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:319 +msgid "" +"[Implementing dead code elemination " +"optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:320 +msgid "" +"[Supporting duplication of Function/Subroutine " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:321 +msgid "" +"[Implementing loop unrolling optimization for fixed sized " +"loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:325 +msgid "" +"[AST->ASR: Remove " +"current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:326 +msgid "" +"[Added support keyword argument in class " +"procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:327 +msgid "" +"[Implementing ArrayBound node to replace `lbound`, `ubound` as function " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:328 +msgid "" +"[Implementing `Block` and " +"`BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:329 +msgid "" +"[Made scope private in SymbolTable struct and added interface methods to " +"modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:330 +msgid "" +"[Removing dead code which treats size intrinsic as " +"function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:331 +msgid "" +"[Implementing `ArraySize` node to replace function call to " +"`size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:332 +msgid "" +"[Fixing " +"adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:333 +msgid "" +"[Implementing " +"AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:334 +msgid "" +"[Move ASR.asdl into the src/libasr " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:335 +msgid "" +"[Fixing handling of return " +"type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:336 +msgid "" +"[Fill function in FunctionCall of len expr of Character type after " +"completing symbol " +"table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:337 +msgid "" +"[Fixing inline function calls pass to skip " +"intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:338 +msgid "" +"[Draft: ASR: Add all intrinsic operations into ASR " +"itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:341 +msgid "**WASM**" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:343 +msgid "[Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:344 +msgid "" +"[draft: Wasm Intial " +"Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:345 +msgid "" +"[draft: Compiling LFortran to " +"WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:350 +msgid "" +"[bind(c): Fix " +"call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:351 +msgid "" +"[bind(c): Add tests for i64, f32, " +"f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:352 +msgid "" +"[Fix a bug in a " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:353 +msgid "" +"[Add a test for calling Fortran from " +"C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:354 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:355 +msgid "" +"[CI: add git " +"safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:356 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:357 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:358 +msgid "" +"[Adding and Improving " +"tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:359 +msgid "" +"[Remove --target install and CMAKE_INSTALL_PREFIX from " +"build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:365 +msgid "[Ubaid Shaikh](https://gitlab.com/shaikhubaid769)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:371 +msgid "" +"We had our 25th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:374 +msgid "" +"Visual Studio Code's popular [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang" +".linter-gfortran) extension joined the [fortran-lang " +"GitHub](https://github.com/fortran-lang/vscode-fortran-support) " +"organization." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:376 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:482 +msgid "" +"Join and follow the [Fortran Discourse](https://fortran-" +"lang.discourse.group) to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:9 +msgid "" +"Welcome to the June edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:19 +msgid "" +"[#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): " +"Newsletter May 2022" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:21 +msgid "" +"[#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): Add " +"SeisSol to package index" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:49 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656): Add hint for " +"building error with make" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:51 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655): fixed 32-bit " +"integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:53 +msgid "" +"[#657](https://github.com/fortran-lang/stdlib/pull/657): Remove support " +"for manual make builds" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:58 +msgid "" +"[#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): Fix " +"erroneous gaussian quadrature points in gauss_legendre" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:60 +msgid "" +"[#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): Readme " +"update" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:108 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:110 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693): Fix show-model " +"option" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:115 +msgid "" +"[#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): Some cleanups" +" and minor fixes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:151 +msgid "Initial lowering of the Fortran Do loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:152 +msgid "Lower Unstructured do loops" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:154 +msgid "Define the default frontend driver triple" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:155 +msgid "Add support for consuming LLVM IR/BC files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:156 +msgid "Add support for -save-temps" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:157 +msgid "Switch to the MLIR coding style in the driver" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:158 +msgid "Fix driver method names overridden by the plugins" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:159 +msgid "Support parsing response files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:160 +msgid "Make driver accept -module-dir" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:161 +msgid "Add support for generating executables on MacOSX/Darwin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:163 +msgid "Add lowering stubs for OpenMP/OpenACC declarative constructs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:164 +msgid "Added tests for taskwait and taskyield translation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:165 +msgid "Restrict types for omp.parallel args" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:166 +msgid "Add omp.cancel and omp.cancellationpoint." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:167 +msgid "Initial lowering of the OpenMP worksharing loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:168 +msgid "Lowering for task construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:169 +msgid "Support lowering to MLIR for ordered clause" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:170 +msgid "Support for Collapse" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:171 +msgid "Upstream the lowering of the parallel do combined construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:172 +msgid "Fix the types of worksharing-loop variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:173 +msgid "Change the OpenMP atomic read/write test cases" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:175 +msgid "Correct emission & reading of unterminated final records" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:176 +msgid "Support B/O/Z editing of CHARACTER" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:177 +msgid "Use 1-based dim in transformational runtime error msg" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:178 +msgid "Change \"unsupported\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:179 +msgid "Fix input of NAN(...) on non-fast path" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:180 +msgid "Don't pad CHARACTER input at end of record unless PAD='YES'" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:181 +msgid "Enforce restrictions on unlimited format repetition" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:182 +msgid "(G0) for CHARACTER means (A), not (A0)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:183 +msgid "BACKSPACE after non-advancing I/O" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:184 +msgid "Use proper prototypes in Fortran_main. NFCI" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:185 +msgid "Clean up asynchronous I/O APIs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:186 +msgid "INQUIRE(UNIT=666,NUMBER=n) must set n=666" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:187 +msgid "Handle BACKSPACE after reading past EOF" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:188 +msgid "Fix MAXLOC/MINLOC when MASK is scalar .FALSE." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:189 +msgid "Fix UBOUND() constant folding for parentheses expr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:190 +msgid "Support FINDLOC/MAXLOC/MINLOC with scalar mask" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:191 +msgid "Handle common block with different sizes in same file" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:192 +msgid "Add one semantic check for implicit interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:193 +msgid "Fix semantics check for RETURN statement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:194 +msgid "Fix ICE for passing a label for non alternate return arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:195 +msgid "Add ExternalNameConversionPass to pass pipeline" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:196 +msgid "Fix AllocaOp/AllocMemOp type conversion" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:197 +msgid "" +"Support external procedure passed as actual argument with implicit " +"character type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:198 +msgid "Fix internal error with DATA-statement style initializers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:199 +msgid "Upstream support for POINTER assignment in FORALL" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:200 +msgid "Enforce a program not including more than one main program" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:201 +msgid "Retain binding label of entry subprograms" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:202 +msgid "Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:203 +msgid "Fold intrinsic functions SPACING() and RRSPACING()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:204 +msgid "Operands of SIGN() need not have same kind" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:205 +msgid "Correct folding of SPREAD() for higher ranks" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:206 +msgid "Refine handling of short character actual arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:207 +msgid "Ensure that structure constructors fold parameter references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:208 +msgid "" +"Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER " +"functions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:209 +msgid "Allow PDTs with LEN parameters in REDUCE()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:210 +msgid "Allow NULL() actual argument for optional dummy procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:211 +msgid "Allow implicit declaration of DATA objects in inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:212 +msgid "Refine error checking in specification expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:213 +msgid "Reverse a reversed type compatibility check" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:214 +msgid "Accept POINTER followed by INTERFACE" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:215 +msgid "Allow ENTRY function result symbol usage before the ENTRY" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:216 +msgid "Fold real-valued DIM(), MODULO() and MOD()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:217 +msgid "Enforce limit on rank + corank" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:218 +msgid "" +"Allow local variables and function result inquiries in specification " +"expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:219 +msgid "Change \"bad kind\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:220 +msgid "Fold complex component references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:221 +msgid "Fix check for assumed-size arguments to SHAPE() & al." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:222 +msgid "" +"Fix a performance problem with lowering of forall loops and creating too " +"many temporaries" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:223 +msgid "Warn for the limit on name length" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:224 +msgid "Install Fortran_main library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:225 +msgid "test conforming & non-conforming lcobound" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:226 +msgid "Fix use-associated false-positive error" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:227 +msgid "Fix character length calculation for Unicode component" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:228 +msgid "Allow global scope names that clash with intrinsic modules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:229 +msgid "Ignore BIND(C) binding name conflicts of inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:230 +msgid "Allow more forward references to ENTRY names" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:231 +msgid "Extension: Accept Hollerith actual arguments as if they were BOZ" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:232 +msgid "Alternate entry points with unused arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:233 +msgid "Fix crash in semantics after PDT instantiation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:238 +msgid "Gagandeep Singh (106):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:239 +msgid "Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:240 +msgid "Added test for kwargs in class procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:241 +msgid "Added support for kwargs in class procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:242 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:247 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:253 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:258 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:267 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:271 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:273 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:276 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:281 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:286 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:291 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:293 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:298 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:301 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:303 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:306 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:311 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:315 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:321 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:335 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:338 +msgid "Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:243 +msgid "Added support for i32 and i64 in repeat" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:244 +msgid "Added mergechar in merge interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:245 +msgid "Added is_iostat_eor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:246 +msgid "Removed compulsory evaluation of ishft" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:248 +msgid "" +"Use intrinsic type checking in assignment only when operator overloading " +"fails" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:249 +msgid "Perform casting in Compare only when overloaded is not available" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:250 +msgid "Set dest_type and source_type even though casting doesn't happen" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:251 +msgid "Use kind_value to generate type in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:252 +msgid "Added test for verifying SemanticError in case of non-constant kind input" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:254 +msgid "Add AssociateBlock and Block in serialization.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:255 +msgid "Include associate_06 in the integration_tests/CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:256 +msgid "Take into account output kind in LLVM's ArraySize visitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:257 +msgid "Added test for different output kinds in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:259 +msgid "Import procedures for overloaded operators as well" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:260 +msgid "Fixed tests for compiling correctly with gfortran" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:261 +msgid "Mangle name before importing procedures under generic procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:262 +msgid "Merged master into sprint_6" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:263 +msgid "Avoid manual imports while using overloaded symbols" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:264 +msgid "Remove symbol from to_be_imported_later" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:265 +msgid "" +"Added support for keyword arguments in generic procedures and fix total " +"arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:266 +msgid "Added test for generic procedures with keyword arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:268 +msgid "Added intrinsics: congjz, dotproduct and updated: merge" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:269 +msgid "Added matmul, transpose as ASR nodes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:270 +msgid "Added tests for matmul and transpose" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:272 +msgid "Added merge, dotproduct procedures for complex type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:274 +msgid "Add support for source kwarg in allocate" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:275 +msgid "Updated test for verifying source argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:277 +msgid "" +"Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in " +"comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:278 +msgid "Added shiftl, shiftr and count" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:279 +msgid "Added more implementations for abs, mod" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:280 +msgid "Added adjustr, lgt, llt, lle, lge for string type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:282 +msgid "Registered ieee_is_nan in comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:283 +msgid "Added support for pack intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:284 +msgid "Added support for transfer intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:285 +msgid "Use modern Fortran syntax for array constants" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:287 +msgid "ArrayTransfer -> Transfer rename" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:288 +msgid "Added generation code for expression replacer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:289 +msgid "Added ReplaceArgVisitor and generalised handle_return_type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:290 +msgid "Added tests for verifying arg replacer in return types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:292 +msgid "Added cmplx via ComplexConstructor node" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:294 +msgid "Import via use inside Function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:295 +msgid "Added support for matching Derived/ClassType" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:296 +msgid "Added support for falling back to intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:297 +msgid "Added to test verify importing procedures inside function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:299 +msgid "Added support for passing kind parameter to floor intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:300 +msgid "" +"Use CPtr for variables declared with type(c_ptr) 2. Set " +"Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in " +"extract_dimensions_from_ttype" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:302 +msgid "Added LLVM support for CLoc, CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:304 +msgid "Added integration test for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:305 +msgid "Added support for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:307 +msgid "Added error checking for presence of shape argument in c_f_pointer call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:308 +msgid "Fixed ArrayConstant type and raise error is shape is not rank 1" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:310 +msgid "Implemented c_f_pointer for non-array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:312 +msgid "Added test with pointer array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:313 +msgid "Shifted type generation to a function in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:314 +msgid "Corrected llvm::Type* for array pointer variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:316 +msgid "" +"Fixed ArrayBound for array pointers 2. Shifted argument type generation " +"to a function and use recursion for Pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:317 +msgid "Added support for printing Pointer type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:318 +msgid "" +"Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return " +"ArrayBound instead of a function call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:319 +msgid "Use element type in ArrayRef instead of pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:320 +msgid "Syntax improvement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:322 +msgid "Removed warnings" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:323 +msgid "Adjust ArrayBound for ArrayConstant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:324 +msgid "Corrected arrays_13 by making iv, rv as target" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:325 +msgid "Stronger verification checks for CFPointer creation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:326 +msgid "Support for array inputs in CFPointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:327 +msgid "Improved bindc2 for array inputs in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:328 +msgid "" +"Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved " +"CFPointer in LLVM backend to not interfere with already stored array in " +"array pointer variables 3. Improved bindc2.f90 and made it robust to " +"cover more cases. 4. Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:329 +msgid "Fixed unused variable warnings in llvm_utils.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:330 +msgid "Use abstract methods in CFPointer for accessing array descriptor data" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:331 +msgid "Added test for ArrayRef in c_loc" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:332 +msgid "Minor update in bindc2 and bindc3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:333 +msgid "Fixed Complex case in duplicate type and intialise type at declaration" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:334 +msgid "Added support ArrayRef in CLoc in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:336 +msgid "" +"Added support for CPtr in arguments and fixed llvm::Type for intent(out) " +"for CPtr 2. Added support for constant arrays as shape in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:337 +msgid "Updated bindc4 for verifying constant arrays in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:340 +msgid "Naman Gera (1):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:341 +msgid "Update the C runtime library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:343 +msgid "Ondřej Čertík (136):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:344 +msgid "AST->ASR: Remove current_body" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:345 +msgid "Fix a bug in a test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:346 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:351 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:353 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:356 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:360 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:362 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:365 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:374 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:377 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:407 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:410 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:428 +msgid "Update tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:347 +msgid "bind(c): Add tests for i64, f32, f64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:348 +msgid "Update modules_18b.f90 to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:349 +msgid "Add tests for the other types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:350 +msgid "Comment out a non-working case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:352 +msgid "bind(c): Fix call_fortran_i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:354 +msgid "bind(c): Add a test for i32 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:355 +msgid "LLVM: implement value arguments in bind(c) procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:357 +msgid "Make modules_18b.f90 compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:358 +msgid "bind(c): test i64, f32, f64 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:359 +msgid "Update modules_18b to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:361 +msgid "ASR: Bring updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:363 +msgid "ASR: Updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:364 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:427 +msgid "Update the rest of the code to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:366 +msgid "C++ backend: implement ComplexConstructor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:367 +msgid "Add the simplest test for submodules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:368 +msgid "Add Logical to nested_vars" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:369 +msgid "Workaround a cmake bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:370 +msgid "Add a test for bind(c) with pointers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:371 +msgid "Rework the AST->ASR handling of floor()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:372 +msgid "Implement is_intrinsic_symbol()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:373 +msgid "Refactor floor() into lfortran_intrinsic_math3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:375 +msgid "Add a test case for imported derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:376 +msgid "Add value to all expr nodes except Constant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:378 +msgid "Implement expr_type() using ExprTypeVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:379 +msgid "Implement expr_value() using ExprValueVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:380 +msgid "iso_c_binding: add the c_loc() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:381 +msgid "Allow derived types as return values" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:382 +msgid "ASR: Represent c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:383 +msgid "Add ASR test for c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:385 +msgid "ASR: Add string conversion for derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:386 +msgid "Add a CPtr() type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:387 +msgid "Make c_loc() return CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:388 +msgid "LLVM: handle CPtr in convert_args()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:389 +msgid "LLVM: Comment out visit_CFPointer (WIP)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:390 +msgid "CI: pin mkdocs-material and mkdocs versions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:391 +msgid "Fix spelling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:393 +msgid "Shorten the help for --show-wat to fit 80 columns" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:394 +msgid "Git ignore wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:395 +msgid "Move emit_wat out of LLVM ifdef" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:396 +msgid "Generate wasm_visitor.h in ci/build.xsh" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:397 +msgid "Enable WAT tests in run_tests.py" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:398 +msgid "Add a test for WASM" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:399 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:444 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:447 +msgid "Update reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:400 +msgid "Implement FortranEvaluator::get_wasm()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:401 +msgid "Use asr_to_wasm_bytes_stream() in asr_to_wasm" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:402 +msgid "WASM: Add 64 bit BinOp operations" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:403 +msgid "WASM: handle i64 arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:404 +msgid "WASM: Add a test for i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:405 +msgid "Move the wasm_instructions_visitor.py to libasr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:406 +msgid "Update ASR from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:408 +msgid "Bring more ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:409 +msgid "Bring in name mangling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:411 +msgid "Add a test for passing through pointers via C" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:412 +msgid "LLVM: implement debug ASR printing" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:413 +msgid "LLVM: Use `deftype` to implement interfaces" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:414 +msgid "LLVM: Pass type(c_ptr) by value properly" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:415 +msgid "Pass \"n\" by reference for now" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:416 +msgid "Pass arguments by value for bind(c)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:417 +msgid "Only do the load if it is a pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:418 +msgid "LLVM: Use an ASR condition instead of LLVM one" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:419 +msgid "lfortran_intrinsic_string: depend iso_fortran_env" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:420 +msgid "Enable bindc_01 LLVM test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:421 +msgid "Add a test for pointer argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:422 +msgid "Add suffixes 1/2" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:423 +msgid "Add a callback2b test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:424 +msgid "Add a test for callback1b()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:425 +msgid "Get value to reference argument working" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:426 +msgid "Port ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:429 +msgid "ASR sync with LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:431 +msgid "Tapasweni Pathak (9):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:432 +msgid "Add markdown sample for intrinsic:math:asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:433 +msgid "Add doxygen docstring in lfortran intrinsic runtime asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:434 +msgid "Add comments for interface asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:435 +msgid "Add doxygen comment for lfortran_sasin_api" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:436 +msgid "Enhance presentation of information" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:437 +msgid "use retval for return values variable" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:438 +msgid "delete fortran doxygen comments docs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:439 +msgid "mkdocs: LFortran Intrinsics: asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:440 +msgid "add: mkdocs: code syntax highlighting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:442 +msgid "Ubaid (24):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:443 +msgid "Improve ceiling() test case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:445 +msgid "Specifying constants as double precision" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:446 +msgid "Update error condition check as suggested" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:448 +msgid "Code formatting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:449 +msgid "Add and improve namespace ending comments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:450 +msgid "Add wasm_instructions list" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:451 +msgid "Comment out few instructions that have temporary variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:452 +msgid "Add wasm_instructions_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:453 +msgid "" +"Add namespace related info and pass code as function parameter in " +"wasm_insts_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:454 +msgid "Add command in build0.sh to generate wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:455 +msgid "Add utility struct and functions defined in wasm_utils" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:456 +msgid "Add wasm_to_wat converter" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:457 +msgid "Include wasm_to_wat and wasm_utils in CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:458 +msgid "Define vector.resize()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:459 +msgid "Add --show-wat flag and emit_wat() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:460 +msgid "Declare and define get_wat() in fortran_evaluator" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:461 +msgid "" +"Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to" +" memory" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:462 +msgid "Fix warning by adding U and add comment" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:463 +msgid "Fix missing parameters bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:464 +msgid "Switch off WAT_DEBUG macro" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:465 +msgid "Remove debugging cout statements" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:466 +msgid "Move load_file() to top" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:472 +msgid "" +"The Fortran-lang Google Summer of Code 2022 program began on May 23. We " +"welcome five contributors: Arteev Raina, Ashirwad Mishra, Henil Shalin " +"Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. They will be working " +"on exciting projects from fpm and the Fortran website to improving the " +"LFortran compiler. Read more about their projects " +"[here](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang)." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:478 +msgid "We had our 26th Fortran Monthly call on May 16. Watch the recording below:" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:503 +msgid "" +"[fortran-lang/vscode-fortran-support](https://github.com/fortran-lang" +"/vscode-fortran-support)" +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/packages.po b/locale/ja/LC_MESSAGES/packages.po new file mode 100644 index 000000000..12e54eac4 --- /dev/null +++ b/locale/ja/LC_MESSAGES/packages.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/packages.rst:8 +msgid "Packages - The Fortran Programming Language" +msgstr "" + +#: ../../source/packages.rst:13 +msgid "Fortran Packages" +msgstr "" + +#: ../../source/packages.rst:17 ../../source/packages/data-types.rst:7 +#: ../../source/packages/examples.rst:7 ../../source/packages/graphics.rst:7 +#: ../../source/packages/interfaces.rst:7 ../../source/packages/io.rst:7 +#: ../../source/packages/libraries.rst:7 ../../source/packages/numerical.rst:7 +#: ../../source/packages/programming.rst:7 +#: ../../source/packages/scientific.rst:7 ../../source/packages/strings.rst:7 +msgid "A rich ecosystem of high-performance code" +msgstr "" + +#: ../../source/packages.rst:22 +msgid "Find a Package" +msgstr "" + +#: ../../source/packages.rst:37 +msgid "Package index" +msgstr "" + +#: ../../source/packages.rst:41 +msgid "" +"The fortran-lang package index is community-maintained and lists open " +"source Fortran-related projects. This includes large-scale scientific " +"applications, function libraries, Fortran interfaces, and developer " +"tools. |br| See `here `_ for how to get your project listed. " +"|br| Use the box above to search the package index by keyword, package " +"name, or author username." +msgstr "" + +#: ../../source/packages.rst:54 +msgid "Featured topics" +msgstr "" + +#: ../../source/packages.rst:64 +msgid "Browse Packages by Category" +msgstr "" + +#: ../../source/packages.rst:69 +msgid "`Data types and containers `_" +msgstr "" + +#: ../../source/packages.rst:71 ../../source/packages/data-types.rst:17 +msgid "Libraries for advanced data types and container classes" +msgstr "" + +#: ../../source/packages.rst:74 +msgid "`Interface libraries `_" +msgstr "" + +#: ../../source/packages.rst:76 ../../source/packages/interfaces.rst:17 +msgid "Libraries that interface with other systems, languages, or devices" +msgstr "" + +#: ../../source/packages.rst:79 +msgid "`Libraries `_" +msgstr "" + +#: ../../source/packages.rst:81 ../../source/packages/libraries.rst:18 +msgid "Fortran libraries for general programming tasks" +msgstr "" + +#: ../../source/packages.rst:84 +msgid "`Input, output and parsing `_" +msgstr "" + +#: ../../source/packages.rst:86 ../../source/packages/io.rst:17 +#: ../../source/packages/numerical.rst:17 +msgid "Libraries for reading, writing and parsing files and inputs" +msgstr "" + +#: ../../source/packages.rst:89 +msgid "`Graphics, plotting and user interfaces `_" +msgstr "" + +#: ../../source/packages.rst:91 ../../source/packages/graphics.rst:17 +msgid "" +"Libraries for plotting data, handling images and generating user " +"interfaces" +msgstr "" + +#: ../../source/packages.rst:94 +msgid "`Examples and templates `_" +msgstr "" + +#: ../../source/packages.rst:96 ../../source/packages/examples.rst:18 +msgid "Demonstration codes and templates for Fortran" +msgstr "" + +#: ../../source/packages.rst:99 +msgid "`Numerical projects `_" +msgstr "" + +#: ../../source/packages.rst:101 +msgid "Fortran libraries for linear algebra, optimization, root-finding etc." +msgstr "" + +#: ../../source/packages.rst:104 +msgid "`Programming utilities `_" +msgstr "" + +#: ../../source/packages.rst:106 ../../source/packages/programming.rst:17 +msgid "Error handling, logging, documentation and testing" +msgstr "" + +#: ../../source/packages.rst:109 +msgid "`Characters and strings `_" +msgstr "" + +#: ../../source/packages.rst:111 ../../source/packages/strings.rst:17 +msgid "Libraries for manipulating characters and strings" +msgstr "" + +#: ../../source/packages.rst:114 +msgid "`Scientific Codes `_" +msgstr "" + +#: ../../source/packages.rst:116 ../../source/packages/scientific.rst:18 +msgid "" +"Applications and libraries for applied mathematical and scientific " +"problems" +msgstr "" + +#: ../../source/packages/data-types.rst:3 ../../source/packages/examples.rst:3 +#: ../../source/packages/graphics.rst:3 ../../source/packages/interfaces.rst:3 +#: ../../source/packages/io.rst:3 ../../source/packages/libraries.rst:3 +#: ../../source/packages/numerical.rst:3 +#: ../../source/packages/programming.rst:3 +#: ../../source/packages/scientific.rst:3 ../../source/packages/strings.rst:3 +msgid "Featured Open Source Projects" +msgstr "" + +#: ../../source/packages/data-types.rst:9 ../../source/packages/examples.rst:9 +#: ../../source/packages/graphics.rst:9 ../../source/packages/interfaces.rst:9 +#: ../../source/packages/io.rst:9 ../../source/packages/libraries.rst:9 +#: ../../source/packages/numerical.rst:9 +#: ../../source/packages/programming.rst:9 +#: ../../source/packages/scientific.rst:9 ../../source/packages/strings.rst:9 +msgid "license" +msgstr "" + +#: ../../source/packages/data-types.rst:10 +#: ../../source/packages/examples.rst:10 ../../source/packages/graphics.rst:10 +#: ../../source/packages/interfaces.rst:10 ../../source/packages/io.rst:10 +#: ../../source/packages/libraries.rst:10 +#: ../../source/packages/numerical.rst:10 +#: ../../source/packages/programming.rst:10 +#: ../../source/packages/scientific.rst:10 ../../source/packages/strings.rst:10 +msgid "stars" +msgstr "" + +#: ../../source/packages/data-types.rst:11 +#: ../../source/packages/examples.rst:11 ../../source/packages/graphics.rst:11 +#: ../../source/packages/interfaces.rst:11 ../../source/packages/io.rst:11 +#: ../../source/packages/libraries.rst:11 +#: ../../source/packages/numerical.rst:11 +#: ../../source/packages/programming.rst:11 +#: ../../source/packages/scientific.rst:11 ../../source/packages/strings.rst:11 +msgid "forks" +msgstr "" + +#: ../../source/packages/data-types.rst:12 +#: ../../source/packages/examples.rst:12 ../../source/packages/graphics.rst:12 +#: ../../source/packages/interfaces.rst:12 ../../source/packages/io.rst:12 +#: ../../source/packages/libraries.rst:12 +#: ../../source/packages/numerical.rst:12 +#: ../../source/packages/programming.rst:12 +#: ../../source/packages/scientific.rst:12 ../../source/packages/strings.rst:12 +msgid "lastcommit" +msgstr "" + +#: ../../source/packages/data-types.rst:13 +#: ../../source/packages/examples.rst:13 ../../source/packages/graphics.rst:13 +#: ../../source/packages/interfaces.rst:13 ../../source/packages/io.rst:13 +#: ../../source/packages/libraries.rst:13 +#: ../../source/packages/numerical.rst:13 +#: ../../source/packages/programming.rst:13 +#: ../../source/packages/scientific.rst:13 ../../source/packages/strings.rst:13 +msgid "issues" +msgstr "" + +#: ../../source/packages/data-types.rst:14 +#: ../../source/packages/examples.rst:14 ../../source/packages/graphics.rst:14 +#: ../../source/packages/interfaces.rst:14 ../../source/packages/io.rst:14 +#: ../../source/packages/libraries.rst:14 +#: ../../source/packages/numerical.rst:14 +#: ../../source/packages/programming.rst:14 +#: ../../source/packages/scientific.rst:14 ../../source/packages/strings.rst:14 +msgid "release" +msgstr "" + diff --git a/locale/ja/LC_MESSAGES/sphinx.po b/locale/ja/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000..2d0fb74fa --- /dev/null +++ b/locale/ja/LC_MESSAGES/sphinx.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/archives.html:3 +msgid "Archives" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/authors.html:2 +msgid "Authors" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/categories.html:3 +msgid "Categories" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/collection.html:47 +msgid "Read more ..." +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/languages.html:3 +msgid "Languages" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/locations.html:3 +msgid "Locations" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:5 +msgid "Update" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:12 +msgid "Author" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:24 +msgid "Location" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:35 +msgid "Language" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:46 +msgid "Category" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:57 +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/tagcloud.html:2 +msgid "Tags" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:60 +msgid "Tag" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:5 +msgid "Previous" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:15 +msgid "Next" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/recentposts.html:3 +msgid "Recent Posts" +msgstr "" + +#: ../../source/_templates/inpage_toc.html:25 +msgid "On this page" +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/community.po b/locale/nl/LC_MESSAGES/community.po new file mode 100644 index 000000000..2168602ec --- /dev/null +++ b/locale/nl/LC_MESSAGES/community.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/community.rst:17 +msgid "Community - The Fortran Programming Language" +msgstr "" + +#: ../../source/community.rst:21 +msgid "Fortran-lang Community" +msgstr "" + +#: ../../source/community.rst:25 +msgid "Collaboration for the advancement of Fortran" +msgstr "" + +#: ../../source/community.rst:30 +msgid "Fortran-lang Community Projects" +msgstr "" + +#: ../../source/community.rst:40 +msgid "Fortran Standard Library (stdlib)" +msgstr "" + +#: ../../source/community.rst:42 +msgid "" +"A community-driven project for a de facto 'standard' library for Fortran." +" The stdlib project is both a specification and a reference " +"implementation, developed in cooperation with the Fortran Standards " +"Committee." +msgstr "" + +#: ../../source/community.rst:44 +msgid "" +"`GitHub `_ `Documentation " +"`_ `Contributing `_" +msgstr "" + +#: ../../source/community.rst:48 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/community.rst:50 +msgid "" +"A prototype project to develop a common build system for Fortran packages" +" and their dependencies." +msgstr "" + +#: ../../source/community.rst:52 +msgid "" +"`GitHub `_ `Documentation " +"`_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:56 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/community.rst:58 +msgid "This website is open source and contributions are welcome!." +msgstr "" + +#: ../../source/community.rst:60 +msgid "" +"`GitHub `_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:82 +msgid "Get Involved" +msgstr "" + +#: ../../source/community.rst:97 +msgid "Join the Discussion" +msgstr "" + +#: ../../source/community.rst:98 +msgid "" +"The easiest way to join the community and contribute is by commenting on " +"issues and pull requests in the project repositories." +msgstr "" + +#: ../../source/community.rst:102 +msgid "" +"Whether Fortran beginner or seasoned veteran, your feedback and comments " +"are most welcome in guiding the future of Fortran-lang." +msgstr "" + +#: ../../source/community.rst:110 +msgid "Contributor Guide" +msgstr "" + +#: ../../source/community.rst:112 +msgid "" +"Want to contribute code and content? Check out the contributor guides in " +"each repository for information on the project workflow and recommended " +"practices. Contributor guide for stdlib" +msgstr "" + +#: ../../source/community.rst:117 +msgid "" +"`Contributor guide for stdlib `_ |br| `Contributor guide for fpm " +"`_ |br| " +"`Contributor guide for fortran-lang.org `_" +msgstr "" + +#: ../../source/community.rst:132 +msgid "Build and Test" +msgstr "" + +#: ../../source/community.rst:134 +msgid "" +"Get more involved with each project by cloning, building and testing it " +"on your own machine(s) and with your own codes; if something doesn't " +"work, create an issue to let us know! We value user feedback highly, be " +"it a bug report, feature request, or suggestion for documentation." +msgstr "" + +#: ../../source/community.rst:145 +msgid "Community Conduct" +msgstr "" + +#: ../../source/community.rst:147 +msgid "" +"As a community, we strive to make participation in our discussions and " +"projects a friendly and harassment-free experience for everyone. See the " +"full `Code of Conduct `_" +msgstr "" + +#: ../../source/community.rst:156 +msgid "Fortran-lang Contributors" +msgstr "" + +#: ../../source/community.rst:158 +msgid "" +"We are grateful for every contribution made by all members of the " +"community." +msgstr "" + +#: ../../source/community.rst:167 +msgid "source: https://git-contributor.com/" +msgstr "" + +#: ../../source/community.rst:171 +msgid "Contributors:" +msgstr "" + +#: ../../source/community.rst +msgid "card-img-top" +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/compilers.po b/locale/nl/LC_MESSAGES/compilers.po new file mode 100644 index 000000000..eb39a0123 --- /dev/null +++ b/locale/nl/LC_MESSAGES/compilers.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/compilers.md:10 +msgid "Compilers" +msgstr "" + +#: ../../source/compilers.md:16 +msgid "" +"[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a " +"mature free and open source compiler, part of the GNU Compiler " +"Collection." +msgstr "" + +#: ../../source/compilers.md:19 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler " +"wrapper around gfortran which enables the parallel programming features " +"of Fortran 2018 with gfortran." +msgstr "" + +#: ../../source/compilers.md:25 +msgid "" +"[Flang](https://github.com/llvm/llvm-project/tree/main/flang) is a new " +"front-end for Fortran 2018 that has been recently added to LLVM. It is " +"implemented in modern C++ and uses a Fortran-oriented MLIR dialect for " +"lowering to LLVM IR. This project is under active development." +msgstr "" + +#: ../../source/compilers.md:34 +msgid "" +"[Flang](https://github.com/flang-compiler/flang) is an open source " +"compiler based on the NVIDIA/PGI commercial compiler." +msgstr "" + +#: ../../source/compilers.md:40 +msgid "" +"[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based " +"Fortran compiler." +msgstr "" + +#: ../../source/compilers.md:48 +msgid "" +"[Intel " +"oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi" +"/all-toolkits.html) is Intel's suite of compilers, tools, and libraries " +"for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides [two " +"Fortran " +"compilers](https://software.intel.com/content/www/us/en/develop/articles" +"/intel-oneapi-fortran-compiler-release-notes.html):" +msgstr "" + +#: ../../source/compilers.md:53 +msgid "" +"Intel Fortran Compiler Classic (`ifort`), a mature compiler with full " +"Fortran 2018 support; and" +msgstr "" + +#: ../../source/compilers.md:55 +msgid "" +"Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler that " +"supports Fortran 95 and partially newer versions of the standard." +msgstr "" + +#: ../../source/compilers.md:58 +msgid "" +"Intel oneAPI is available for free. Currently the compiler supports " +"Linux, MacOS and Windows platforms and x86\\_64 architectures. Community " +"support is available for the free version at the [Intel Developer " +"forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p" +"/fortran-compiler)." +msgstr "" + +#: ../../source/compilers.md:65 +msgid "" +"The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) " +"release (7.0) has extensive support for legacy and modern Fortran " +"features including parallel programming with coarrays, as well as " +"additional support for programming with OpenMP." +msgstr "" + +#: ../../source/compilers.md:68 +msgid "" +"The Compiler also provides significant support for Fortran 2018 (atomic " +"operations, events and tasks, plus other smaller features), almost all of" +" Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. " +"All platforms include supporting tools for software development: source " +"file polishers, dependency generator for module and include files, call-" +"graph generator, interface builder and a precision unifier." +msgstr "" + +#: ../../source/compilers.md:77 +msgid "" +"The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and " +"Fortran compilers, former [PGI " +"compilers](https://www.pgroup.com/products/index.htm), support GPU " +"acceleration of HPC modeling and simulation applications with standard " +"C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math " +"libraries maximize performance on common HPC algorithms, and optimized " +"communications libraries enable standards-based multi-GPU and scalable " +"systems programming." +msgstr "" + +#: ../../source/compilers.md:79 +msgid "" +"NVHPC compilers are available free of charge. Currently the compiler " +"supports Linux platforms and x86\\_64, ppc64le and aarch64 architectures." +" Community support is available at the [HPC compiler " +"forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-" +"compilers/nvc-nvc-and-nvfortran/313)." +msgstr "" + +#: ../../source/compilers.md:86 +msgid "" +"The [Cray Compiling Environment " +"(CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-" +"Environment.pdf) is the cornerstone innovation of Cray's adaptive " +"computing paradigm. CCE builds on a well-developed and sophisticated Cray" +" technology base that identifies regions of computation that are either " +"sequential scalar, vector parallel or highly multithreaded. It includes " +"optimizing compilers that automatically exploit the scalar, vector and " +"multithreading hardware capabilities of the Cray system. CCE supports " +"Fortran, C and C++." +msgstr "" + +#: ../../source/compilers.md:96 +msgid "" +"[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-" +"compiler-power) for Linux is an industry standards-based programming tool" +" used to develop large and complex applications in the Fortran " +"programming language. It generates code that leverages the capabilities " +"of the latest POWER9 architecture and maximizes your hardware " +"utilization. IBM XL Fortran for Linux optimizes your infrastructure on " +"IBM Power Systems™ in support of extensive numerical, scientific and " +"high-performance computing." +msgstr "" + +#: ../../source/compilers.md:104 +msgid "" +"A community edition of the IBM XL compilers are available free of charge." +" The compilers support Linux and AIX platforms and ppc64le architectures." +msgstr "" + +#: ../../source/compilers.md:110 +msgid "" +"The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-" +"aocc/) compiler system is a high performance, production quality code " +"generation tool. The AOCC environment provides various options to " +"developers when building and optimizing C, C++, and Fortran applications " +"targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system " +"offers a high level of advanced optimizations, multi-threading and " +"processor support that includes global optimization, vectorization, " +"inter-procedural analyses, loop transformations, and code generation. AMD" +" also provides highly optimized libraries, which extract the optimal " +"performance from each x86 processor core when utilized. The AOCC Compiler" +" Suite simplifies and accelerates development and tuning for x86 " +"applications." +msgstr "" + +#: ../../source/compilers.md:122 +msgid "" +"The AOCC compilers are available free of charge and support Linux " +"platforms with x86\\_64 architectures." +msgstr "" + +#: ../../source/compilers.md:127 +msgid "" +"[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-" +"software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-" +"compiler). Tailored for HPC and scientific codes, with support for " +"popular Fortran and OpenMP standards and tuned for leading server-class " +"Arm-based platforms. Built on the open source Flang front-end, and the " +"LLVM‑based optimization and code generation back-end. Available as part " +"of the Arm Compiler for Linux package." +msgstr "" + +#: ../../source/compilers.md:135 +msgid "" +"[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran " +"delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, " +"extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical" +" debugger, native tool suite integration, AMDAL HPC scientific and " +"engineering library, and more. Pro Fortran includes Fast Data " +"Visualization, an Absoft exclusive technology for graphical rendering and" +" data output." +msgstr "" + +#: ../../source/compilers.md:144 +msgid "" +"[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-" +"development/technologies/developerstudio-features.html) is highly " +"optimized for Oracle systems, on-premise and in the cloud" +msgstr "" + +#: ../../source/compilers.md:147 +msgid "" +"Advanced code generation technology for the latest Oracle SPARC and x86 " +"based systems" +msgstr "" + +#: ../../source/compilers.md:148 +msgid "" +"Support for the latest industry standards, including C++14, C++11, C11 " +"and OpenMP 4.0 and extensive GCC compatibility features" +msgstr "" + +#: ../../source/compilers.md:149 +msgid "" +"Automatic code analysis during compilation and automatic stack overflow " +"protection at application runtime" +msgstr "" + +#: ../../source/compilers.md:154 +msgid "" +"LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the" +" classic [Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier " +"has full Fortran 95/90/77 compliance with extensive support for the " +"Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class " +"diagnostics. Includes the automatic-parallelizing GFortran compiler, " +"Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, " +"Winteracter WiSK Graphics package, and more." +msgstr "" + +#: ../../source/compilers.md:163 +msgid "" +"[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 " +"standards compliant compiler, capable of producing fast executables for " +"Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime " +"checking and a great range of supporting software. All standard and many " +"vendor-specific legacy language features are supported, so that Fortran " +"projects may be any combination of Fortran 77, Fortran 90 and Fortran 95." +" Some features of Fortran 2003 and 2008 have been " +"[added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx)." +" Silverfrost Fortran runs on Windows / x86_64. There is a free personal " +"edition." +msgstr "" + +#: ../../source/compilers.md:175 +msgid "" +"[The Fortran " +"compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) " +"conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports " +"many features from Fortran-2008 (ISO/IEC 1539-1:2010)." +msgstr "" + +#: ../../source/compilers.md:181 +msgid "" +"[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of " +"Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 " +"(ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 " +"(ISO/IEC 1539:2018). Used for russian processor architectures Elbrus " +"(e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture " +"is available." +msgstr "" + +#: ../../source/compilers.md:189 +msgid "" +"The following is a list of Fortran compilers that seem discontinued, so " +"we do not list them above:" +msgstr "" + +#: ../../source/compilers.md:192 +msgid "Apogee" +msgstr "" + +#: ../../source/compilers.md:193 +msgid "Edinburgh Portable Compilers" +msgstr "" + +#: ../../source/compilers.md:194 +msgid "Hewlett Packard" +msgstr "" + +#: ../../source/compilers.md:195 +msgid "Watcom" +msgstr "" + +#: ../../source/compilers.md:196 +msgid "PathScale" +msgstr "" + +#: ../../source/compilers.md:197 +msgid "G95" +msgstr "" + +#: ../../source/compilers.md:198 +msgid "Open64" +msgstr "" + +#: ../../source/compilers.md:199 +msgid "Unisys" +msgstr "" + +#: ../../source/compilers.md:203 +msgid "" +"Please let us know if there is any compiler that is not listed, or if we " +"listed a compiler in the Discontinued section and it is in fact actively " +"maintained." +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/index.po b/locale/nl/LC_MESSAGES/index.po new file mode 100644 index 000000000..ccd9f86c4 --- /dev/null +++ b/locale/nl/LC_MESSAGES/index.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/index.rst:3 ../../source/index.rst:8 +msgid "The Fortran Programming Language" +msgstr "" + +#: ../../source/index.rst:3 +msgid "Fortran, High-performance, parallel programming language" +msgstr "" + +#: ../../source/index.rst:14 +msgid "High-performance parallel programming language" +msgstr "" + +#: ../../source/index.rst:16 +msgid "Get started" +msgstr "" + +#: ../../source/index.rst:24 +msgid "Features" +msgstr "" + +#: ../../source/index.rst:28 +msgid "High performance" +msgstr "" + +#: ../../source/index.rst:30 +msgid "" +"Fortran has been designed from the ground up for computationally " +"intensive applications in science and engineering. Mature and battle-" +"tested compilers and libraries allow you to write code that runs close to" +" the metal, fast." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Statically and strongly typed" +msgstr "" + +#: ../../source/index.rst:36 +msgid "" +"Fortran is statically and strongly typed, which allows the compiler to " +"catch many programming errors early on for you. This also allows the " +"compiler to generate efficient binary code." +msgstr "" + +#: ../../source/index.rst:40 +msgid "Easy to learn and use" +msgstr "" + +#: ../../source/index.rst:42 +msgid "" +"Fortran is a relatively small language that is surprisingly easy to learn" +" and use. Expressing most mathematical and arithmetic operations over " +"large arrays is as simple as writing them as equations on a whiteboard." +msgstr "" + +#: ../../source/index.rst:46 +msgid "Versatile" +msgstr "" + +#: ../../source/index.rst:48 +msgid "" +"Fortran allows you to write code in a style that best fits your problem: " +"imperative, procedural, array-oriented, object-oriented, or functional." +msgstr "" + +#: ../../source/index.rst:52 +msgid "Natively parallel" +msgstr "" + +#: ../../source/index.rst:54 +msgid "" +"Fortran is a natively parallel programming language with intuitive array-" +"like syntax to communicate data between CPUs. You can run almost the same" +" code on a single CPU, on a shared-memory multicore system, or on a " +"distributed-memory HPC or cloud-based system. Coarrays, teams, events, " +"and collective subroutines allow you to express different parallel " +"programming patterns that best fit your problem at hand." +msgstr "" + +#: ../../source/index.rst:58 +msgid "FAQ" +msgstr "" + +#: ../../source/index.rst:62 +msgid "What is the status of Fortran?" +msgstr "" + +#: ../../source/index.rst:64 +msgid "" +"Fortran is still in active development. The latest revision of the " +"language is `Fortran 2018 " +"`_,and" +" the next one, with the working title Fortran 202x, is planned for " +"release in the next few years. Further, open source projects like the " +"`Standard Library `_ and the " +"`Fortran Package Manager `_ are in " +"active development." +msgstr "" + +#: ../../source/index.rst:68 +msgid "What is Fortran used for?" +msgstr "" + +#: ../../source/index.rst:70 +msgid "" +"Fortran is mostly used in domains that adopted computation early--science" +" and engineering. These include numerical weather and ocean prediction, " +"computational fluid dynamics, applied math, statistics, and finance. " +"Fortran is the dominant language of High Performance Computing and is " +"used to `benchmark the fastest supercomputers in the world. " +"`_" +msgstr "" + +#: ../../source/index.rst:74 +msgid "Should I use Fortran for my new project?" +msgstr "" + +#: ../../source/index.rst:76 +msgid "" +"If you're writing a program or a library to perform fast arithmetic " +"computation over large numeric arrays, Fortran is the optimal tool for " +"the job." +msgstr "" + +#: ../../source/index.rst:108 +msgid "Make Fortran better" +msgstr "" + +#: ../../source/index.rst:118 +msgid "Write proposals" +msgstr "" + +#: ../../source/index.rst:119 +msgid "" +"Have an idea about how to improve the language? You can write new " +"proposals or contribute to existing proposals to the Fortran Standard " +"Committee on `GitHub `_ " +"." +msgstr "" + +#: ../../source/index.rst:127 +msgid "Develop tools" +msgstr "" + +#: ../../source/index.rst:128 +msgid "" +"You can also help make Fortran better by contributing to its suite of " +"tools, such as `Standard Library `_ , `Package Manager `_" +" , or `this website `_ " +"." +msgstr "" + +#: ../../source/index.rst:138 +msgid "Write Fortran software" +msgstr "" + +#: ../../source/index.rst:139 +msgid "" +"Or just write Fortran software for your research, business, or " +"schoolwork. You can learn how to `get started here `_ ." +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/learn.po b/locale/nl/LC_MESSAGES/learn.po new file mode 100644 index 000000000..6f2a20c64 --- /dev/null +++ b/locale/nl/LC_MESSAGES/learn.po @@ -0,0 +1,15847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/learn.rst:4 +msgid "Learn" +msgstr "" + +#: ../../source/learn.rst:12 +msgid "Learn Fortran" +msgstr "" + +#: ../../source/learn.rst:16 +msgid "Learning resources for beginners and experts alike" +msgstr "" + +#: ../../source/learn.rst:20 +msgid "Getting Started" +msgstr "" + +#: ../../source/learn.rst:33 +msgid "" +"Try the quickstart Fortran tutorial, to get an overview of the language " +"syntax and capabilities. |br|" +msgstr "" + +#: ../../source/learn.rst:35 +msgid "" +" Quickstart tutorial" +msgstr "" + +#: ../../source/learn.rst:53 +msgid "" +"Ask a question in the Fortran-lang discourse - a forum for friendly " +"discussion of all things Fortran. |br|" +msgstr "" + +#: ../../source/learn.rst:55 +msgid "" +" Fortran-lang Discourse" +msgstr "" + +#: ../../source/learn.rst:65 +msgid "Mini-book Tutorials" +msgstr "" + +#: ../../source/learn.rst:92 +msgid "Other Resources" +msgstr "" + +#: ../../source/learn.rst:96 +msgid "On the web" +msgstr "" + +#: ../../source/learn.rst:111 +msgid "Online Courses" +msgstr "" + +#: ../../source/learn.rst:124 +msgid "In print" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:8 +msgid "Allocatable Arrays" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:10 +msgid "" +"The ``allocatable`` attribute provides a safe way for memory handling. In" +" comparison to variables with ``pointer`` attribute the memory is managed" +" automatically and will be deallocated automatically once the variable " +"goes out-of-scope. Using ``allocatable`` variables removes the " +"possibility to create memory leaks in an application." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:16 +msgid "" +"They can be used in subroutines to create scratch or work arrays, where " +"automatic arrays would become too large to fit on the stack." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:24 +msgid "" +"The allocation status can be checked using the ``allocated`` intrinsic to" +" avoid uninitialized access" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:37 +msgid "" +"To allocate variables inside a procedure the dummy argument has to carry " +"the ``allocatable`` attribute. Using it in combination with " +"``intent(out)`` will deallocate previous allocations before entering the " +"procedure:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:48 +msgid "The allocated array can be used afterwards like a normal array" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:55 +msgid "" +"An already allocated array cannot be allocated again without prior " +"deallocation. Similarly, deallocation can only be invoked for allocated " +"arrays. To reallocate an array use" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:64 +msgid "" +"Passing allocated arrays to procedures does not require the " +"``allocatable`` attribute for the dummy arguments anymore." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:87 +msgid "" +"Passing an unallocated array in this context will lead to an invalid " +"memory access. Allocatable arrays can be passed to ``optional`` dummy " +"arguments -- if they are unallocated the argument will not be present. " +"The ``allocatable`` attribute is not limited to arrays and can also be " +"associated with scalars, which can be useful in combination with " +"``optional`` dummy arguments." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:93 +msgid "" +"Allocations can be moved between different arrays with ``allocatable`` " +"attribute using the ``move_alloc`` intrinsic subroutine." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:125 +msgid "" +"Finally, allocations do not initialize the array. The content of the " +"uninitialized array is most likely just the bytes of whatever was " +"previously at the respective address. The allocation supports " +"initialization using the source attribute:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:134 +msgid "" +"The ``source`` keyword supports scalar and array valued variables and " +"constants." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:8 +msgid "Arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:10 +msgid "" +"Arrays are a central object in Fortran. The creation of dynamic sized " +"arrays is discussed in the [allocatable arrays " +"section](./allocatable_arrays.html)." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:13 +msgid "To pass arrays to procedures four ways are available" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:15 +msgid "*assumed-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:16 +msgid "*assumed-rank* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:17 +#: ../../source/learn/best_practices/element_operations.md:13 +msgid "*explicit-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:18 +msgid "*assumed-size* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:20 +msgid "" +"The preferred way to pass arrays to procedures is as *assumed-shape* " +"arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:33 +msgid "Higher-dimensional arrays can be passed in a similar way." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:42 +msgid "The array is simply passed by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:49 +msgid "" +"In this case no array copy is done, which has the advantage that the " +"shape and size information is automatically passed along and checked at " +"compile and optionally at runtime. Similarly, array strides can be passed" +" without requiring a copy of the array but as *assumed-shape* descriptor:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:61 +msgid "" +"This should always be your default way of passing arrays in and out of " +"subroutines. Avoid passing arrays as whole slices, as it obfuscates the " +"actual intent of the code:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:69 +msgid "" +"In case more general arrays should be passed to a procedure the *assumed-" +"rank* functionality introduced in the Fortran 2018 standard can be used" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:84 +msgid "" +"The actual rank can be queried at runtime using the ``select rank`` " +"construct. This easily allows to create more generic functions that have " +"to deal with different array ranks." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:88 +msgid "" +"*Explicit-shape* arrays can be useful for returning data from functions. " +"Most of their functionality can be provided by *assumed-shape* and " +"*assumed-rank* arrays but they find frequent use for interfacing with C " +"or in legacy Fortran procedures, therefore they will be discussed briefly" +" here." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:93 +msgid "" +"To use *explicit-shape* arrays, the dimension has to be passed explicitly" +" as dummy argument like in the example below" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:107 +msgid "For high-dimensional arrays additional indices have to be passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:117 +msgid "The routines can be invoked by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:125 +msgid "" +"Note that the shape is not checked, so the following would be legal code " +"that will potentially yield incorrect results:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:134 +msgid "" +"In this case the memory layout is preserved but the shape is changed. " +"Also, *explicit-shape* arrays require contiguous memory and will create " +"temporary arrays in case non-contiguous array strides are passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:138 +msgid "To return an array from a function with *explicit-shape* use" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:151 +msgid "" +"Finally, there are *assumed-size* arrays, which provide the least " +"compile-time and run-time checking and can be found frequently in legacy " +"code. They should be avoided in favour of *assumed-shape* or *assumed-" +"rank* arrays. An *assumed-size* array dummy argument is identified by an " +"asterisk as the last dimension, this disables the usage of this array " +"with many intrinsic functions, like ``size`` or ``shape``." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:158 +msgid "" +"To check for the correct size and shape of an *assumed-shape* array the " +"``size`` and ``shape`` intrinsic functions can be used to query for those" +" properties" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:166 +msgid "" +"Note that ``size`` returns the total size of all dimensions. To obtain " +"the shape of a specific dimension add it as second argument to the " +"function." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:169 +msgid "Arrays can be initialized by using an array constructor" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:176 +msgid "" +"The array constructor can be annotated with the type of the constructed " +"array" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:183 +msgid "Implicit do loops can be used inside an array constructor as well" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:191 +msgid "In order for the array to start with different index than 1, do:" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:8 +msgid "Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:10 +msgid "" +"A callback is a function that is passed as an argument to another " +"function." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:12 +msgid "" +"The preferred way of creating such a callback is to provide an *abstract " +"interface* declaring the signature of the callback. This allows to use " +"compile time checks for the passed callback." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:44 +msgid "" +"The function can then be used with a callback by importing the module as " +"shown in the following example" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:73 +msgid "" +"Exporting the abstract interface allows you to create procedure pointers " +"with the correct signature and also to extend the callback further as " +"shown here" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:8 +msgid "Element-wise Operations on Arrays" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:10 +msgid "" +"There are three approaches to perform element-wise operations on arrays " +"when using subroutines and functions:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:12 +msgid "`elemental` procedures" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:14 +msgid "" +"implementing the operation for vectors and write simple wrapper " +"subroutines (that use `reshape` internally) for each array shape" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:17 +msgid "" +"In the first approach, one uses the `elemental` keyword to create a " +"function like this:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:28 +msgid "" +"All arguments (in and out) must be scalars. You can then use this " +"function with arrays of any (compatible) shape, for example:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:39 +msgid "The output will be:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:49 +msgid "" +"In the above, typically `n` is a parameter and `x` is the array of an " +"arbitrary shape, but as you can see, Fortran does not care as long as the" +" final operation makes sense (if one argument is an array, then the other" +" arguments must be either arrays of the same shape or scalars). If it " +"does not, you will get a compiler error." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:55 +msgid "" +"The `elemental` keyword implies the `pure` keyword, so the procedure must" +" be pure. It results that `elemental procedures` can only use `pure` " +"procedures and have no side effects." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:58 +msgid "" +"If the elemental procedure algorithm can be made faster using array " +"operations inside, or if for some reasons the arguments must be arrays of" +" incompatible shapes, then one should use the other two approaches. One " +"can make `nroot` operate on a vector and write a simple wrapper for other" +" array shapes, e.g.:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:89 +msgid "And use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:97 +msgid "This will print:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:105 +msgid "Or one can use *explicit-shape* arrays as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:117 +msgid "Use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:125 +msgid "The output is the same as before:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:8 +msgid "File Input/Output" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:10 +msgid "" +"In Fortran files are managed by unit identifiers. Interaction with the " +"filesystem mainly happens through the ``open`` and ``inquire`` built-in " +"procedures. Generally, the workflow is to open a file to a unit " +"identifier, read and/or write to it and close it again." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:22 +msgid "" +"By default the file will be created if it is not existing already and " +"opened for both reading and writing. Writing to an existing file will " +"start in the first record (line) and therefore overwrite the file by " +"default." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:26 +msgid "" +"To create a read-only access to a file the ``status`` and ``action`` have" +" to be specified with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:36 +msgid "" +"In case the file is not present a runtime error will occur. To check for " +"the existence of a file prior to opening it the ``inquire`` function can " +"be used" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:47 +msgid "" +"Alternatively, the ``open`` procedure can return an optional *iostat* and" +" *iomsg*:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:59 +msgid "" +"Note that *iomsg* requires a fixed-length character variable with " +"sufficient storage size to hold the error message." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:62 +msgid "" +"Similarly, writing to a file happens by using the *status* and *action* " +"keyword. To create a new file use" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:72 +msgid "" +"Alternatively, ``status=\"replace\"`` can be used to overwrite an " +"existing file. It is highly recommended to first check for the existence " +"of a file before deciding on the *status* to use. To append to an output " +"file the *position* keyword can be specified explicitly with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:86 +msgid "" +"To reset the position in a file the built-in procedures ``rewind`` and " +"``backspace`` can be used. ``rewind`` will reset to the first record " +"(line), while ``backspace`` will return to the previous record (line)." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:90 +msgid "" +"Finally, to delete a file the file has to be opened and can be deleted " +"after closing with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:103 +msgid "" +"A useful IO feature is scratch files, which can be opened with " +"``status=\"scratch\"``. They are automatically deleted after closing the " +"unit identifier." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:8 +msgid "Floating Point Numbers" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:10 +msgid "" +"The default representation of floating point numbers is using single " +"precision (usually 32 bits / 4 bytes). For most applications a higher " +"precision is required. For this purpose a custom kind parameter can be " +"defined. The recommended way of defining kind parameters is to use" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:19 +msgid "" +"For many purposes it also suffices to directly infer the kind parameter " +"from a literal like here" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:26 +msgid "" +"or to rename the imported kind parameter from the ``iso_fortran_env`` " +"module" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:32 +msgid "" +"For some insightful thoughts on kind parameters see Doctor Fortran in it takes all " +"KINDs." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:35 +msgid "" +"It is recommended to have a central module to define kind parameters and " +"include them with use as necessary. An example for such a module is given" +" with" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:63 +msgid "" +"Floating point constants should always be declared including a kind " +"parameter suffix:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:72 +msgid "" +"It is safe to assign integers to floating point numbers without losing " +"accuracy:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:79 +msgid "" +"In order to impose floating point division (as opposed to integer " +"division `3/4` equal to `0`), one can convert the integer to a floating " +"point number by:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:88 +msgid "or simply separate the integer division with multiplication by `1.0_dp`" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:95 +msgid "" +"To print floating point numbers without losing precision use the " +"unlimited format specifier ``(g0)`` or the exponential representation " +"``(es24.16e3)``, which will give you 17 significant digits of printout." +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "allocatable arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "file io" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "modules programs" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "floating point" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "multidim arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "callbacks" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "style guide" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "element operations" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "integer division" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "type casting" +msgstr "" + +#: ../../source/learn/best_practices/index.md:9 +msgid "Fortran Best Practices" +msgstr "" + +#: ../../source/learn/best_practices/index.md:11 +msgid "" +"This mini-book collects a modern canonical way of doing things in " +"Fortran. It serves as a style guide and best practice recommendation for " +"popular topics and common tasks. Generally, a canonical solution or " +"pattern is presented and discussed. It is meant for programmers with " +"basic familiarity of the Fortran syntax and programming in general." +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:8 +msgid "Integer Division" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:10 +msgid "" +"Fortran distinguishes between floating point and integer arithmetic. It " +"is important to note that division for integers is always using integer " +"arithmetic. Furthermore, while Fortran uses the standard order-of-" +"operations (e.g. multiplication and division preceed addition and " +"subtraction, in the absence of parenthesis), operations of the same " +"precedence are evaluated from left to right. Consider the following " +"example for integer division of an odd number:" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:28 +msgid "" +"Be careful about whether you want to actually use integer arithmetic in " +"this context. If you want to use floating point arithmetic instead make " +"sure to cast to reals before using the division operator, or separate the" +" integers by multiplying by `1.0_dp`:" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:8 +msgid "Modules and Programs" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:10 +msgid "" +"Modules are the preferred way create modern Fortran libraries and " +"applications. As a convention, one source file should always contain only" +" one module, while the module name should match the filepath to allow " +"easy navigation in larger projects. It is also recommended to prefix " +"module names with the library name to avoid name clashes when used as " +"dependency in other projects." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:16 +msgid "An example for such a module file is given here" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:52 +msgid "" +"There are a few things in this example module to highlight. First, every " +"module starts with comments documenting the purpose and content of the " +"module. Similarly, every procedure starts with a comment briefly " +"describing its purpose and the intent of the dummy arguments. " +"Documentation is one of the most important parts of creating long-living " +"software, regardless of language." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:58 +msgid "" +"Second, imports (*use*) and exports (*public*) are explicitly given, this" +" allows on a glance at the module source to check the used and available " +"procedures, constants and derived types. The imports are usually limited " +"to the module scope rather than reimported in every procedure or " +"interface scope. Similarly, exports are made explicitly by adding a " +"*private* statement on a single line and explicitly listing all exported " +"symbols in *public* statements." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:66 +msgid "" +"Finally, the `implicit none` statement works for the whole module and " +"there is no need to repeat it within each procedure." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:69 +msgid "" +"Variables inside a module are static (*implicitly saved*). It is highly " +"recommended to limit the usage of module variables to constant " +"expressions, like parameters or enumerators only or export them as " +"*protected* rather than *public*." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:74 +msgid "" +"Submodules can be used to break long dependency chains and shorten " +"recompilation cascades in Fortran programs. They also offer the " +"possibility to provide specialized and optimized implementations without " +"requiring the use of preprocessor." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:78 +msgid "" +"An example from the Fortran standard library is the quadrature module, " +"which only defines interfaces to module procedures, but no " +"implementations" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:111 +msgid "" +"While the implementation is provided in separate submodules like the one " +"for the trapezoidal integration rule given here." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:145 +msgid "" +"Note that the module procedures do not have to be implemented in the same" +" submodule. Several submodules can be used to reduce the compilation load" +" for huge modules." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:148 +msgid "" +"Finally, when setting up a program, it is recommended to keep the actual " +"implementations in the program body at minimum. Reusing implementations " +"from modules allows you to write reusable code and focus the program " +"unit on conveying user input to the respective library functions and " +"objects." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:8 +msgid "Multidimensional Arrays" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:10 +msgid "" +"Multidimensional arrays are stored in column-major order. This means the " +"left-most (inner-most) index addresses elements contiguously. From a " +"practical point this means that the array slice ``V(:, 1)`` is " +"contiguous, while the stride between elements in the slice ``V(1, :)`` is" +" the dimension of the columns. This is important when passing array " +"slices to procedures which expect to work on contiguous data." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:17 +msgid "" +"The locality of the memory is important to consider depending on your " +"application, usually when performing operations on a multidimensional the" +" sequential access should always advance in unity strides." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:21 +msgid "" +"In the following example the inverse distance between two sets of points " +"is evaluated. Note that the points are stored contiguously in the arrays " +"``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most " +"index of the matrix ``a``." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:40 +msgid "" +"Another example would be the contraction of the third dimension of a rank" +" three array:" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:53 +msgid "" +"Contiguous array slices can be used in array-bound remapping to allow " +"usage of higher rank arrays as lower rank arrays without requiring to " +"reshape and potentially create a temporary copy of the array." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:57 +msgid "" +"For example this can be used to contract the third dimension of a rank " +"three array using a matrix-vector operation:" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:8 +msgid "Fortran Style Guide" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:10 +msgid "Naming Convention" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:13 +msgid "" +"Ultimately this is a matter of preference. Here is a style guide that we " +"like and that seems to be prevalent in most scientific codes (as well as " +"the Fortran standard library), and you are welcome to follow it." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:17 +msgid "" +"Use lowercase for all Fortran constructs (`do`, `subroutine`, `module`, " +"...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:19 +msgid "" +"Follow short mathematical notation for mathematical variables/functions " +"(`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:21 +msgid "" +"For other names use all lowercase: try to keep names to one or two " +"syllables; if more are required, use underscores to clarify (`sortpair`, " +"`whitechar`, `meshexp`, `numstrings`, `linspace`, `meshgrid`, `argsort`, " +"`spline`, `spline_interp`, `spline_interpolate`, `stoperr`, `stop_error`," +" `meshexp_der`)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:27 +msgid "" +"For example \"spline interpolation\" can be shortened to " +"`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, " +"but not to `splineint` (\"int\" could mean integration, integer, etc. ---" +" too much ambiguity, even in the clear context of a computational code). " +"This is in contrast to `get_argument()` where `getarg()` is perfectly " +"clean and clear." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:34 +msgid "" +"The above are general guidelines. In general, choosing the right name " +"certainly depends on the word being truncated as to whether the first " +"syllable is sufficient. Usually it is but clearly not always. Thus some " +"thought should go into step \"try to keep names to 2 syllables or less\" " +"since it can really affect the indicativeness and simplicity. Simple " +"consistent naming rules are a real help in this regard -- for both " +"collaboration and for one's own sanity when going back to some old code " +"you haven't seen in while." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:43 +msgid "Indentation" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:46 +msgid "" +"Use a consistent indentation to make your code readable. The amount of " +"indentation is a matter of preference, the most common choices are two, " +"three or four spaces." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:50 +msgid "Comparison to Other Languages" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:53 +msgid "" +"On the other hand, in most of the rest of the programming world, where " +"the main focus is, in one form or another, on defining and using large " +"sets of complex objects, with tons of properties and behaviors, known " +"only in the code in which they are defined (as opposed to defined by the " +"same notation throughout the literature), it makes more sense to use " +"longer, more descriptive names. The naming conventions one sees used in " +"more general-purpose languages such as C++ and Python, therefore, are " +"perfectly consistent with their more general-purpose missions. But " +"Fortran has a different mission (numerical scientific computing)." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:8 +msgid "Type Casting in Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:10 +msgid "" +"There are essentially five different ways to do type casting, each with " +"its own advantages and disadvantages." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:13 +msgid "" +"The methods I, II and V can be used both in C and Fortran. The methods " +"III and IV are only available in Fortran. The method VI is obsolete and " +"should not be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:17 +msgid "Work Arrays" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:20 +msgid "" +"Pass a \"work array\" which is packed with everything needed by the " +"caller and unpacked by the called routine. This is the old way -- e.g., " +"how LAPACK does it." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:24 +#: ../../source/learn/best_practices/type_casting.md:95 +#: ../../source/learn/best_practices/type_casting.md:179 +#: ../../source/learn/best_practices/type_casting.md:244 +#: ../../source/learn/best_practices/type_casting.md:296 +msgid "Integrator:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:53 +#: ../../source/learn/best_practices/type_casting.md:133 +#: ../../source/learn/best_practices/type_casting.md:206 +#: ../../source/learn/best_practices/type_casting.md:271 +#: ../../source/learn/best_practices/type_casting.md:326 +#: ../../source/learn/best_practices/type_casting.md:438 +msgid "Usage:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:86 +msgid "General Structure" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:89 +msgid "" +"Define a general structure which encompass the variations you actually " +"need (or are even remotely likely to need going forward). This single " +"structure type can then change if needed as future needs/ideas permit but" +" won't likely need to change from passing, say, real numbers to, say, and" +" instantiation of a text editor." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:166 +msgid "" +"There is only so much flexibility really needed. For example, you could " +"define two structure types for this purpose, one for Schroedinger and one" +" for Dirac. Each would then be sufficiently general and contain all the " +"needed pieces with all the right labels." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:171 +msgid "" +"Point is: it needn't be \"one abstract type to encompass all\" or bust. " +"There are natural and viable options between \"all\" and \"none\"." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:174 +msgid "Private Module Variables" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:177 +msgid "Hide the variable arguments completely by passing in module variables." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:236 +msgid "" +"However it is best to avoid such global variables -- even though really " +"just semi-global -- if possible. But sometimes it may be the simplest " +"cleanest way. However, with a bit of thought, usually there is a better, " +"safer, more explicit way along the lines of II or IV." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:241 +msgid "Nested functions" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:290 +msgid "Using type(c\\_ptr) Pointer" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:293 +msgid "" +"In C, one would use the `void *` pointer. In Fortran, one can use " +"`type(c_ptr)` for exactly the same purpose." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:364 +msgid "" +"As always, with the advantages of such re-casting, as Fortran lets you do" +" if you really want to, come also the disadvantages that fewer compile- " +"and run-time checks are possible to catch errors; and with that, " +"inevitably more leaky, bug-prone code. So one always has to balance the " +"costs and benefits." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:370 +msgid "" +"Usually, in the context of scientific programming, where the main thrust " +"is to represent and solve precise mathematical formulations (as opposed " +"to create a GUI with some untold number of buttons, drop-downs, and other" +" interface elements), simplest, least bug-prone, and fastest is to use " +"one of the previous approaches." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:376 +msgid "transfer() Intrinsic Function" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:379 +msgid "" +"Before Fortran 2003, the only way to do type casting was using the " +"`transfer` intrinsic function. It is functionally equivalent to the " +"method V, but more verbose and more error prone. It is now obsolete and " +"one should use the method V instead." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:384 +msgid "Examples:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:386 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:388 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:390 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:392 +msgid "Object Oriented Approach" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:395 +msgid "The module:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:432 +msgid "" +"The abstract type prescribes exactly what the integration routine needs, " +"namely a method to evaluate the function, but imposes nothing else on the" +" user. The user extends this type, providing a concrete implementation of" +" the eval type bound procedure and adding necessary context data as " +"components of the extended type." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:477 +msgid "Complete Example of void \\* vs type(c\\_ptr) and transfer()" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:480 +msgid "" +"Here are three equivalent codes: one in C using `void *` and two codes in" +" Fortran using `type(c_ptr)` and `transfer()`:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Language  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Method" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Link" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "C" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`void *`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Fortran" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`type(c_ptr)`  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`transfer()`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:489 +msgid "" +"The C code uses the standard C approach for writing extensible libraries " +"that accept callbacks and contexts. The two Fortran codes show how to do " +"the same. The `type(c_ptr)` method is equivalent to the C version and " +"that is the approach that should be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:494 +msgid "" +"The `transfer()` method is here for completeness only (before Fortran " +"2003, it was the only way) and it is a little cumbersome, because the " +"user needs to create auxiliary conversion functions for each of his " +"types. As such, the `type(c_ptr)` method should be used instead." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:8 +msgid "Build tools" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:10 +msgid "" +"Compiling your Fortran projects by hand can become quite complicated " +"depending on the number of source files and the interdependencies through" +" the module. Supporting different compilers and linkers or different " +"platforms can become increasingly complicated unless the right tools are " +"used to automatically perform those tasks." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:16 +msgid "" +"Depending on the size of your project and the purpose of project " +"different options for the build automation can be used." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:19 +msgid "" +"First, your integrated development environment probably provides a way to" +" build your program. A popular cross-platform tool is Microsoft's Visual Studio Code, but others exist, such as Atom, Eclipse Photran, and Code::Blocks. They offer a graphical user-interface," +" but are often very specific for the compiler and platform." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:29 +msgid "" +"For smaller projects, the rule based build system ``make`` is a common " +"choice. Based on the rules defined it can perform task like (re)compiling" +" object files from updated source files, creating libraries and linking " +"executables. To use ``make`` for your project you have to encode those " +"rules in ``Makefile``, which defines the interdependencies of all the " +"final program, the intermediary object files or libraries and the actual " +"source files. For a short introduction see [the guide on ``make" +"``](#using-make-as-build-tool)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:38 +msgid "" +"Maintenance tools like autotools and CMake can generate Makefiles or " +"Visual Studio project files via a high-level description. They abstract " +"away from the compiler and platform specifics." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:42 +msgid "" +"Which of those tools are the best choice for your projects depends on " +"many factors. Choose a build tool you are comfortable working with, it " +"should not get in your way while developing. Spending more time on " +"working against your build tools than doing actual development work can " +"quickly become frustrating." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:47 +msgid "" +"Also, consider the accessibility of your build tools. If it is restricted" +" to a specific integrated development environment, can all developers on " +"your project access it? If you are using a specific build system, does it" +" work on all platforms you are developing for? How large is the entry " +"barrier of your build tools? Consider the learning curve for the build " +"tools, the perfect build tool will be of no use, if you have to learn a " +"complex programming language first to add a new source file. Finally, " +"consider what other project are using, those you are depending on and " +"those that use (or will use) your project as dependency." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:59 +msgid "Using make as build tool" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:61 +msgid "" +"The most well-known and commonly used build system is called ``make``. It" +" performs actions following rules defined in a configuration file called " +"``Makefile`` or ``makefile``, which usually leads to compiling a program " +"from the provided source code." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:68 +msgid "" +"For an in-depth ``make`` tutorial lookup its info page. There is an " +"online version of this info page, available." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:70 +msgid "" +"We will start with the basics from your clean source directory. Create " +"and open the file ``Makefile``, we start with a simple rule called *all*:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:78 +msgid "" +"After saving the ``Makefile`` run it by executing ``make`` in the same " +"directory. You should see the following output:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:84 +msgid "" +"First, we note that ``make`` is substituting ``$@`` for the name of the " +"rule, the second thing to note is that ``make`` is always printing the " +"command it is running, finally, we see the result of running ``echo " +"\"all\"``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:89 +msgid "" +"We call the entry point of our ``Makefile`` always *all* by convention, " +"but you can choose whatever name you like." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:93 +msgid "" +"You should not have noticed it if your editor is working correctly, but " +"you have to indent the content of a rule with a tab character. In case " +"you have problems running the above ``Makefile`` and see an error like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:99 +msgid "" +"The indentation is probably not correct. In this case replace the " +"indentation in the second line with a tab character." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:105 +msgid "" +"Now we want to make our rules more complicated, therefore we add another " +"rule:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:117 +msgid "" +"Note how we declare variables in ``make``, you should always declare your" +" local variables with ``:=``. To access the content of a variable we use " +"the ``$(...)``, note that we have to enclose the variable name in " +"parenthesis." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:122 +msgid "" +"The declaration of variables is usually done with ``:=``, but ``make`` " +"does support *recursively expanded* variables as well with ``=``. " +"Normally, the first kind of declaration is wanted, as they are more " +"predictable and do not have a runtime overhead from the recursive " +"expansion." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:128 +msgid "" +"We introduced a dependency of the rule all, namely the content of the " +"variable ``PROG``, also we modified the printout, we want to see all the " +"dependencies of this rule, which are stored in the variable ``$^``. Now " +"for the new rule which we name after the value of the variable ``PROG``, " +"it does the same thing we did before for the rule *all*, note how the " +"value of ``$@`` is dependent on the rule it is used in." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:135 +msgid "Again check by running the ``make``, you should see:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:142 +msgid "" +"The dependency has been correctly resolved and evaluated before " +"performing any action on the rule *all*. Let's run only the second rule: " +"type ``make my_prog`` and you will only find the first two lines in your " +"terminal." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:147 +msgid "" +"The next step is to perform some real actions with ``make``, we take the " +"source code from the previous chapter here and add new rules to our " +"``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:164 +msgid "" +"We define ``OBJS`` which stands for object files, our program depends on " +"those ``OBJS`` and for each object file we create a rule to make them " +"from a source file. The last rule we introduced is a pattern matching " +"rule, ``%`` is the common pattern between ``tabulate.o`` and " +"``tabulate.f90``, which connects our object file ``tabulate.o`` to the " +"source file ``tabulate.f90``. With this set, we run our compiler, here " +"``gfortran`` and translate the source file into an object file, we do not" +" create an executable yet due to the ``-c`` flag. Note the usage of the " +"``$<`` for the first element of the dependencies here." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:175 +msgid "" +"After compiling all the object files we attempt to link the program, we " +"do not use a linker directly, but ``gfortran`` to produce the executable." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:178 +msgid "Now we run the build script with ``make``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:189 +msgid "" +"We remember that we have dependencies between our source files, therefore" +" we add this dependency explicitly to the ``Makefile`` with" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:196 +msgid "" +"Now we can retry and find that the build is working correctly. The output" +" should look like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:203 +msgid "" +"You should find *four* new files in the directory now. Run ``my_prog`` to" +" make sure everything works as expected. Let's run ``make`` again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:209 +msgid "" +"Using the timestamps of the executable ``make`` was able to determine, it" +" is newer than both ``tabulate.o`` and ``functions.o``, which in turn are" +" newer than ``tabulate.f90`` and ``functions.f90``. Therefore, the " +"program is already up-to-date with the latest code and no action has to " +"be performed." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:215 +msgid "In the end, we will have a look at a complete ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:249 +msgid "" +"Since you are starting with ``make`` we highly recommend to always " +"include the first line, like with Fortran's ``implicit none`` we do not " +"want to have implicit rules messing up our ``Makefile`` in surprising and" +" harmful ways." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:253 +msgid "" +"Next, we have a configuration section where we define variables, in case " +"you want to switch out your compiler, it can be easily done here. We also" +" introduced the ``SRCS`` variable to hold all source files, which is more" +" intuitive than specifying object files. We can easily create the object " +"files by appending a ``.o`` suffix using the functions ``addsuffix``. The" +" ``.PHONY`` is a special rule, which should be used for all entry points " +"of your ``Makefile``, here we define two entry point, we already know " +"*all*, the new *clean* rule deletes all the build artifacts again such " +"that we indeed start with a clean directory." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:264 +msgid "" +"Also, we slightly changed the build rule for the object files to account " +"for appending the ``.o`` suffix instead of substituting it. Notice that " +"we still need to explicitly define the interdependencies in the " +"``Makefile``. We also added a dependency for the object files on the " +"``Makefile`` itself, in case you change the compiler, this will allow you" +" to safely rebuild." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:270 +msgid "" +"Now you know enough about ``make`` to use it for building small projects." +" If you plan to use ``make`` more extensively, we have compiled a few " +"tips for you as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:275 +msgid "" +"In this guide, we avoided and disabled a lot of the commonly used " +"``make`` features that can be particularly troublesome if not used " +"correctly, we highly recommend staying away from the builtin rules and " +"variables if you do not feel confident working with ``make``, but " +"explicitly declare all variables and rules." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:280 +msgid "" +"You will find that ``make`` is capable tool to automate short " +"interdependent workflows and to build small projects. But for larger " +"projects, you will probably soon run against some of it limitations. " +"Usually, ``make`` is therefore not used alone but combined with other " +"tools to generate the ``Makefile`` completely or in parts." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:288 +msgid "Recursively expanded variables" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:290 +msgid "" +"Commonly seen in many projects are recursively expanded variables " +"(declared with ``=`` instead of ``:=``). Recursive expansion of your " +"variables allows out-of-order declaration and other neat tricks with " +"``make``, since they are defined as rules, which are expanded at runtime," +" rather than being defined while parsing." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:295 +msgid "" +"For example, declaring and using your Fortran flags with this snippet " +"will work completely fine:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:307 +msgid "" +"You should find the expected (or maybe unexpected) printout after running" +" ``make``" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:312 +#, python-format +msgid "{% include note.html content=\"\" %}" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:315 +msgid "" +"appending with ``+=`` to an undefined variable will produce a recursively" +" expanded variable with this state being inherited for all further " +"appending." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:318 +msgid "" +"While, it seems like an interesting feature to use, it tends to lead to " +"surprising and unexpected outcomes. Usually, when defining variables like" +" your compiler, there is little reason to actually use the recursive " +"expansion at all." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:322 +msgid "The same can easily be archived using the ``:=`` declaration:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:334 +msgid "" +"always think of a ``Makefile`` as a whole set of rules, it must be parsed" +" completely before any rule can be evaluated." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:337 +msgid "" +"You can use whatever kind of variables you like most, mixing them should " +"be done carefully, of course. It is important to be aware of the " +"differences between the two kinds and the respective implications." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:342 +msgid "Comments and whitespace" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:344 +msgid "" +"There are some caveats with whitespace and comments, which might pop up " +"from time to time when using ``make``. First, ``make`` does not know of " +"any data type except for strings and the default separator is just a " +"space. This means ``make`` will give a hard time trying to build a " +"project which has spaces in file names. If you encounter such case, " +"renaming the file is possibly the easiest solution at hand." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:351 +msgid "" +"Another common problem is leading and trailing whitespace, once " +"introduced, ``make`` will happily carry it along and it does in fact make" +" a difference when comparing strings in ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:355 +msgid "Those can be introduced by comments like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:363 +msgid "" +"While the comment will be correctly removed by ``make``, the trailing two" +" spaces are now part of the variable content. Run ``make`` and check that" +" this is indeed the case:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:372 +msgid "" +"To solve this issue, you can either move the comment, or strip the " +"whitespace with the ``strip`` function instead. Alternatively, you could " +"try to ``join`` the strings." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:383 +msgid "" +"All in all, none of this solutions will make your ``Makefile`` more " +"readable, therefore, it is prudent to pay extra attention to whitespace " +"and comments when writing and using ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:388 +msgid "The meson build system" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:390 +msgid "" +"After you have learned the basics of ``make``, which we call a low-level " +"build system, we will introduce ``meson``, a high-level build system. " +"While you specify in a low-level build system how to build your program, " +"you can use a high-level build system to specify what to build. A high-" +"level build system will deal for you with how and generate build files " +"for a low-level build system." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:397 +msgid "" +"There are plenty of high-level build systems available, but we will focus" +" on ``meson`` because it is constructed to be particularly user friendly." +" The default low-level build-system of ``meson`` is called ``ninja``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:401 +msgid "Let's have a look at a complete ``meson.build`` file:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:409 +msgid "" +"And we are already done, the next step is to configure our low-level " +"build system with ``meson setup build``, you should see output somewhat " +"similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:427 +msgid "" +"The provided information at this point is already more detailed than " +"anything we could have provided in a ``Makefile``, let's run the build " +"with ``ninja -C build``, which should show something like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:436 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. We note the steps ``ninja`` performed are the same we would " +"have coded up in a ``Makefile`` (including the dependency), yet we did " +"not have to specify them, have a look at your ``meson.build`` file again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:446 +msgid "" +"We only specified that we have a Fortran project (which happens to " +"require a certain version of ``meson`` for the Fortran support) and told " +"``meson`` to build an executable ``my_prog`` from the files " +"``tabulate.f90`` and ``functions.f90``. We had not to tell ``meson`` how " +"to build the project, it figured this out by itself." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:454 +msgid "" +"``meson`` is a cross-platform build system, the project you just " +"specified for your program can be used to compile binaries for your " +"native operating system or to cross-compile your project for other " +"platforms. Similarly, the ``meson.build`` file is portable and will work " +"on different platforms as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:461 +msgid "" +"The documentation of ``meson`` can be found at the meson-build webpage." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:465 +msgid "Creating a CMake project" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:467 +msgid "" +"Similar to ``meson`` CMake is a high-level build system as well and " +"commonly used to build Fortran projects." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:471 +msgid "" +"CMake follows a slightly different strategy and provides you with a " +"complete programming language to create your build files. This is has the" +" advantage that you can do almost everything with CMake, but your CMake " +"build files can also become as complex as the program you are building." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:478 +msgid "Start by creating the file ``CMakeLists.txt`` with the content" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:486 +msgid "" +"Similar to ``meson`` we are already done with our CMake build file. We " +"configure our low-level build files with ``cmake -B build -G Ninja``, you" +" should see output similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:500 +msgid "" +"You might be surprised that CMake tries to use the compiler ``f95``, " +"fortunately this is just a symbolic link to ``gfortran`` on most systems " +"and not the actual ``f95`` compiler. To give CMake a better hint you can " +"export the environment variable ``FC=gfortran`` rerunning should show the" +" correct compiler name now" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:516 +msgid "" +"In a similar manner you could use your Intel Fortran compiler instead to " +"build your project (set ``FC=ifort``)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:519 +msgid "" +"CMake provides support for several low-level build files, since the " +"default is platform specific, we will just use ``ninja`` since we already" +" used it together with ``meson``. As before, build your project with " +"``ninja -C build``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:530 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. The steps ``ninja`` performed are somewhat different, because " +"there is usually more than one way to write the low-level build files to " +"accomplish the task of building a project. Fortunately, we do not have to" +" concern ourselves but have our build system handle those details for us." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:536 +msgid "" +"Finally, we will shortly recap on our complete ``CMakeLists.txt`` to " +"specify our project:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:545 +msgid "" +"We specified that we have a Fortran project and told CMake to create an " +"executable ``my_prog`` from the files ``tabulate.f90`` and " +"``functions.f90``. CMake knows the details how to build the executable " +"from the specified sources, so we do not have to worry about the actual " +"steps in the build process." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:551 +msgid "" +"CMake's offical reference can be found at the CMake webpage. It is organised in manpages, which " +"are also available with your local CMake installation as well using ``man" +" cmake``. While it covers all functionality of CMake, it sometimes covers" +" them only very briefly." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:8 +msgid "Compiling the source code" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:10 +msgid "" +"The first step in the build process is to compile the source code. The " +"output from this step is generally known as the object code — a set of " +"instructions for the computer generated from the human-readable source " +"code. Different compilers will produce different object codes from the " +"same source code and the naming conventions are different." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:16 +msgid "The consequences:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:18 +msgid "" +"If you use a particular compiler for one source file, you need to use the" +" same compiler (or a compatible one) for all other pieces. After all, a " +"program may be built from many different source files and the compiled " +"pieces have to cooperate." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:22 +msgid "" +"Each source file will be compiled and the result is stored in a file with" +" an extension like \".o\" or \".obj\". It is these object files that are " +"the input for the next step: the link process." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:26 +msgid "" +"Compilers are complex pieces of software: they have to understand the " +"language in much more detail and depth than the average programmer. They " +"also need to understand the inner working of the computer. And then, over" +" the years they have been extended with numerous options to customise the" +" compilation process and the final program that will be built." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:33 +msgid "" +"But the basics are simple enough. Take the gfortran compiler, part of the" +" GNU compiler collection. To compile a simple program as the one above, " +"that consists of one source file, you run the following command, assuming" +" the source code is stored in the file \"hello.f90\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:42 +msgid "" +"This results in a file \"hello.o\" (as the gfortran compiler uses \".o\" " +"as the extension for the object files)." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:45 +msgid "" +"The option \"-c\" means: only compile the source files. If you were to " +"leave it out, then the default action of the compiler is to compile the " +"source file and start the linker to build the actual executable program. " +"The command:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:54 +msgid "results in an executable file, \"a.out\" on Linux or \"a.exe\" on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:57 +msgid "Some remarks:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:59 +msgid "" +"The compiler may complain about the contents of the source file, if it " +"finds something wrong with it — a typo for instance or an unknown " +"keyword. In that case the compilation process is broken off and you will " +"not get an object file or an executable program. For instance, if the " +"word \"program\" was inadvertently typed as \"prgoram\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:80 +msgid "" +"Using this compilation report you can correct the source code and try " +"again." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:83 +msgid "" +"The step without \"-c\" can only succeed if the source file contains a " +"main program — characterised by the `program` statement in Fortran. " +"Otherwise the link step will complain about a missing \"symbol\", " +"something along these lines:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:95 +msgid "" +"The file \"hello2.f90\" is almost the same as the file \"hello.f90\", " +"except that the keyword `program` has been replaced by the keyword " +"`subroutine`." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:98 +msgid "" +"The above examples of output from the compiler will differ per compiler " +"and platform on which it runs. These examples come from the gfortran " +"compiler running in a Cygwin environment on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:102 +msgid "Compilers also differ in the options they support, but in general:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:104 +msgid "" +"Options for optimising the code — resulting in faster programs or smaller" +" memory footprints;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:106 +msgid "" +"Options for checking the source code — checks that a variable is not used" +" before it has been given a value, for instance or checks if some " +"extension to the language is used;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:109 +msgid "Options for the location of include or module files, see below;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:110 +msgid "Options for debugging." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:8 +msgid "Distributing your programs" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:10 +msgid "" +"When you distribute your programs, there are a number of options you can " +"choose from:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:13 +msgid "Distribute the entire source code" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:14 +msgid "Distribute a pre-built executable program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:15 +msgid "Distribute static or dynamic libraries that people can use" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:17 +msgid "__Option 1: Distribute the entire source code__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:19 +msgid "" +"By far the simplest — for you as a programmer — is this one: you leave it" +" up to the user to build it on their own machine. Unfortunately, that " +"means you will have to have a user-friendly build system in place and the" +" user will have to have access to suitable compilers. For build systems: " +"see the previous section." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:25 +msgid "__Option 2: Distribute a pre-built executable program__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:27 +msgid "" +"A pre-built program that does not need to be customised, other than via " +"its input, will still need to come with the various run-time libraries " +"and will be specific to the operating system/environment it was built " +"for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:31 +msgid "" +"The set of run-time libraries differs per operating system and compiler " +"version. For a freely available compiler like gfortran, the easiest thing" +" is to ask the user to install that compiler on their system. In the case" +" of Windows: the Cygwin environment may be called for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:36 +msgid "" +"Alternatively, you can supply copies of the run-time libraries together " +"with your program. Put them in the directory where they can be found at " +"run-time." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:39 +msgid "" +"Note: On Windows, the Intel Fortran comes with a set of _redistributable_" +" libraries. These will need to be made available." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:42 +msgid "" +"In general: use a tool like \"ldd\" or \"dependency walker\" to find out " +"what libraries are required and consult the documentation of the " +"compiler." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:45 +msgid "" +"If your program does allow customisation, consider using dynamic " +"libraries for this. More is said about this below." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:48 +msgid "__Option 3: Distribute static or dynamic libraries that people can use__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:50 +msgid "" +"This option is a combination of the first two options. It does put some " +"burden on the user, as they must create a main program that calls your " +"routines in the proper way, but they do not need to know much about the " +"build system you used. You will have to deal with the run-time libraries," +" though." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:55 +msgid "" +"If you choose this option, besides the compiled libraries, you will also " +"need to supply the module intermediate files. These files are compiler-" +"specific, but so are the static libraries you build." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:59 +msgid "Distributing the tabulation program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:60 +msgid "" +"As shown above, the tabulation program can be built with the user-defined" +" function in a dynamic library. This enables you to:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:63 +msgid "Ship the executable (with the appropriate run-time libraries)" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:64 +msgid "Provide a skeleton version of the module, something like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:82 +msgid "Provide a basic build script with a command like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:88 +msgid "or:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:94 +msgid "" +"As said, you cannot control that the user has done the right thing — any " +"DLL \"functions.dll\" with a function `f` would be accepted, but not " +"necessarily lead to a successful run." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:98 +msgid "" +"An alternative set-up would be to change the main program into a " +"subroutine and have the function as an argument:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:120 +msgid "Then provide a skeleton main program:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:140 +msgid "" +"The advantage is that the compiler can check the interface of the " +"function that is passed and that the user has more freedom in the use of " +"the functionality provided by your library." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:8 +msgid "Include files and modules" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:10 +msgid "" +"Your program can be contained in various source files, all stored in the " +"same directory or organised in some convenient directory tree. The " +"details of the organisation depend on personal taste, arrangements made " +"by the group of developers you belong to, or simply the history of the " +"program. Whatever the directory structure is, you will encounter a " +"situation where the compiler needs assistence in order to compile a " +"particular source file:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:18 +msgid "" +"Fortran (and other languages) has the possibility to include an external " +"file. While this feature has become a bit less useful with the advent of " +"modules, it still has its uses. Quite often, such \"include files\" are " +"stored in a directory separated from the directories containing the " +"source files, because they are used in several locations. Quite often the" +" name of that directory is \"include\"." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:24 +msgid "" +"As we have seen, compiling source code that defines one or more modules, " +"leads to the compiler generating so-called \"module intermediate files\" " +"(with the extension \".mod\"). The compiler needs access to these files " +"to be able to read the interfaces and variables and what not, and based " +"on this information, actually compile the source code that uses the " +"various modules." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:30 +msgid "" +"Compilers support options like `-I` to indicate where these include files" +" and module intermediate files are to be found. Suppose we store the two " +"files of our `tabulate` program in the following directory structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:43 +msgid "Compiling the file \"functions.f90\" with the commands" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:50 +msgid "leads to this structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:62 +msgid "" +"To successfully compile and subsequently build the program we need to " +"tell the compiler where it can find the file \"user\\_functions.mod\":" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:71 +msgid "The result:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:85 +msgid "Notes:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:87 +msgid "" +"The details differ per compiler. Sometimes the `-I` option should be " +"followed by a space and then the name of the directory, sometimes the " +"directory should come consecutively." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:90 +msgid "" +"By default the module intermediate files (.mod) are put in the same " +"directory as the object files. When your program code is organised in " +"different subdirectories, they will get scattered over the directory " +"tree, complicating the compilation process. Luckily, many compilers allow" +" you to specify the output location for these files. For gfortran this is" +" `-J`, for instance: `-J../include` (so that the .mod files could all " +"appear in the same directory)" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:98 +msgid "" +"For large programs, consisting of many source files, it is important to " +"think through what organisation to use." +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "build tools" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "include files" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "managing libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "compiling source" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "project make" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "distributing" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "linking pieces" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "runtime libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:9 +msgid "Building programs" +msgstr "" + +#: ../../source/learn/building_programs/index.md:11 +msgid "" +"Languages like Fortran, C, C++ and Java, to name but a few, share certain" +" characteristics: you write code in your language of choice but then you " +"have to build an executable program from that source code. Other " +"languages are interpreted — the source code is analysed by a special " +"program and taken as direct instructions. Two very simple examples of " +"that type of language: Windows batch files and Linux shell scripts." +msgstr "" + +#: ../../source/learn/building_programs/index.md:19 +msgid "" +"In this tutorial we concentrate on the first type of languages, with " +"Fortran as the main example. One advantage of compiled languages is that " +"the build process that you need to build an executable program, is used " +"to transform the human-readable source code into an efficient program " +"that can be run on the computer." +msgstr "" + +#: ../../source/learn/building_programs/index.md:25 +msgid "" +"Remark: this tutorial gives examples for the Windows and Linux operating " +"systems, however the workflow and general principles still apply to " +"macOS." +msgstr "" + +#: ../../source/learn/building_programs/index.md:28 +msgid "Compiled languages" +msgstr "" + +#: ../../source/learn/building_programs/index.md:30 +msgid "Let us have a look at a simple example:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:38 +msgid "" +"This is just about the simplest program you can write in Fortran and it " +"is certainly a variation on one of the most famous programs. Even though " +"it is simple to express in source code, a lot of things actually happen " +"when the executable that is built from this code runs:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:43 +msgid "" +"A process is started on the computer in such a way that it can write to " +"the console — the window (DOS-box, xterm, ...) at which you type the " +"program's name." +msgstr "" + +#: ../../source/learn/building_programs/index.md:46 +msgid "" +"It writes the text \"Hello!\" to the console. To do so it must properly " +"interact with the console." +msgstr "" + +#: ../../source/learn/building_programs/index.md:48 +msgid "" +"When done, it finishes, cleaning up all the resources (memory, connection" +" to the console etc.) it took." +msgstr "" + +#: ../../source/learn/building_programs/index.md:51 +msgid "" +"Fortunately, as a programmer in a high-level language you do not need to " +"consider all these details. In fact, this is the sort of things that is " +"taken care of by the build process: the compiler and the linker." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:8 +msgid "Linking the objects" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:10 +msgid "" +"Almost all programs, except for the simplest, are built up from different" +" pieces. We are going to examine such a situation in more detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:14 +msgid "" +"Here is a general program for tabulating a function (source code in " +"\"tabulate.f90\"):" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:35 +msgid "Note the `use` statement — this will be where we define the function `f`." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:37 +msgid "" +"We want to make the program general, so keep the specific source code — " +"the implementation of the function `f` — separated from the general " +"source code. There are several ways to achieve this, but one is to put it" +" in a different source file. We can give the general program to a user " +"and they provide a specific source code." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:43 +msgid "" +"Assume for the sake of the example that the function is implemented in a " +"source file \"function.f90\" as:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:59 +msgid "" +"To build the program with this specific function, we need to compile two " +"source files and combine them via the link step into one executable " +"program. Because the program \"tabulate\" depends on the module " +"\"function\", we need to compile the source file containing our module " +"first. A sequence of commands to do this is:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:70 +msgid "" +"The first step compiles the module, resulting in an object file " +"\"functions.o\" and a module intermediate file, \"user\\_functions.mod\"." +" This module file contains all the information the compiler needs to " +"determine that the function `f` is defined in this module and what its " +"interface is. This information is important: it enables the compiler to " +"check that you call the function in the right way. It might be that you " +"made a mistake and called the function with two arguments instead of one." +" If the compiler does not know anything about the function's interface, " +"then it cannot check anything." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:80 +msgid "The second step invokes the compiler in such a way that:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:82 +msgid "it compiles the file \"tabulate.f90\" (using the module file);" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:83 +msgid "" +"it invokes the linker to combine the object files tabulate.o and " +"functions.o into an executable program — with the default name \"a.out\" " +"or \"a.exe\" (if you want a different name, use the option \"-o\")." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:87 +msgid "" +"What you do not see in general is that the linker also adds a number of " +"extra files in this link step, the run-time libraries. These run-time " +"libraries contain all the \"standard\" stuff — low-level routines that do" +" the input and output to screen, the `sin` function and much more." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:92 +msgid "" +"If you want to see the gory details, add the option \"-v\". This " +"instructs the compiler to report all the steps that are in detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:95 +msgid "" +"The end result, the executable program, contains the compiled source code" +" and various auxiliary routines that make it work. It also contains " +"references to so-called dynamic run-time libraries (in Windows: DLLs, in " +"Linux: shared objects or shared libraries). Without these run-time " +"libraries the program will not start." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:8 +msgid "Managing libraries (static and dynamic libraries)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:10 +msgid "" +"If you need to manage a program built of dozens of source files (and that" +" is not uncommon!), the command-line needed to specify all the object " +"files will be very long indeed. This soon becomes tedious or even " +"impossible to maintain. So a different solution is called for: create " +"your own libraries." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:16 +msgid "" +"Libraries contain any number of object files in a compact form, so that " +"the command-line becomes far shorter:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:23 +msgid "" +"where \"supportlib.a\" is a collection of one, two or many object files, " +"all compiled and then put into a library. The extension \".a\" is used by" +" Linux and Linux-like platforms. On Windows the extension \".lib\" is " +"used." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:27 +msgid "" +"Creating your own libraries is not that complicated: on Linux, you can " +"achieve this using a utility like `ar`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:37 +msgid "or on Windows using the `lib` utility:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:46 +msgid "Note:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:48 +msgid "" +"The command `ar` with the option `r` either creates the library (the name" +" appears after the option) or adds new object files to the library (or " +"replaces any existing ones)." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:51 +msgid "" +"The command `lib` will create a new library if you use specify the option" +" `/out:` with the name of the new library next to it. To add object files" +" to an existing library, leave out the `/out:` bit." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:54 +msgid "" +"On platforms like Linux there is a particular convention to name " +"libraries. If you name your library like \"libname.a\" (note the \"lib\" " +"prefix), then you can refer to it as `-lname` in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:57 +msgid "" +"Libraries are often sought in directories indicated by an option `-L` or " +"`/LIBPATH`. This saves you from having to specify the exact path for " +"every library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:61 +msgid "" +"Using libraries you can build very large programs without having to " +"resort to extremely long command lines." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:65 +msgid "Static versus dynamic libraries" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:67 +msgid "" +"The above discussion is tacitly assuming that you are using the so-called" +" static libraries. Static libraries (or at least parts of their contents)" +" become an integral part of the executable program. The only way to " +"change the routines incorporated in the program is by rebuilding the " +"program with a new version of the library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:73 +msgid "" +"A flexible alternative is to use the so-called dynamic libraries. These " +"libraries remain outside the executable program and as a consequence can " +"be replaced without rebulding the entire program. Compilers and indeed " +"the operating system itself rely heavily on such dynamic libraries. You " +"could consider dynamic libraries as a sort of executable programs that " +"need a bit of help to be run." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:80 +msgid "" +"Building dynamic libraries works slightly differently from building " +"static libraries: you use the compiler/linker instead of a tool like `ar`" +" or `lib`." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:84 +msgid "On Linux:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:92 +msgid "On Windows, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:100 +msgid "The differences are that:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:102 +msgid "" +"You need to specify a compile option on Linux, for gfortran that is " +"`-fpic`, because the object code is slightly different." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:104 +msgid "" +"You need to tell in the link step that you want a dynamic library (on " +"Linux: a shared object/library, hence the extension \".so\"; on Windows: " +"a dynamic link library)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:108 +msgid "" +"There is one more thing to be aware of: On Windows you must explicitly " +"specify that a procedure is to be _exported_, i.e. is visible in the " +"dynamic library. There are several ways — depending on the compiler you " +"use — to achieve this. One method is via a so-called compiler directive:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:119 +msgid "Or, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:126 +msgid "" +"Besides a dynamic library (DLL), a so-called import library may be " +"generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:129 +msgid "" +"Because the details differ per compiler, here are two examples: gfortran " +"on Cygwin and Intel Fortran on Windows. In both cases we look at the " +"`tabulate` program in the file \"tabulate.f90\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:133 +msgid "GNU/Linux and gfortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:134 +msgid "" +"The `tabulate` program requires a user-defined routine `f`. If we let it " +"reside in a dynamic library, say \"functions.dll\", we can simply replace" +" the implementation of the function by putting another dynamic library in" +" the directory. No need to rebuild the program as such." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:139 +msgid "" +"On Cygwin it is not necessary to explicitly export a procedure — all " +"publically visible routines are exported when you build a dynamic " +"library. Also, no import library is generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:143 +msgid "" +"Since our dynamic library can be built from a single source file, we can " +"take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:150 +msgid "" +"This produces the files \"functions.dll\" and \"user\\_functions.mod\". " +"The utility `nm` tells us the exact name of the function `f`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:165 +msgid "" +"It has received a prefix `__function_MOD_` to distinguish it from any " +"other routine \"f\" that might be defined in another module." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:168 +msgid "The next step is to build the program:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:174 +msgid "" +"The DLL and the .mod file are used to build the executable program with " +"checks on the function's interface, the right name and the reference to " +"\"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:178 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, " +"implementing a different function \"f\". Of course, you need to be " +"careful to use the correct interface for this function. The " +"compiler/linker are not invoked anymore, so they can do no checking." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:183 +msgid "Windows and Intel Fortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:184 +msgid "" +"The setup is the same as with Linux, but on Windows it is necessary to " +"explicitly export the routines. And an import library is generated — this" +" is the library that should be used in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:188 +msgid "" +"The source file must contain the compiler directive, otherwise the " +"function `f` is not exported:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:196 +msgid "Again we take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:202 +msgid "" +"This produces the files \"functions.dll\", \"user\\_functions.mod\" as " +"well as \"functions.lib\" (and two other files of no importance here). " +"The \"dependency walker\" program tells us that the exact name of the " +"function \"f\" is `FUNCTION_mp_F`. It is also exported, so that it can be" +" found by the linker in the next step:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:211 +msgid "Note that we need to specify the name of the export library, not the DLL!" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:213 +msgid "" +"(Note also: the Intel Fortran compiler uses the name of the first source " +"file as the name for the executable — here we do without the `-exe` " +"option.)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:216 +msgid "" +"Just as under Cygwin, the DLL and the .mod file are used to build the " +"executable program with checks on the function's interface, the right " +"name and the reference to \"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:220 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, but " +"the same caution is required: while the implementation can be quite " +"different, the function's interface must be the same." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:8 +msgid "An introduction to make" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:10 +msgid "" +"We briefly discussed the basics of ``make``. This chapter gives ideas and" +" strategies to scale ``make`` for larger projects." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:13 +msgid "Before going into detail with ``make``, consider a few points:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:14 +msgid "" +"``make`` is a Unix tool and might give you a hard time when porting to " +"non-Unix platforms. That said, there are also different flavors of " +"``make`` available, not all might support the features you want to use." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:17 +msgid "" +"While ``make`` gives you full control over the build process, it also " +"means you are responsible for the entire build process, and you have to " +"specify the rules for every detail of your project. You might find " +"yourself spending a significant amount of time writing and maintaining " +"your ``Makefile`` instead of developing your source code." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:21 +msgid "" +"You can work with your ``Makefile``, but think about other developers on " +"your project who may not be familiar with ``make``. How much time do you " +"expect them to spend learning your ``Makefile`` and would they be able to" +" debug or add features?" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:24 +msgid "" +"Pure ``make`` will not scale. You will soon add auxiliary programs to " +"dynamically or statically generate your ``Makefile``. Those introduce " +"dependencies and possible sources of errors. The effort needed to test " +"and document those tools should not be underestimated." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:29 +msgid "" +"If you think ``make`` is suitable for your needs, than you can start " +"writing your ``Makefile``. For this course we will use real world " +"examples from the package index, which (at the time of writing) use build" +" systems other than ``make``. This guide should present a general " +"recommended style to write ``make``, but also serve as demonstration of " +"useful and interesting features." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:36 +msgid "" +"Even if you find ``make`` unsuitable to build your project, it is *the* " +"tool to automate workflows defined by files. Maybe you can leverage its " +"power in a different context." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:39 +msgid "Getting started" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:41 +msgid "" +"For this part we will work with the Fortran CSV module (v1.2.0). " +"Our goal is to write a ``Makefile`` to compile this project to a static " +"library. Start by cloning the repository" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:52 +msgid "" +"For this part we will work with the code from tag ``1.2.0``, to make it " +"as reproducible as possible. Feel free to use the latest version or " +"another project instead." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:55 +msgid "" +"This project uses FoBiS as build system, and you can check the " +"``build.sh`` for options used with FoBiS. We are about to write a " +"``Makefile`` for this project. First, we check the directory structure " +"and the source files" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:77 +msgid "" +"We find seven different Fortran source files; the four in ``src`` should " +"be compiled and added to a static library while the three in " +"``src/tests`` contain individual programs that depend on this static " +"library." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:81 +msgid "Start by creating a simple ``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:147 +msgid "" +"Invoking ``make`` should build the static library and the test " +"executables as expected:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:162 +msgid "" +"There are a few things to note there, a ``make`` build usually interlaces" +" the build artifacts and the source code, unless you put extra effort " +"into implementing a build directory. Also, right now the the source files" +" and dependencies are specified explicitly, which results in several " +"additional lines even for such a simple project." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:169 +msgid "Automatically generated dependencies" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:171 +msgid "" +"The main drawback of ``make`` for Fortran is the missing capability to " +"determine module dependencies. This is usually solved by either adding " +"those by hand or automatically scanning the source code with an external " +"tool. Some compilers (like the Intel Fortran compiler) also offer to " +"generate dependencies in ``make`` format." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:176 +msgid "" +"Before diving into the dependency generation, we will outline the concept" +" of a robust take on the dependency problem. First, we want an approach " +"that can process all source files independently, while each source file " +"provides (``module``) or requires (``use``) modules. When generating the " +"dependencies only the name of the source file and the module files are " +"known, and no information on the object file names should be required." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:184 +msgid "" +"If you check the dependency section above you will note that all " +"dependencies are defined between object files rather than source files. " +"To change this, we can generate a map from the source files their " +"respective object files:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:194 +msgid "" +"Note the declaration of ``obj`` as recursively expanded variable, we " +"effectively use this mechanism to define a function in ``make``. The " +"``foreach`` function allows us to loop over all source files, while the " +"``eval`` function allows us to generate ``make`` statements and evaluate " +"them for this ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:199 +msgid "" +"We adjust the dependencies accordingly as we can now define the name of " +"the object files through the source file names:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:219 +msgid "" +"The same strategy of creating a map is already used for the module files," +" now it is just expanded to the object files as well." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:222 +msgid "" +"To generate the respective dependency map automatically we will use an " +"``awk`` script here" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:284 +msgid "" +"This script makes a few assumptions about the source code it parses, so " +"it will not work with all Fortran code (namely submodules are not " +"supported), but for this example it will suffice." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:289 +msgid "Using awk" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:291 +msgid "" +"The above script uses the ``awk`` language, which is designed for the " +"purpose of text stream processing and uses a C-like syntax. In ``awk`` " +"you can define groups which are evaluated on certain events, *e.g.* when " +"a line matches a specific pattern, usually expressed by a regular expression." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:297 +msgid "" +"This ``awk`` script defines five groups, two of them use the special " +"pattern ``BEGIN`` and ``END`` which are run before the script starts and " +"after the script finishes, respectively. Before the script starts we make" +" the script case-insensitive since we are dealing with Fortran source " +"code here. We also use the special variable ``FILENAME`` to determine " +"which file we are currently parsing and to allow processing multiple " +"files at once." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:305 +msgid "" +"With the three patterns defined we are looking for ``module``, ``use`` " +"and ``include`` statements as the first space delimited entry. With the " +"used pattern not all valid Fortran code will be parsed correctly. A " +"failing example would be:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:314 +msgid "" +"To make this parsable by the ``awk`` script we can add another group " +"directly after the ``BEGIN`` group, modifying the stream while processing" +" it with" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:323 +msgid "" +"In theory you would need a full Fortran parser to deal with continuation " +"lines and other difficulties. This might be possible to implement in " +"``awk`` but would require a huge script in the end." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:327 +msgid "" +"Also, keep in mind that generating the dependencies should be fast, an " +"expensive parser can produce a significant overhead when generating " +"dependencies for a large code base. Making reasonable assumptions can " +"simplify and speed up this step, but also introduces an error source in " +"your build tools." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:334 +msgid "" +"Make the script executable (``chmod +x gen-deps.awk``) and test it with " +"``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output " +"like this:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:356 +msgid "" +"Note that the scripts output will use recursively expanded variables and " +"not define any dependencies yet, because out-of-order declaration of " +"variables might be necessary and we do not want to create any target by " +"accident. You can verify that the same information as in the above " +"handwritten snippet is present. The only exception is the additional " +"dependency on the ``iso_fortran_env.mod``, since it is an undefined " +"variable it will just expand to an empty string and not introduce any " +"further dependencies." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:364 +msgid "" +"Now, you can finally include this piece in your ``Makefile`` to automate " +"the dependency generation:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:431 +msgid "" +"Here additional dependency files are generated for each source file " +"individually and than included into the main ``Makefile``. Also, the " +"dependency files are added as dependency to the object files to ensure " +"they are generated before the object is compiled. The pipe character in " +"the dependencies defines an order of the rules without a timestamp " +"dependency, because it is not necessary to recompile an object file in " +"case dependencies are regenerated and potentially unchanged." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:439 +msgid "" +"Again, we make use of the ``eval`` function to generate the dependencies " +"in a ``foreach`` loop over all object files. Note that we created a map " +"between the object files in the dependency files, expanding ``dep`` once " +"yields the object file name, expanding it again yields the object files " +"it depends on." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:444 +msgid "Building your project with ``make`` should give an output similar to" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:465 +msgid "" +"Once the dependency files are generated, ``make`` will only update them " +"if the source changes and not require to rebuild them again for every " +"invocation." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:469 +msgid "" +"With correct dependencies you can leverage parallel execution of your " +"``Makefile``, just use the ``-j`` flag to create multiple ``make`` " +"processes." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:472 +msgid "" +"Since dependencies can now be generated automatically, there is no need " +"to specify the source files explicitly, the ``wildcard`` function can be " +"used to determine them dynamically:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:8 +msgid "Run-time libraries" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:10 +msgid "" +"To illustrate that even a simple program depends on external run-time " +"libraries, here is the output from the `ldd` utility that reports such " +"dependencies:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:25 +msgid "" +"Other compilers or other versions of the same compiler will probably " +"require different dynamic libraries. As long as you run the program on " +"the same computer — or, more accurately, within the same environment — " +"there should be no problem. However, when such a library cannot be found," +" you will get (hopefully) an error message and the program stops " +"immediately." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:32 +msgid "" +"Therefore it is good to know what libraries are required. On Linux and " +"Linux-like environments, the `ldd` utility is a great help. On Windows, " +"you may want to use the `dependency walker` (the latest version, which " +"works very nicely with Windows 10, is found here: " +")" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:37 +msgid "" +"Another thing you should know is where the program tries to find these " +"libraries. That is a vast subject in its own right and full of " +"complications and history. Here we merely scratch the surface:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:41 +msgid "_On Linux:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:43 +msgid "" +"The environment variable `LD_LIBRARY_PATH` is used. It consists of a list" +" of directories to be searched, each directory separated via colons (:) " +"from the others. For instance: `/usr/lib:/usr/local/lib` — typical system" +" directories." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:47 +msgid "" +"At the link step you can also use an option to set `RPATH`, a list of " +"directories that is put into the executable file itself." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:49 +msgid "Then there are several system directories that are searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:51 +msgid "_On Windows:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:53 +msgid "" +"The directory containing the executable program may also contain dynamic " +"libraries." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:55 +msgid "" +"The environment variable \"PATH\" is used. Again a list of directories to" +" be searched, but now the separating character is the semicolon (;)." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:57 +msgid "A set of system directories is searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:59 +msgid "" +"Unfortunately, the details can change from one version of the operating " +"system to the next. The above is merely an indication — use tools like " +"\"ldd\" or \"dependency walker\" to find out what libraries are loaded " +"and where they are found." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:64 +msgid "" +"If you want to share your program with colleagues or clients or simply " +"users all over the world, you will have to take care that, besides the " +"program, you also distribute the libraries it depends on. For more " +"information: see below." +msgstr "" + +#: ../../source/learn/intrinsics/ARRAY_index.md:1 +#: ../../source/learn/intrinsics/index.md:15 +msgid "Properties and attributes of arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:2 +msgid "merge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:3 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/ACOS.md:3 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:3 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:3 +#: ../../source/learn/intrinsics/_pages/AINT.md:3 +#: ../../source/learn/intrinsics/_pages/ANINT.md:3 +#: ../../source/learn/intrinsics/_pages/ASIN.md:3 +#: ../../source/learn/intrinsics/_pages/ASINH.md:3 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:3 +#: ../../source/learn/intrinsics/_pages/ATANH.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:3 +#: ../../source/learn/intrinsics/_pages/BGE.md:3 +#: ../../source/learn/intrinsics/_pages/BGT.md:3 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/BLE.md:3 +#: ../../source/learn/intrinsics/_pages/BLT.md:3 +#: ../../source/learn/intrinsics/_pages/BTEST.md:3 +#: ../../source/learn/intrinsics/_pages/CEILING.md:3 +#: ../../source/learn/intrinsics/_pages/CHAR.md:3 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:3 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:3 +#: ../../source/learn/intrinsics/_pages/CONJG.md:3 +#: ../../source/learn/intrinsics/_pages/COS.md:3 +#: ../../source/learn/intrinsics/_pages/COSH.md:3 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:3 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:3 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:3 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:3 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:3 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/DBLE.md:3 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:3 +#: ../../source/learn/intrinsics/_pages/DIM.md:3 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:3 +#: ../../source/learn/intrinsics/_pages/DPROD.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:3 +#: ../../source/learn/intrinsics/_pages/ERF.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:3 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:3 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/EXP.md:3 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:3 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:3 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:3 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:3 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:3 +#: ../../source/learn/intrinsics/_pages/HUGE.md:3 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:3 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IALL.md:3 +#: ../../source/learn/intrinsics/_pages/IAND.md:3 +#: ../../source/learn/intrinsics/_pages/IANY.md:3 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:3 +#: ../../source/learn/intrinsics/_pages/IBITS.md:3 +#: ../../source/learn/intrinsics/_pages/IBSET.md:3 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IEOR.md:3 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INT.md:3 +#: ../../source/learn/intrinsics/_pages/IOR.md:3 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:3 +#: ../../source/learn/intrinsics/_pages/KIND.md:3 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:3 +#: ../../source/learn/intrinsics/_pages/LEN.md:3 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/LGE.md:3 +#: ../../source/learn/intrinsics/_pages/LGT.md:3 +#: ../../source/learn/intrinsics/_pages/LLE.md:3 +#: ../../source/learn/intrinsics/_pages/LLT.md:3 +#: ../../source/learn/intrinsics/_pages/LOG.md:3 +#: ../../source/learn/intrinsics/_pages/LOG10.md:3 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:3 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/MASKL.md:3 +#: ../../source/learn/intrinsics/_pages/MASKR.md:3 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:3 +#: ../../source/learn/intrinsics/_pages/MAX.md:3 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:3 +#: ../../source/learn/intrinsics/_pages/MIN.md:3 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MOD.md:3 +#: ../../source/learn/intrinsics/_pages/MODULO.md:3 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:3 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:3 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:3 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/NINT.md:3 +#: ../../source/learn/intrinsics/_pages/NORM2.md:3 +#: ../../source/learn/intrinsics/_pages/NOT.md:3 +#: ../../source/learn/intrinsics/_pages/NULL.md:3 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:3 +#: ../../source/learn/intrinsics/_pages/PACK.md:3 +#: ../../source/learn/intrinsics/_pages/PARITY.md:3 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:3 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:3 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:3 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:3 +#: ../../source/learn/intrinsics/_pages/RADIX.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:3 +#: ../../source/learn/intrinsics/_pages/RANGE.md:3 +#: ../../source/learn/intrinsics/_pages/REAL.md:3 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:3 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:3 +#: ../../source/learn/intrinsics/_pages/SCALE.md:3 +#: ../../source/learn/intrinsics/_pages/SCAN.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/SIGN.md:3 +#: ../../source/learn/intrinsics/_pages/SIN.md:3 +#: ../../source/learn/intrinsics/_pages/SINH.md:3 +#: ../../source/learn/intrinsics/_pages/SPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:3 +#: ../../source/learn/intrinsics/_pages/SQRT.md:3 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:3 +#: ../../source/learn/intrinsics/_pages/TAN.md:3 +#: ../../source/learn/intrinsics/_pages/TANH.md:3 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:3 +#: ../../source/learn/intrinsics/_pages/TINY.md:3 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:3 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:3 +#: ../../source/learn/intrinsics/_pages/TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:3 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:3 +msgid "__Name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:5 +msgid "__merge__(3) - \\[ARRAY CONSTRUCTION\\] Merge variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:7 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:7 +#: ../../source/learn/intrinsics/_pages/ACOS.md:6 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:7 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:8 +#: ../../source/learn/intrinsics/_pages/AINT.md:8 +#: ../../source/learn/intrinsics/_pages/ANINT.md:8 +#: ../../source/learn/intrinsics/_pages/ASIN.md:7 +#: ../../source/learn/intrinsics/_pages/ASINH.md:8 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/ATAN.md:7 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:7 +#: ../../source/learn/intrinsics/_pages/ATANH.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:7 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:8 +#: ../../source/learn/intrinsics/_pages/BGE.md:8 +#: ../../source/learn/intrinsics/_pages/BGT.md:8 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:7 +#: ../../source/learn/intrinsics/_pages/BLE.md:8 +#: ../../source/learn/intrinsics/_pages/BLT.md:8 +#: ../../source/learn/intrinsics/_pages/BTEST.md:7 +#: ../../source/learn/intrinsics/_pages/CEILING.md:8 +#: ../../source/learn/intrinsics/_pages/CHAR.md:8 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:8 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:7 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:8 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:8 +#: ../../source/learn/intrinsics/_pages/CONJG.md:7 +#: ../../source/learn/intrinsics/_pages/COS.md:7 +#: ../../source/learn/intrinsics/_pages/COSH.md:8 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:8 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:8 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:8 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:8 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:8 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/DBLE.md:8 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:7 +#: ../../source/learn/intrinsics/_pages/DIM.md:8 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:8 +#: ../../source/learn/intrinsics/_pages/DPROD.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:7 +#: ../../source/learn/intrinsics/_pages/ERF.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:8 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:8 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:8 +#: ../../source/learn/intrinsics/_pages/EXP.md:7 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:8 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:7 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:8 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:7 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:7 +#: ../../source/learn/intrinsics/_pages/HUGE.md:7 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:7 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IALL.md:8 +#: ../../source/learn/intrinsics/_pages/IAND.md:8 +#: ../../source/learn/intrinsics/_pages/IANY.md:8 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:8 +#: ../../source/learn/intrinsics/_pages/IBITS.md:8 +#: ../../source/learn/intrinsics/_pages/IBSET.md:8 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IEOR.md:8 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INT.md:6 +#: ../../source/learn/intrinsics/_pages/IOR.md:8 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:8 +#: ../../source/learn/intrinsics/_pages/KIND.md:8 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:8 +#: ../../source/learn/intrinsics/_pages/LEN.md:7 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:7 +#: ../../source/learn/intrinsics/_pages/LGE.md:8 +#: ../../source/learn/intrinsics/_pages/LGT.md:8 +#: ../../source/learn/intrinsics/_pages/LLE.md:8 +#: ../../source/learn/intrinsics/_pages/LLT.md:8 +#: ../../source/learn/intrinsics/_pages/LOG.md:8 +#: ../../source/learn/intrinsics/_pages/LOG10.md:7 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:8 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:8 +#: ../../source/learn/intrinsics/_pages/MASKL.md:7 +#: ../../source/learn/intrinsics/_pages/MASKR.md:7 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:8 +#: ../../source/learn/intrinsics/_pages/MAX.md:7 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MERGE.md:7 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:7 +#: ../../source/learn/intrinsics/_pages/MIN.md:8 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MOD.md:8 +#: ../../source/learn/intrinsics/_pages/MODULO.md:8 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:8 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:8 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:8 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:7 +#: ../../source/learn/intrinsics/_pages/NINT.md:7 +#: ../../source/learn/intrinsics/_pages/NORM2.md:8 +#: ../../source/learn/intrinsics/_pages/NOT.md:6 +#: ../../source/learn/intrinsics/_pages/NULL.md:8 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:8 +#: ../../source/learn/intrinsics/_pages/PACK.md:7 +#: ../../source/learn/intrinsics/_pages/PARITY.md:8 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:8 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:8 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:8 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:8 +#: ../../source/learn/intrinsics/_pages/RADIX.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:8 +#: ../../source/learn/intrinsics/_pages/RANGE.md:8 +#: ../../source/learn/intrinsics/_pages/REAL.md:7 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:8 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:8 +#: ../../source/learn/intrinsics/_pages/SCALE.md:8 +#: ../../source/learn/intrinsics/_pages/SCAN.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/SIGN.md:8 +#: ../../source/learn/intrinsics/_pages/SIN.md:7 +#: ../../source/learn/intrinsics/_pages/SINH.md:7 +#: ../../source/learn/intrinsics/_pages/SPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:8 +#: ../../source/learn/intrinsics/_pages/SQRT.md:7 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:8 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:8 +#: ../../source/learn/intrinsics/_pages/TAN.md:8 +#: ../../source/learn/intrinsics/_pages/TANH.md:8 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:8 +#: ../../source/learn/intrinsics/_pages/TINY.md:8 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:7 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:8 +#: ../../source/learn/intrinsics/_pages/TRIM.md:8 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:8 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:7 +msgid "__Syntax__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:23 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:18 +#: ../../source/learn/intrinsics/_pages/ACOS.md:17 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:18 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:15 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:15 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:16 +#: ../../source/learn/intrinsics/_pages/AINT.md:25 +#: ../../source/learn/intrinsics/_pages/ANINT.md:12 +#: ../../source/learn/intrinsics/_pages/ASIN.md:17 +#: ../../source/learn/intrinsics/_pages/ASINH.md:18 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/ATAN.md:18 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:11 +#: ../../source/learn/intrinsics/_pages/ATANH.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:11 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:17 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:14 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:14 +#: ../../source/learn/intrinsics/_pages/BGE.md:12 +#: ../../source/learn/intrinsics/_pages/BGT.md:12 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:14 +#: ../../source/learn/intrinsics/_pages/BLE.md:12 +#: ../../source/learn/intrinsics/_pages/BLT.md:12 +#: ../../source/learn/intrinsics/_pages/BTEST.md:17 +#: ../../source/learn/intrinsics/_pages/CEILING.md:16 +#: ../../source/learn/intrinsics/_pages/CHAR.md:16 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:17 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:14 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:12 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:14 +#: ../../source/learn/intrinsics/_pages/CONJG.md:16 +#: ../../source/learn/intrinsics/_pages/COS.md:17 +#: ../../source/learn/intrinsics/_pages/COSH.md:19 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:12 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:12 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:12 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:12 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:12 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:12 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:16 +#: ../../source/learn/intrinsics/_pages/DBLE.md:18 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:17 +#: ../../source/learn/intrinsics/_pages/DIM.md:17 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:12 +#: ../../source/learn/intrinsics/_pages/DPROD.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:11 +#: ../../source/learn/intrinsics/_pages/ERF.md:12 +#: ../../source/learn/intrinsics/_pages/ERFC.md:16 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:12 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:12 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:18 +#: ../../source/learn/intrinsics/_pages/EXP.md:11 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:12 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:17 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:12 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:11 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:16 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:17 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:17 +#: ../../source/learn/intrinsics/_pages/HUGE.md:18 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:16 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:12 +#: ../../source/learn/intrinsics/_pages/IALL.md:16 +#: ../../source/learn/intrinsics/_pages/IAND.md:12 +#: ../../source/learn/intrinsics/_pages/IANY.md:16 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:12 +#: ../../source/learn/intrinsics/_pages/IBITS.md:12 +#: ../../source/learn/intrinsics/_pages/IBSET.md:12 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:15 +#: ../../source/learn/intrinsics/_pages/IEOR.md:12 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:12 +#: ../../source/learn/intrinsics/_pages/INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/INT.md:14 +#: ../../source/learn/intrinsics/_pages/IOR.md:14 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:16 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:12 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:12 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:15 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:12 +#: ../../source/learn/intrinsics/_pages/KIND.md:12 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:12 +#: ../../source/learn/intrinsics/_pages/LEN.md:19 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/LGE.md:12 +#: ../../source/learn/intrinsics/_pages/LGT.md:12 +#: ../../source/learn/intrinsics/_pages/LLE.md:18 +#: ../../source/learn/intrinsics/_pages/LLT.md:12 +#: ../../source/learn/intrinsics/_pages/LOG.md:12 +#: ../../source/learn/intrinsics/_pages/LOG10.md:14 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:16 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:12 +#: ../../source/learn/intrinsics/_pages/MASKL.md:14 +#: ../../source/learn/intrinsics/_pages/MASKR.md:14 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:12 +#: ../../source/learn/intrinsics/_pages/MAX.md:11 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MERGE.md:11 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:19 +#: ../../source/learn/intrinsics/_pages/MIN.md:12 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MOD.md:12 +#: ../../source/learn/intrinsics/_pages/MODULO.md:12 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:12 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:12 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:12 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:14 +#: ../../source/learn/intrinsics/_pages/NINT.md:13 +#: ../../source/learn/intrinsics/_pages/NORM2.md:17 +#: ../../source/learn/intrinsics/_pages/NOT.md:10 +#: ../../source/learn/intrinsics/_pages/NULL.md:13 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:12 +#: ../../source/learn/intrinsics/_pages/PACK.md:20 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:12 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:12 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:12 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:15 +#: ../../source/learn/intrinsics/_pages/RADIX.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:12 +#: ../../source/learn/intrinsics/_pages/RANGE.md:18 +#: ../../source/learn/intrinsics/_pages/REAL.md:11 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:16 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:12 +#: ../../source/learn/intrinsics/_pages/SCALE.md:15 +#: ../../source/learn/intrinsics/_pages/SCAN.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/SIN.md:17 +#: ../../source/learn/intrinsics/_pages/SINH.md:17 +#: ../../source/learn/intrinsics/_pages/SPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:18 +#: ../../source/learn/intrinsics/_pages/SQRT.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:12 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:18 +#: ../../source/learn/intrinsics/_pages/TAN.md:12 +#: ../../source/learn/intrinsics/_pages/TANH.md:12 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:13 +#: ../../source/learn/intrinsics/_pages/TINY.md:16 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:12 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:12 +#: ../../source/learn/intrinsics/_pages/TRIM.md:12 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:12 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:18 +msgid "__Description__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:13 +msgid "" +"The elemental function __merge__(3) selects values from two arrays or " +"scalars according to a logical mask. The result is equal to an element of" +" __tsource__ where the corresponding element of __mask__ is __.true.__, " +"or an element of __fsource__ when it is .false. ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:18 +msgid "Multi-dimensional arrays are supported." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:20 +msgid "" +"Note that argument expressions to __merge__(3) are not required to be " +"short-circuited so (as an example) if the array __x__ contains zero " +"values in the statement below the standard does not prevent floating " +"point divide by zero being generated; as __1.0/x__ may be evaluated for " +"all values of __x__ before the mask is used to select which value to " +"retain:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:30 +msgid "" +"Note the compiler is also free to short-circuit or to generate an " +"infinity so this may work in many programming environments but is not " +"recommended." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:34 +msgid "" +"For cases like this one may instead use masked assignment via the " +"__where__ construct:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:45 +msgid "instead of the more obscure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:34 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/ACOS.md:21 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:20 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:21 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:20 +#: ../../source/learn/intrinsics/_pages/AINT.md:29 +#: ../../source/learn/intrinsics/_pages/ANINT.md:16 +#: ../../source/learn/intrinsics/_pages/ASIN.md:25 +#: ../../source/learn/intrinsics/_pages/ASINH.md:22 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:17 +#: ../../source/learn/intrinsics/_pages/ATAN.md:22 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:23 +#: ../../source/learn/intrinsics/_pages/ATANH.md:16 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:21 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:23 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:23 +#: ../../source/learn/intrinsics/_pages/BGE.md:17 +#: ../../source/learn/intrinsics/_pages/BGT.md:16 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:22 +#: ../../source/learn/intrinsics/_pages/BLE.md:16 +#: ../../source/learn/intrinsics/_pages/BLT.md:16 +#: ../../source/learn/intrinsics/_pages/BTEST.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:20 +#: ../../source/learn/intrinsics/_pages/CHAR.md:20 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:101 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:19 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:16 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:19 +#: ../../source/learn/intrinsics/_pages/CONJG.md:30 +#: ../../source/learn/intrinsics/_pages/COS.md:25 +#: ../../source/learn/intrinsics/_pages/COSH.md:23 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:21 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:23 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:27 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:23 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:18 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:17 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:23 +#: ../../source/learn/intrinsics/_pages/DBLE.md:22 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:24 +#: ../../source/learn/intrinsics/_pages/DIM.md:22 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:18 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:18 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:30 +#: ../../source/learn/intrinsics/_pages/ERF.md:19 +#: ../../source/learn/intrinsics/_pages/ERFC.md:35 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:22 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:20 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/EXP.md:27 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:23 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:18 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:23 +#: ../../source/learn/intrinsics/_pages/HUGE.md:23 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:17 +#: ../../source/learn/intrinsics/_pages/IALL.md:21 +#: ../../source/learn/intrinsics/_pages/IAND.md:16 +#: ../../source/learn/intrinsics/_pages/IANY.md:21 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:16 +#: ../../source/learn/intrinsics/_pages/IBITS.md:19 +#: ../../source/learn/intrinsics/_pages/IBSET.md:16 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:16 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:16 +#: ../../source/learn/intrinsics/_pages/INDEX.md:24 +#: ../../source/learn/intrinsics/_pages/INT.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:18 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:21 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:22 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:22 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:23 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:19 +#: ../../source/learn/intrinsics/_pages/KIND.md:16 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:16 +#: ../../source/learn/intrinsics/_pages/LEN.md:29 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:20 +#: ../../source/learn/intrinsics/_pages/LGE.md:26 +#: ../../source/learn/intrinsics/_pages/LGT.md:26 +#: ../../source/learn/intrinsics/_pages/LLE.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:26 +#: ../../source/learn/intrinsics/_pages/LOG.md:17 +#: ../../source/learn/intrinsics/_pages/LOG10.md:19 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:20 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:16 +#: ../../source/learn/intrinsics/_pages/MASKL.md:19 +#: ../../source/learn/intrinsics/_pages/MASKR.md:19 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:16 +#: ../../source/learn/intrinsics/_pages/MAX.md:15 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MERGE.md:51 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:43 +#: ../../source/learn/intrinsics/_pages/MIN.md:16 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MOD.md:16 +#: ../../source/learn/intrinsics/_pages/MODULO.md:16 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:17 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:17 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:35 +#: ../../source/learn/intrinsics/_pages/NINT.md:27 +#: ../../source/learn/intrinsics/_pages/NORM2.md:22 +#: ../../source/learn/intrinsics/_pages/NOT.md:14 +#: ../../source/learn/intrinsics/_pages/NULL.md:22 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:16 +#: ../../source/learn/intrinsics/_pages/PACK.md:28 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:17 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:17 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:17 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:16 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:17 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:23 +#: ../../source/learn/intrinsics/_pages/REAL.md:15 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:16 +#: ../../source/learn/intrinsics/_pages/SCALE.md:19 +#: ../../source/learn/intrinsics/_pages/SCAN.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:20 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:19 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:18 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:19 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:26 +#: ../../source/learn/intrinsics/_pages/SINH.md:28 +#: ../../source/learn/intrinsics/_pages/SPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:26 +#: ../../source/learn/intrinsics/_pages/SQRT.md:41 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:16 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:40 +#: ../../source/learn/intrinsics/_pages/TAN.md:16 +#: ../../source/learn/intrinsics/_pages/TANH.md:16 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:17 +#: ../../source/learn/intrinsics/_pages/TINY.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:16 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:21 +#: ../../source/learn/intrinsics/_pages/TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:16 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:40 +msgid "__Arguments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:53 +msgid "__tsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:54 +msgid "May be of any type, including user-defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:56 +msgid "__fsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:57 +msgid "Shall be of the same type and type parameters as __tsource__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:30 +#: ../../source/learn/intrinsics/_pages/IANY.md:30 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:30 +#: ../../source/learn/intrinsics/_pages/MERGE.md:59 +#: ../../source/learn/intrinsics/_pages/PACK.md:33 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:22 +msgid "__mask__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:60 +msgid "Shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:62 +msgid "Note that (currently) _character_ values must be of the same length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:40 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:41 +#: ../../source/learn/intrinsics/_pages/ACOS.md:27 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:27 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:25 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:26 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:25 +#: ../../source/learn/intrinsics/_pages/AINT.md:38 +#: ../../source/learn/intrinsics/_pages/ANINT.md:25 +#: ../../source/learn/intrinsics/_pages/ASIN.md:31 +#: ../../source/learn/intrinsics/_pages/ASINH.md:27 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN.md:32 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:32 +#: ../../source/learn/intrinsics/_pages/ATANH.md:21 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:38 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:38 +#: ../../source/learn/intrinsics/_pages/BGE.md:25 +#: ../../source/learn/intrinsics/_pages/BGT.md:25 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:29 +#: ../../source/learn/intrinsics/_pages/BLE.md:24 +#: ../../source/learn/intrinsics/_pages/BLT.md:24 +#: ../../source/learn/intrinsics/_pages/BTEST.md:32 +#: ../../source/learn/intrinsics/_pages/CEILING.md:29 +#: ../../source/learn/intrinsics/_pages/CHAR.md:29 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:114 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:23 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:20 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:23 +#: ../../source/learn/intrinsics/_pages/CONJG.md:35 +#: ../../source/learn/intrinsics/_pages/COS.md:31 +#: ../../source/learn/intrinsics/_pages/COSH.md:28 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:31 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:34 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:26 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:21 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:24 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:22 +#: ../../source/learn/intrinsics/_pages/DBLE.md:27 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:29 +#: ../../source/learn/intrinsics/_pages/DIM.md:30 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:32 +#: ../../source/learn/intrinsics/_pages/DPROD.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:29 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:47 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:24 +#: ../../source/learn/intrinsics/_pages/ERFC.md:40 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:27 +#: ../../source/learn/intrinsics/_pages/EXP.md:32 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:27 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:32 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:23 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:28 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:27 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:32 +#: ../../source/learn/intrinsics/_pages/HUGE.md:30 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:34 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IALL.md:34 +#: ../../source/learn/intrinsics/_pages/IAND.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:34 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:27 +#: ../../source/learn/intrinsics/_pages/IBITS.md:31 +#: ../../source/learn/intrinsics/_pages/IBSET.md:27 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:35 +#: ../../source/learn/intrinsics/_pages/IEOR.md:24 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:25 +#: ../../source/learn/intrinsics/_pages/INDEX.md:40 +#: ../../source/learn/intrinsics/_pages/INT.md:29 +#: ../../source/learn/intrinsics/_pages/IOR.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:30 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:28 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:24 +#: ../../source/learn/intrinsics/_pages/KIND.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:21 +#: ../../source/learn/intrinsics/_pages/LEN.md:38 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:30 +#: ../../source/learn/intrinsics/_pages/LGE.md:34 +#: ../../source/learn/intrinsics/_pages/LGT.md:34 +#: ../../source/learn/intrinsics/_pages/LLE.md:43 +#: ../../source/learn/intrinsics/_pages/LLT.md:34 +#: ../../source/learn/intrinsics/_pages/LOG.md:22 +#: ../../source/learn/intrinsics/_pages/LOG10.md:24 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:30 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:21 +#: ../../source/learn/intrinsics/_pages/MASKL.md:29 +#: ../../source/learn/intrinsics/_pages/MASKR.md:29 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:28 +#: ../../source/learn/intrinsics/_pages/MAX.md:23 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MERGE.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:54 +#: ../../source/learn/intrinsics/_pages/MIN.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MOD.md:25 +#: ../../source/learn/intrinsics/_pages/MODULO.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:25 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/NINT.md:37 +#: ../../source/learn/intrinsics/_pages/NORM2.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:19 +#: ../../source/learn/intrinsics/_pages/NULL.md:28 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:44 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:22 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:22 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:22 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:26 +#: ../../source/learn/intrinsics/_pages/RADIX.md:21 +#: ../../source/learn/intrinsics/_pages/RANGE.md:28 +#: ../../source/learn/intrinsics/_pages/REAL.md:24 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:30 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:26 +#: ../../source/learn/intrinsics/_pages/SCALE.md:27 +#: ../../source/learn/intrinsics/_pages/SCAN.md:36 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:33 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/SIN.md:31 +#: ../../source/learn/intrinsics/_pages/SINH.md:33 +#: ../../source/learn/intrinsics/_pages/SPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:39 +#: ../../source/learn/intrinsics/_pages/SQRT.md:47 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/TAN.md:21 +#: ../../source/learn/intrinsics/_pages/TANH.md:21 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:30 +#: ../../source/learn/intrinsics/_pages/TINY.md:26 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:21 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:32 +#: ../../source/learn/intrinsics/_pages/TRIM.md:21 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:28 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:55 +msgid "__Returns__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:66 +msgid "" +"The result is of the same type and type parameters as __tsource__. For " +"any element the result is __tsource__ if __mask__ is true and __fsource__" +" otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:50 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:47 +#: ../../source/learn/intrinsics/_pages/ACOS.md:32 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:36 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:31 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:32 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:30 +#: ../../source/learn/intrinsics/_pages/AINT.md:47 +#: ../../source/learn/intrinsics/_pages/ANINT.md:33 +#: ../../source/learn/intrinsics/_pages/ASIN.md:38 +#: ../../source/learn/intrinsics/_pages/ASINH.md:33 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:64 +#: ../../source/learn/intrinsics/_pages/ATAN.md:40 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:43 +#: ../../source/learn/intrinsics/_pages/ATANH.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:44 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:35 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:42 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:33 +#: ../../source/learn/intrinsics/_pages/BTEST.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:37 +#: ../../source/learn/intrinsics/_pages/CHAR.md:33 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:120 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:29 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:26 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:28 +#: ../../source/learn/intrinsics/_pages/CONJG.md:39 +#: ../../source/learn/intrinsics/_pages/COS.md:38 +#: ../../source/learn/intrinsics/_pages/COSH.md:36 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:40 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:57 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:40 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:44 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:32 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:26 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:30 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:25 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:29 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:32 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:55 +#: ../../source/learn/intrinsics/_pages/DBLE.md:33 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:33 +#: ../../source/learn/intrinsics/_pages/DIM.md:34 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:38 +#: ../../source/learn/intrinsics/_pages/DPROD.md:43 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:51 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:39 +#: ../../source/learn/intrinsics/_pages/ERF.md:29 +#: ../../source/learn/intrinsics/_pages/ERFC.md:47 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:31 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:33 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:75 +#: ../../source/learn/intrinsics/_pages/EXP.md:38 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:43 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:40 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:29 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:32 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:44 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:54 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:63 +#: ../../source/learn/intrinsics/_pages/HUGE.md:35 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:41 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/IALL.md:43 +#: ../../source/learn/intrinsics/_pages/IAND.md:29 +#: ../../source/learn/intrinsics/_pages/IANY.md:43 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:40 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/INT.md:51 +#: ../../source/learn/intrinsics/_pages/IOR.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:43 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:30 +#: ../../source/learn/intrinsics/_pages/KIND.md:26 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:47 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:49 +#: ../../source/learn/intrinsics/_pages/LOG.md:29 +#: ../../source/learn/intrinsics/_pages/LOG10.md:29 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:36 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/MASKL.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:37 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MERGE.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:29 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MOD.md:32 +#: ../../source/learn/intrinsics/_pages/MODULO.md:38 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:26 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:32 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:46 +#: ../../source/learn/intrinsics/_pages/NINT.md:47 +#: ../../source/learn/intrinsics/_pages/NORM2.md:42 +#: ../../source/learn/intrinsics/_pages/NOT.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:32 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:36 +#: ../../source/learn/intrinsics/_pages/PACK.md:50 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:26 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:26 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:31 +#: ../../source/learn/intrinsics/_pages/RADIX.md:26 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:22 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:37 +#: ../../source/learn/intrinsics/_pages/RANGE.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:38 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:34 +#: ../../source/learn/intrinsics/_pages/SCALE.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:41 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:25 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:57 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:31 +#: ../../source/learn/intrinsics/_pages/SIN.md:36 +#: ../../source/learn/intrinsics/_pages/SINH.md:37 +#: ../../source/learn/intrinsics/_pages/SPACING.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:45 +#: ../../source/learn/intrinsics/_pages/SQRT.md:52 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:31 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:60 +#: ../../source/learn/intrinsics/_pages/TAN.md:25 +#: ../../source/learn/intrinsics/_pages/TANH.md:30 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:44 +#: ../../source/learn/intrinsics/_pages/TINY.md:32 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:26 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:51 +#: ../../source/learn/intrinsics/_pages/TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:33 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:60 +msgid "__Examples__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:71 +msgid "The value of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:77 +msgid "is 1.0 for K=5 and 0.0 for K=__-2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE.md:126 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:41 +msgid "Expected Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:121 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:149 +#: ../../source/learn/intrinsics/_pages/ACOS.md:59 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:53 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:58 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:71 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:60 +#: ../../source/learn/intrinsics/_pages/AINT.md:79 +#: ../../source/learn/intrinsics/_pages/ANINT.md:69 +#: ../../source/learn/intrinsics/_pages/ASIN.md:88 +#: ../../source/learn/intrinsics/_pages/ASINH.md:52 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:80 +#: ../../source/learn/intrinsics/_pages/ATAN.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:61 +#: ../../source/learn/intrinsics/_pages/ATANH.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:53 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:48 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:46 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:59 +#: ../../source/learn/intrinsics/_pages/BGE.md:29 +#: ../../source/learn/intrinsics/_pages/BGT.md:31 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:64 +#: ../../source/learn/intrinsics/_pages/BLE.md:28 +#: ../../source/learn/intrinsics/_pages/BLT.md:28 +#: ../../source/learn/intrinsics/_pages/BTEST.md:114 +#: ../../source/learn/intrinsics/_pages/CEILING.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:56 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:161 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:50 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:53 +#: ../../source/learn/intrinsics/_pages/CONJG.md:96 +#: ../../source/learn/intrinsics/_pages/COS.md:65 +#: ../../source/learn/intrinsics/_pages/COSH.md:50 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:60 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:56 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:90 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:61 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:65 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:67 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:53 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:51 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:44 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:51 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:97 +#: ../../source/learn/intrinsics/_pages/DBLE.md:50 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:57 +#: ../../source/learn/intrinsics/_pages/DIM.md:62 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:63 +#: ../../source/learn/intrinsics/_pages/DPROD.md:82 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:80 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:106 +#: ../../source/learn/intrinsics/_pages/ERF.md:46 +#: ../../source/learn/intrinsics/_pages/ERFC.md:64 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:48 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:52 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:101 +#: ../../source/learn/intrinsics/_pages/EXP.md:82 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:45 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:75 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:45 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:118 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:77 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:119 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:85 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:91 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IALL.md:66 +#: ../../source/learn/intrinsics/_pages/IAND.md:45 +#: ../../source/learn/intrinsics/_pages/IANY.md:64 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:31 +#: ../../source/learn/intrinsics/_pages/IBITS.md:35 +#: ../../source/learn/intrinsics/_pages/IBSET.md:31 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:101 +#: ../../source/learn/intrinsics/_pages/IEOR.md:29 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:44 +#: ../../source/learn/intrinsics/_pages/INDEX.md:68 +#: ../../source/learn/intrinsics/_pages/INT.md:112 +#: ../../source/learn/intrinsics/_pages/IOR.md:54 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:63 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:38 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:59 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:47 +#: ../../source/learn/intrinsics/_pages/KIND.md:46 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:120 +#: ../../source/learn/intrinsics/_pages/LEN.md:43 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:67 +#: ../../source/learn/intrinsics/_pages/LGE.md:39 +#: ../../source/learn/intrinsics/_pages/LGT.md:39 +#: ../../source/learn/intrinsics/_pages/LLE.md:85 +#: ../../source/learn/intrinsics/_pages/LLT.md:39 +#: ../../source/learn/intrinsics/_pages/LOG.md:47 +#: ../../source/learn/intrinsics/_pages/LOG10.md:55 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:59 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:40 +#: ../../source/learn/intrinsics/_pages/MASKL.md:87 +#: ../../source/learn/intrinsics/_pages/MASKR.md:96 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:34 +#: ../../source/learn/intrinsics/_pages/MAX.md:109 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MERGE.md:145 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:113 +#: ../../source/learn/intrinsics/_pages/MIN.md:46 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MOD.md:70 +#: ../../source/learn/intrinsics/_pages/MODULO.md:64 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:64 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:128 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:61 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:72 +#: ../../source/learn/intrinsics/_pages/NINT.md:110 +#: ../../source/learn/intrinsics/_pages/NORM2.md:81 +#: ../../source/learn/intrinsics/_pages/NOT.md:46 +#: ../../source/learn/intrinsics/_pages/NULL.md:110 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:57 +#: ../../source/learn/intrinsics/_pages/PACK.md:100 +#: ../../source/learn/intrinsics/_pages/PARITY.md:59 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:52 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:53 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:46 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:57 +#: ../../source/learn/intrinsics/_pages/RADIX.md:45 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:81 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:60 +#: ../../source/learn/intrinsics/_pages/RANGE.md:52 +#: ../../source/learn/intrinsics/_pages/REAL.md:65 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:58 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:27 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:31 +#: ../../source/learn/intrinsics/_pages/SCALE.md:51 +#: ../../source/learn/intrinsics/_pages/SCAN.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:55 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:49 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:82 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:31 +#: ../../source/learn/intrinsics/_pages/SIGN.md:72 +#: ../../source/learn/intrinsics/_pages/SIN.md:121 +#: ../../source/learn/intrinsics/_pages/SINH.md:81 +#: ../../source/learn/intrinsics/_pages/SPACING.md:45 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:116 +#: ../../source/learn/intrinsics/_pages/SQRT.md:85 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:53 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:94 +#: ../../source/learn/intrinsics/_pages/TAN.md:42 +#: ../../source/learn/intrinsics/_pages/TANH.md:47 +#: ../../source/learn/intrinsics/_pages/TINY.md:48 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:104 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:101 +#: ../../source/learn/intrinsics/_pages/TRIM.md:50 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:55 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:243 +msgid "__Standard__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:60 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:73 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:82 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:66 +#: ../../source/learn/intrinsics/_pages/BTEST.md:116 +#: ../../source/learn/intrinsics/_pages/CEILING.md:65 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:67 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:69 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:99 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:65 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:82 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:108 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:77 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:47 +#: ../../source/learn/intrinsics/_pages/HUGE.md:87 +#: ../../source/learn/intrinsics/_pages/IAND.md:47 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:33 +#: ../../source/learn/intrinsics/_pages/IBITS.md:37 +#: ../../source/learn/intrinsics/_pages/IBSET.md:33 +#: ../../source/learn/intrinsics/_pages/IEOR.md:31 +#: ../../source/learn/intrinsics/_pages/IOR.md:56 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:36 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:40 +#: ../../source/learn/intrinsics/_pages/KIND.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:36 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MERGE.md:147 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MODULO.md:66 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:130 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:63 +#: ../../source/learn/intrinsics/_pages/NOT.md:48 +#: ../../source/learn/intrinsics/_pages/NULL.md:112 +#: ../../source/learn/intrinsics/_pages/PACK.md:102 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:48 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:59 +#: ../../source/learn/intrinsics/_pages/RADIX.md:47 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:83 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:62 +#: ../../source/learn/intrinsics/_pages/RANGE.md:54 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:60 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:29 +#: ../../source/learn/intrinsics/_pages/SCALE.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:51 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/SPACING.md:47 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:118 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:96 +#: ../../source/learn/intrinsics/_pages/TINY.md:50 +#: ../../source/learn/intrinsics/_pages/TRIM.md:52 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:57 +msgid "Fortran 95 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:153 +#: ../../source/learn/intrinsics/_pages/ACOS.md:62 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:57 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:75 +#: ../../source/learn/intrinsics/_pages/AINT.md:83 +#: ../../source/learn/intrinsics/_pages/ANINT.md:73 +#: ../../source/learn/intrinsics/_pages/ASIN.md:92 +#: ../../source/learn/intrinsics/_pages/ASINH.md:56 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:84 +#: ../../source/learn/intrinsics/_pages/ATAN.md:76 +#: ../../source/learn/intrinsics/_pages/ATANH.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:61 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:50 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:65 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:63 +#: ../../source/learn/intrinsics/_pages/BGE.md:33 +#: ../../source/learn/intrinsics/_pages/BGT.md:35 +#: ../../source/learn/intrinsics/_pages/BLE.md:32 +#: ../../source/learn/intrinsics/_pages/BLT.md:32 +#: ../../source/learn/intrinsics/_pages/BTEST.md:118 +#: ../../source/learn/intrinsics/_pages/CEILING.md:67 +#: ../../source/learn/intrinsics/_pages/CHAR.md:60 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:151 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:58 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:57 +#: ../../source/learn/intrinsics/_pages/COS.md:69 +#: ../../source/learn/intrinsics/_pages/COSH.md:54 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:54 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:64 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:60 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:94 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:65 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:69 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:57 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:57 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:48 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:55 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:101 +#: ../../source/learn/intrinsics/_pages/DBLE.md:54 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:61 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:37 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:37 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:110 +#: ../../source/learn/intrinsics/_pages/EXP.md:86 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:79 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:49 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:122 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:81 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:89 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IALL.md:70 +#: ../../source/learn/intrinsics/_pages/IAND.md:49 +#: ../../source/learn/intrinsics/_pages/IANY.md:68 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:35 +#: ../../source/learn/intrinsics/_pages/IBITS.md:39 +#: ../../source/learn/intrinsics/_pages/IBSET.md:35 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:105 +#: ../../source/learn/intrinsics/_pages/IEOR.md:33 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:48 +#: ../../source/learn/intrinsics/_pages/INDEX.md:73 +#: ../../source/learn/intrinsics/_pages/INT.md:116 +#: ../../source/learn/intrinsics/_pages/IOR.md:58 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:67 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:42 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:124 +#: ../../source/learn/intrinsics/_pages/LEN.md:108 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:72 +#: ../../source/learn/intrinsics/_pages/LGE.md:43 +#: ../../source/learn/intrinsics/_pages/LGT.md:43 +#: ../../source/learn/intrinsics/_pages/LLE.md:89 +#: ../../source/learn/intrinsics/_pages/LLT.md:43 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:63 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:44 +#: ../../source/learn/intrinsics/_pages/MASKL.md:91 +#: ../../source/learn/intrinsics/_pages/MASKR.md:100 +#: ../../source/learn/intrinsics/_pages/MAX.md:113 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MERGE.md:149 +#: ../../source/learn/intrinsics/_pages/MIN.md:50 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MOD.md:74 +#: ../../source/learn/intrinsics/_pages/MODULO.md:68 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:68 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:132 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:65 +#: ../../source/learn/intrinsics/_pages/NINT.md:114 +#: ../../source/learn/intrinsics/_pages/NORM2.md:85 +#: ../../source/learn/intrinsics/_pages/NOT.md:50 +#: ../../source/learn/intrinsics/_pages/NULL.md:114 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:61 +#: ../../source/learn/intrinsics/_pages/PACK.md:104 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:56 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:57 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:50 +#: ../../source/learn/intrinsics/_pages/RADIX.md:49 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:85 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:64 +#: ../../source/learn/intrinsics/_pages/RANGE.md:56 +#: ../../source/learn/intrinsics/_pages/REAL.md:69 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:62 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:31 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:35 +#: ../../source/learn/intrinsics/_pages/SCALE.md:55 +#: ../../source/learn/intrinsics/_pages/SCAN.md:63 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:86 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:51 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:37 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/SIN.md:125 +#: ../../source/learn/intrinsics/_pages/SINH.md:85 +#: ../../source/learn/intrinsics/_pages/SPACING.md:49 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:120 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:57 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:98 +#: ../../source/learn/intrinsics/_pages/TAN.md:46 +#: ../../source/learn/intrinsics/_pages/TANH.md:51 +#: ../../source/learn/intrinsics/_pages/TINY.md:52 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:108 +#: ../../source/learn/intrinsics/_pages/TRIM.md:54 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:59 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:247 +msgid "__See Also__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:151 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:125 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:165 +#: ../../source/learn/intrinsics/_pages/ACOS.md:68 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:66 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:79 +#: ../../source/learn/intrinsics/_pages/ASIN.md:98 +#: ../../source/learn/intrinsics/_pages/ATAN.md:82 +#: ../../source/learn/intrinsics/_pages/BTEST.md:131 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:63 +#: ../../source/learn/intrinsics/_pages/CONJG.md:100 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:74 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:113 +#: ../../source/learn/intrinsics/_pages/DBLE.md:59 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:79 +#: ../../source/learn/intrinsics/_pages/DIM.md:66 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:128 +#: ../../source/learn/intrinsics/_pages/EXP.md:94 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:90 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:128 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:127 +#: ../../source/learn/intrinsics/_pages/HUGE.md:107 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:63 +#: ../../source/learn/intrinsics/_pages/LEN.md:129 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:89 +#: ../../source/learn/intrinsics/_pages/MASKL.md:95 +#: ../../source/learn/intrinsics/_pages/MASKR.md:104 +#: ../../source/learn/intrinsics/_pages/MERGE.md:157 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:76 +#: ../../source/learn/intrinsics/_pages/NINT.md:123 +#: ../../source/learn/intrinsics/_pages/NOT.md:60 +#: ../../source/learn/intrinsics/_pages/PACK.md:112 +#: ../../source/learn/intrinsics/_pages/SIN.md:132 +#: ../../source/learn/intrinsics/_pages/SQRT.md:89 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:115 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:265 +msgid "####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:2 +msgid "pack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:5 +msgid "" +"__pack__(3) - \\[ARRAY CONSTRUCTION\\] Pack an array into an array of " +"rank one" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:16 +msgid "" +"where TYPE(kind=KIND) may be any type, where __array__ and __vector__ " +"and the returned value must by of the same type. __mask__ may be a " +"scalar as well an an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:22 +msgid "Stores the elements of ARRAY in an array of rank one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:24 +msgid "" +"The beginning of the resulting array is made up of elements whose " +"__mask__ equals __.true.__. Afterwards, positions are filled with " +"elements taken from __vector__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:25 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:35 +#: ../../source/learn/intrinsics/_pages/IALL.md:23 +#: ../../source/learn/intrinsics/_pages/IANY.md:23 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:23 +#: ../../source/learn/intrinsics/_pages/NORM2.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:30 +msgid "__array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:26 +#: ../../source/learn/intrinsics/_pages/PACK.md:31 +msgid "Shall be an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:34 +msgid "" +"Shall be an array of type _logical_ and of the same size as __array__. " +"Alternatively, it may be a _logical_ scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:37 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:18 +msgid "__vector__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:38 +msgid "" +"(Optional) shall be an array of the same type as __array__ and of rank " +"one. If present, the number of elements in __vector__ shall be equal to " +"or greater than the number of true elements in __mask__. If __mask__ is " +"scalar, the number of elements in __vector__ shall be equal to or greater" +" than the number of elements in __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:46 +msgid "" +"The result is an array of rank one and the same type as that of " +"__array__. If __vector__ is present, the result size is that of " +"__vector__, the number of __.true.__ values in __mask__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:52 +#: ../../source/learn/intrinsics/_pages/ACOS.md:33 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:38 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:33 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:34 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:32 +#: ../../source/learn/intrinsics/_pages/AINT.md:49 +#: ../../source/learn/intrinsics/_pages/ANINT.md:35 +#: ../../source/learn/intrinsics/_pages/ASINH.md:35 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:66 +#: ../../source/learn/intrinsics/_pages/ATAN.md:42 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:45 +#: ../../source/learn/intrinsics/_pages/ATANH.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:43 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:44 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:35 +#: ../../source/learn/intrinsics/_pages/BTEST.md:40 +#: ../../source/learn/intrinsics/_pages/CEILING.md:39 +#: ../../source/learn/intrinsics/_pages/CHAR.md:35 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:122 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:31 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:28 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:30 +#: ../../source/learn/intrinsics/_pages/CONJG.md:41 +#: ../../source/learn/intrinsics/_pages/COS.md:40 +#: ../../source/learn/intrinsics/_pages/COSH.md:38 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:42 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:42 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:59 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:42 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:46 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:40 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:34 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:28 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:32 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:27 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:31 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:34 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:57 +#: ../../source/learn/intrinsics/_pages/DBLE.md:35 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:35 +#: ../../source/learn/intrinsics/_pages/DIM.md:36 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:40 +#: ../../source/learn/intrinsics/_pages/DPROD.md:45 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:53 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:41 +#: ../../source/learn/intrinsics/_pages/ERF.md:31 +#: ../../source/learn/intrinsics/_pages/ERFC.md:49 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:33 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:35 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:77 +#: ../../source/learn/intrinsics/_pages/EXP.md:40 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:42 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:31 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:34 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:56 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:65 +#: ../../source/learn/intrinsics/_pages/HUGE.md:37 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:43 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/IALL.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:45 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:42 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:33 +#: ../../source/learn/intrinsics/_pages/INT.md:53 +#: ../../source/learn/intrinsics/_pages/IOR.md:33 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:45 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:36 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:32 +#: ../../source/learn/intrinsics/_pages/KIND.md:28 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:28 +#: ../../source/learn/intrinsics/_pages/LLE.md:51 +#: ../../source/learn/intrinsics/_pages/LOG.md:31 +#: ../../source/learn/intrinsics/_pages/LOG10.md:31 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:27 +#: ../../source/learn/intrinsics/_pages/MASKL.md:38 +#: ../../source/learn/intrinsics/_pages/MASKR.md:39 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MOD.md:34 +#: ../../source/learn/intrinsics/_pages/MODULO.md:40 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:34 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:48 +#: ../../source/learn/intrinsics/_pages/NINT.md:49 +#: ../../source/learn/intrinsics/_pages/NORM2.md:44 +#: ../../source/learn/intrinsics/_pages/NULL.md:34 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:38 +#: ../../source/learn/intrinsics/_pages/PACK.md:52 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:28 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:31 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:28 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:33 +#: ../../source/learn/intrinsics/_pages/RADIX.md:28 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:24 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:39 +#: ../../source/learn/intrinsics/_pages/RANGE.md:34 +#: ../../source/learn/intrinsics/_pages/REAL.md:40 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:36 +#: ../../source/learn/intrinsics/_pages/SCALE.md:34 +#: ../../source/learn/intrinsics/_pages/SCAN.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:26 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:33 +#: ../../source/learn/intrinsics/_pages/SIN.md:38 +#: ../../source/learn/intrinsics/_pages/SIN.md:83 +#: ../../source/learn/intrinsics/_pages/SINH.md:39 +#: ../../source/learn/intrinsics/_pages/SPACING.md:28 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:47 +#: ../../source/learn/intrinsics/_pages/SQRT.md:54 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:62 +#: ../../source/learn/intrinsics/_pages/TAN.md:27 +#: ../../source/learn/intrinsics/_pages/TANH.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:46 +#: ../../source/learn/intrinsics/_pages/TINY.md:34 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:53 +#: ../../source/learn/intrinsics/_pages/TRIM.md:28 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:35 +msgid "Sample program:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:103 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:92 +#: ../../source/learn/intrinsics/_pages/ACOS.md:51 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:48 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:52 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:62 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:51 +#: ../../source/learn/intrinsics/_pages/AINT.md:70 +#: ../../source/learn/intrinsics/_pages/ANINT.md:59 +#: ../../source/learn/intrinsics/_pages/ASIN.md:71 +#: ../../source/learn/intrinsics/_pages/ASINH.md:47 +#: ../../source/learn/intrinsics/_pages/ATAN.md:63 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:56 +#: ../../source/learn/intrinsics/_pages/ATANH.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:56 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:55 +#: ../../source/learn/intrinsics/_pages/BTEST.md:83 +#: ../../source/learn/intrinsics/_pages/CEILING.md:55 +#: ../../source/learn/intrinsics/_pages/CHAR.md:46 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:41 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:43 +#: ../../source/learn/intrinsics/_pages/CONJG.md:78 +#: ../../source/learn/intrinsics/_pages/COS.md:55 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:56 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:61 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:44 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:85 +#: ../../source/learn/intrinsics/_pages/DBLE.md:46 +#: ../../source/learn/intrinsics/_pages/DIM.md:54 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:55 +#: ../../source/learn/intrinsics/_pages/DPROD.md:75 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:70 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:94 +#: ../../source/learn/intrinsics/_pages/ERF.md:42 +#: ../../source/learn/intrinsics/_pages/ERFC.md:60 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:43 +#: ../../source/learn/intrinsics/_pages/EXP.md:73 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:40 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:64 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:41 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:64 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:107 +#: ../../source/learn/intrinsics/_pages/HUGE.md:65 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:60 +#: ../../source/learn/intrinsics/_pages/IALL.md:61 +#: ../../source/learn/intrinsics/_pages/IAND.md:41 +#: ../../source/learn/intrinsics/_pages/IANY.md:58 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:96 +#: ../../source/learn/intrinsics/_pages/IOR.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:57 +#: ../../source/learn/intrinsics/_pages/KIND.md:41 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:50 +#: ../../source/learn/intrinsics/_pages/LEN.md:105 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:59 +#: ../../source/learn/intrinsics/_pages/LLE.md:70 +#: ../../source/learn/intrinsics/_pages/LOG.md:42 +#: ../../source/learn/intrinsics/_pages/LOG10.md:49 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:51 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:36 +#: ../../source/learn/intrinsics/_pages/MASKL.md:49 +#: ../../source/learn/intrinsics/_pages/MASKR.md:54 +#: ../../source/learn/intrinsics/_pages/MAX.md:100 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:41 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:103 +#: ../../source/learn/intrinsics/_pages/MIN.md:40 +#: ../../source/learn/intrinsics/_pages/MOD.md:55 +#: ../../source/learn/intrinsics/_pages/MODULO.md:55 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:59 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:57 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:64 +#: ../../source/learn/intrinsics/_pages/NINT.md:91 +#: ../../source/learn/intrinsics/_pages/NORM2.md:68 +#: ../../source/learn/intrinsics/_pages/NOT.md:39 +#: ../../source/learn/intrinsics/_pages/NULL.md:103 +#: ../../source/learn/intrinsics/_pages/PACK.md:93 +#: ../../source/learn/intrinsics/_pages/PARITY.md:55 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:43 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:45 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:41 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:52 +#: ../../source/learn/intrinsics/_pages/RADIX.md:38 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:54 +#: ../../source/learn/intrinsics/_pages/RANGE.md:46 +#: ../../source/learn/intrinsics/_pages/REAL.md:57 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:52 +#: ../../source/learn/intrinsics/_pages/SCALE.md:45 +#: ../../source/learn/intrinsics/_pages/SCAN.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:50 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:76 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:43 +#: ../../source/learn/intrinsics/_pages/SIGN.md:64 +#: ../../source/learn/intrinsics/_pages/SIN.md:115 +#: ../../source/learn/intrinsics/_pages/SINH.md:72 +#: ../../source/learn/intrinsics/_pages/SPACING.md:40 +#: ../../source/learn/intrinsics/_pages/SQRT.md:78 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:45 +#: ../../source/learn/intrinsics/_pages/TAN.md:38 +#: ../../source/learn/intrinsics/_pages/TANH.md:43 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:62 +#: ../../source/learn/intrinsics/_pages/TINY.md:43 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:63 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:73 +#: ../../source/learn/intrinsics/_pages/TRIM.md:43 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:50 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:125 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:181 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:236 +msgid "Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:106 +msgid "" +"[__unpack__(3)](UNPACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:2 +msgid "spread" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:5 +msgid "__spread__(3) - \\[ARRAY CONSTRUCTION\\] Add a dimension to an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:20 +msgid "" +"Replicates a __source__ array __ncopies__ times along a specified " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:23 +msgid "" +"If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). and " +"each element of the result has a value equal to SOURCE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:23 +msgid "__source__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:29 +msgid "Shall be a scalar or an array of any type and a rank less than fifteen." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:31 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:44 +#: ../../source/learn/intrinsics/_pages/IALL.md:26 +#: ../../source/learn/intrinsics/_pages/IANY.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:26 +#: ../../source/learn/intrinsics/_pages/NORM2.md:27 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:26 +msgid "__dim__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:33 +msgid "" +"Shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __n+1__, where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:36 +msgid "__ncopies__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:37 +msgid "Shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:41 +msgid "" +"The result is an array of the same type as __source__ and has rank " +"__n+1__ where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:122 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__merge__(3)](MERGE), " +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:64 +#: ../../source/learn/intrinsics/_pages/AINT.md:92 +#: ../../source/learn/intrinsics/_pages/ANINT.md:82 +#: ../../source/learn/intrinsics/_pages/ASINH.md:61 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:88 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:65 +#: ../../source/learn/intrinsics/_pages/ATANH.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:60 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:63 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:71 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:58 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:73 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:71 +#: ../../source/learn/intrinsics/_pages/BGE.md:39 +#: ../../source/learn/intrinsics/_pages/BGT.md:41 +#: ../../source/learn/intrinsics/_pages/BLE.md:38 +#: ../../source/learn/intrinsics/_pages/BLT.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:78 +#: ../../source/learn/intrinsics/_pages/CHAR.md:78 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:165 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:59 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:62 +#: ../../source/learn/intrinsics/_pages/COS.md:76 +#: ../../source/learn/intrinsics/_pages/COSH.md:59 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:61 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:46 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:71 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:67 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:101 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:72 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:47 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:71 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:63 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:70 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:63 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:67 +#: ../../source/learn/intrinsics/_pages/DPROD.md:86 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:41 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:41 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:84 +#: ../../source/learn/intrinsics/_pages/ERF.md:56 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:52 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:56 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:105 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:45 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:68 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:128 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:91 +#: ../../source/learn/intrinsics/_pages/IALL.md:76 +#: ../../source/learn/intrinsics/_pages/IAND.md:62 +#: ../../source/learn/intrinsics/_pages/IANY.md:74 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:48 +#: ../../source/learn/intrinsics/_pages/IBITS.md:53 +#: ../../source/learn/intrinsics/_pages/IBSET.md:48 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:128 +#: ../../source/learn/intrinsics/_pages/IEOR.md:46 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:53 +#: ../../source/learn/intrinsics/_pages/INDEX.md:87 +#: ../../source/learn/intrinsics/_pages/IOR.md:71 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:74 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:42 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:46 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:51 +#: ../../source/learn/intrinsics/_pages/KIND.md:50 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:131 +#: ../../source/learn/intrinsics/_pages/LGE.md:64 +#: ../../source/learn/intrinsics/_pages/LGT.md:66 +#: ../../source/learn/intrinsics/_pages/LLE.md:112 +#: ../../source/learn/intrinsics/_pages/LLT.md:61 +#: ../../source/learn/intrinsics/_pages/LOG.md:51 +#: ../../source/learn/intrinsics/_pages/LOG10.md:59 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:69 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:38 +#: ../../source/learn/intrinsics/_pages/MAX.md:119 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:56 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/MOD.md:78 +#: ../../source/learn/intrinsics/_pages/MODULO.md:72 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:72 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:84 +#: ../../source/learn/intrinsics/_pages/NORM2.md:91 +#: ../../source/learn/intrinsics/_pages/NULL.md:118 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:66 +#: ../../source/learn/intrinsics/_pages/PARITY.md:63 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:62 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:63 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:69 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:61 +#: ../../source/learn/intrinsics/_pages/RADIX.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:89 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:68 +#: ../../source/learn/intrinsics/_pages/RANGE.md:74 +#: ../../source/learn/intrinsics/_pages/REAL.md:74 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:79 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:50 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:39 +#: ../../source/learn/intrinsics/_pages/SCALE.md:74 +#: ../../source/learn/intrinsics/_pages/SCAN.md:77 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:62 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:92 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:70 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:42 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:40 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:40 +#: ../../source/learn/intrinsics/_pages/SINH.md:90 +#: ../../source/learn/intrinsics/_pages/SPACING.md:68 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:128 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:61 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:103 +#: ../../source/learn/intrinsics/_pages/TAN.md:52 +#: ../../source/learn/intrinsics/_pages/TANH.md:56 +#: ../../source/learn/intrinsics/_pages/TINY.md:70 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:105 +#: ../../source/learn/intrinsics/_pages/TRIM.md:73 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:67 +msgid "####### fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:2 +msgid "unpack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:5 +msgid "" +"__unpack__(3) - \\[ARRAY CONSTRUCTION\\] Store the elements of a vector " +"in an array of higher rank" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:14 +msgid "Store the elements of __vector__ in an array of higher rank." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:19 +msgid "" +"Shall be an array of any type and rank one. It shall have at least as " +"many elements as __mask__ has __.true.__ values." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:23 +msgid "Shall be an array of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:25 +msgid "__field__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:26 +msgid "" +"Shall be of the same type as __vector__ and have the same shape as " +"__mask__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:30 +msgid "" +"The resulting array corresponds to __field__ with __.true.__ elements of " +"__mask__ replaced by values from __vector__ in array element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:61 +msgid "" +"[__pack__(3)](PACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/BIT_index.md:1 +msgid "Bit-level inquiry and manipulation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:2 +msgid "bge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:5 +msgid "__bge__(3) - \\[BIT:COMPARE\\] Bitwise greater than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:14 +msgid "Determines whether an integer is bitwise greater than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/BGE.md:19 +#: ../../source/learn/intrinsics/_pages/BGT.md:18 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/BLE.md:18 +#: ../../source/learn/intrinsics/_pages/BLT.md:18 +#: ../../source/learn/intrinsics/_pages/BTEST.md:23 +#: ../../source/learn/intrinsics/_pages/CHAR.md:22 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:20 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:20 +#: ../../source/learn/intrinsics/_pages/IAND.md:18 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:18 +#: ../../source/learn/intrinsics/_pages/IBITS.md:21 +#: ../../source/learn/intrinsics/_pages/IBSET.md:18 +#: ../../source/learn/intrinsics/_pages/IEOR.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:20 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:24 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:24 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:25 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:18 +#: ../../source/learn/intrinsics/_pages/MASKL.md:21 +#: ../../source/learn/intrinsics/_pages/MASKR.md:21 +#: ../../source/learn/intrinsics/_pages/NOT.md:16 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:19 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:24 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:23 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:18 +msgid "__i__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:20 +#: ../../source/learn/intrinsics/_pages/BLE.md:19 +#: ../../source/learn/intrinsics/_pages/BLT.md:19 +msgid "Shall be of _integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:22 +#: ../../source/learn/intrinsics/_pages/BGT.md:21 +#: ../../source/learn/intrinsics/_pages/BLE.md:21 +#: ../../source/learn/intrinsics/_pages/BLT.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:23 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:23 +#: ../../source/learn/intrinsics/_pages/IAND.md:21 +#: ../../source/learn/intrinsics/_pages/IEOR.md:21 +#: ../../source/learn/intrinsics/_pages/IOR.md:23 +msgid "__j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:23 +#: ../../source/learn/intrinsics/_pages/BLE.md:22 +#: ../../source/learn/intrinsics/_pages/BLT.md:22 +msgid "Shall be of _integer_ type, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:27 +#: ../../source/learn/intrinsics/_pages/BLE.md:26 +#: ../../source/learn/intrinsics/_pages/BLT.md:26 +msgid "The return value is of type _logical_ and of the default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:55 +#: ../../source/learn/intrinsics/_pages/ASINH.md:54 +#: ../../source/learn/intrinsics/_pages/ATANH.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:63 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:61 +#: ../../source/learn/intrinsics/_pages/BGE.md:31 +#: ../../source/learn/intrinsics/_pages/BGT.md:33 +#: ../../source/learn/intrinsics/_pages/BLE.md:30 +#: ../../source/learn/intrinsics/_pages/BLT.md:30 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:48 +#: ../../source/learn/intrinsics/_pages/ERFC.md:66 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:50 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:103 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:120 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:93 +#: ../../source/learn/intrinsics/_pages/IALL.md:68 +#: ../../source/learn/intrinsics/_pages/IANY.md:66 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:65 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:122 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:42 +#: ../../source/learn/intrinsics/_pages/MASKL.md:89 +#: ../../source/learn/intrinsics/_pages/MASKR.md:98 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:115 +#: ../../source/learn/intrinsics/_pages/NORM2.md:83 +#: ../../source/learn/intrinsics/_pages/PARITY.md:61 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:54 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:55 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:55 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:106 +msgid "Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:35 +msgid "[__bgt__(3)](BGT), [__ble__(3)](BLE), [__blt__(3)](BIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:2 +msgid "bgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:5 +msgid "__bgt__(3) - \\[BIT:COMPARE\\] Bitwise greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:14 +msgid "Determines whether an integer is bitwise greater than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:19 +msgid "Shall be of _integer_ type or a BOZ literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:22 +msgid "" +"Shall be of _integer_ type, and of the same kind as __i__; or a BOZ " +"literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:27 +msgid "" +"The return value is of type _logical_ and of the default kind. The result" +" is true if the sequence of bits represented by _i_ is greater than the " +"sequence of bits represented by _j_, otherwise the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:37 +msgid "[__bge__(3),](BGE), [__ble__(3),](BLE), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:2 +msgid "ble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:5 +msgid "__ble__(3) - \\[BIT:COMPARE\\] Bitwise less than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:14 +msgid "Determines whether an integer is bitwise less than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:34 +msgid "[__bge__(3),](BGE), [__bgt__(3),](BGT), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:2 +msgid "blt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:5 +msgid "__blt__(3) - \\[BIT:COMPARE\\] Bitwise less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:14 +msgid "Determines whether an integer is bitwise less than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:34 +msgid "[__bge__(3)](BGE), [__bgt__(3)](BGT), [__ble__(3)](BLE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:2 +msgid "bit\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:5 +msgid "__bit\\_size__(3) - \\[BIT:INQUIRY\\] Bit size inquiry function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:16 +msgid "" +"__bit\\_size(i)__ returns the number of bits (integer precision plus sign" +" bit) represented by the type of the _integer_ __i__. __i__ can be a " +"scalar or an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:25 +msgid "" +"An _integer_ value of any kind to determine the size of in bits. Because " +"only the type of the argument is examined, the argument need not be " +"defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:54 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:143 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:49 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:117 +msgid "Typical Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:68 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:117 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:145 +msgid "####### fortran-lang intrinsic descriptions (license MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:2 +msgid "btest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:5 +msgid "__btest__(3) - \\[BIT:INQUIRY\\] Tests a bit of an _integer_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:15 +msgid "" +"where __KIND__ is any _integer_ kind supported by the programming " +"environment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:19 +msgid "" +"__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in " +"__i__ is set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:24 +#: ../../source/learn/intrinsics/_pages/CHAR.md:23 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:29 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:32 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:39 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:19 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:19 +#: ../../source/learn/intrinsics/_pages/IBITS.md:22 +#: ../../source/learn/intrinsics/_pages/IBITS.md:29 +#: ../../source/learn/intrinsics/_pages/IBSET.md:19 +#: ../../source/learn/intrinsics/_pages/IEOR.md:19 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:28 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:28 +#: ../../source/learn/intrinsics/_pages/NOT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:25 +msgid "The type shall be _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:26 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:21 +#: ../../source/learn/intrinsics/_pages/IBITS.md:24 +#: ../../source/learn/intrinsics/_pages/IBSET.md:21 +msgid "__pos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:27 +msgid "" +"The bit position to query. it must be a valid position for the value " +"__i__; ie. __0 <= pos <= bit_size(i)__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:30 +msgid "A value of zero refers to the least significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:34 +msgid "" +"The result is a _logical_ that has the value __.true.__ if bit " +"position __pos__ of __i__ has the value __1__ and the value " +"__.false.__ if bit __pos__ of __i__ has the value __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:120 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:2 +msgid "storage\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:5 +msgid "__storage\\_size__(3) - \\[BIT:INQUIRY\\] Storage size in bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:14 +msgid "Returns the storage size of argument __a__ in bits." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:36 +#: ../../source/learn/intrinsics/_pages/ANINT.md:18 +#: ../../source/learn/intrinsics/_pages/CEILING.md:22 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:25 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:25 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:25 +#: ../../source/learn/intrinsics/_pages/DBLE.md:24 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:19 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:25 +#: ../../source/learn/intrinsics/_pages/INT.md:20 +#: ../../source/learn/intrinsics/_pages/MOD.md:18 +#: ../../source/learn/intrinsics/_pages/MODULO.md:18 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:21 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:18 +msgid "__a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:19 +msgid "Shall be a scalar or array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:37 +#: ../../source/learn/intrinsics/_pages/AINT.md:34 +#: ../../source/learn/intrinsics/_pages/ANINT.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:25 +#: ../../source/learn/intrinsics/_pages/CHAR.md:25 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:28 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:22 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:36 +#: ../../source/learn/intrinsics/_pages/INT.md:23 +#: ../../source/learn/intrinsics/_pages/LEN.md:34 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKR.md:26 +#: ../../source/learn/intrinsics/_pages/NINT.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:20 +#: ../../source/learn/intrinsics/_pages/SCAN.md:32 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:21 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:51 +msgid "__kind__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:22 +msgid "(Optional) shall be a scalar integer constant expression." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:26 +msgid "" +"The result is a scalar integer with the kind type parameter specified by " +"__kind__ (or default integer type if __kind__ is missing). The result " +"value is the size expressed in bits for an element of an array that has " +"the dynamic type and type parameters of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:49 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:39 +#: ../../source/learn/intrinsics/_pages/MIN.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:25 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:33 +msgid "Sample program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:59 +msgid "[__c\\_sizeof__(3)](C_SIZEOF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:2 +msgid "leadz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:5 +msgid "__leadz__(3) - \\[BIT:COUNT\\] Number of leading zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:14 +msgid "__leadz__ returns the number of leading zero bits of an integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:19 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:20 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:23 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:19 +msgid "Shall be of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:23 +msgid "" +"The type of the return value is the same as a default _integer_. If all " +"the bits of __i__ are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:126 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:2 +msgid "popcnt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:5 +msgid "__popcnt__(3) - \\[BIT:COUNT\\] Number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:14 +msgid "" +"Returns the number of bits set in the binary representation of an " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:24 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:24 +#: ../../source/learn/intrinsics/_pages/RANGE.md:30 +msgid "The return value is of type _integer_ and of the default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:58 +msgid "[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:2 +msgid "poppar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:5 +msgid "__poppar__(3) - \\[BIT:COUNT\\] Parity of the number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:14 +msgid "" +"Returns the parity of an integer's binary representation (i.e., the " +"parity of the number of bits set)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:24 +msgid "" +"The return value is equal to __0__ if __i__ has an even number of bits " +"set and 1 if an odd number of bits are set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:27 +msgid "It is of type _integer_ and of the default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:59 +msgid "[__popcnt__(3)](POPCNT), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:2 +msgid "trailz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:5 +msgid "__trailz__(3) - \\[BIT:COUNT\\] Number of trailing zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:14 +msgid "" +"__trailz(3)__ returns the number of trailing zero bits of an _integer_ " +"value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:23 +msgid "" +"The type of the return value is the default _integer_. If all the bits of" +" I are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:110 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:2 +msgid "dshiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:5 +msgid "__dshiftl__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:14 +msgid "" +"__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost " +"__shift__ bits of the result are the leftmost __shift__ bits of __j__, " +"and the remaining bits are the rightmost bits of __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:24 +msgid "Shall be of type _integer_, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:28 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:26 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:26 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:27 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:26 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:24 +msgid "__shift__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:31 +msgid "The return value has same type and kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:39 +msgid "[__dshiftr__(3)](DSHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:2 +msgid "dshiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:5 +msgid "__dshiftr__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:14 +msgid "" +"__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost " +"__shift__ bits of the result are the rightmost __shift__ bits of __i__, " +"and the remaining bits are the leftmost bits of __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:39 +msgid "[__dshiftl__(3)](DSHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:2 +msgid "merge\\_bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:5 +msgid "__merge\\_bits__(3) - \\[BIT:COPY\\] Merge bits using a mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:15 +msgid "" +"where the result and all input values have the same _integer_ type and " +"KIND with the exception that the mask and either __i__ or __j__ may be a " +"BOZ constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:21 +msgid "" +"A common graphics operation in Ternary Raster Operations is to combine " +"bits from two different sources, generally referred to as bit-blending. " +"__merge\\_bits__ performs a masked bit-blend of __i__ and __j__ using the" +" bits of the __mask__ value to determine which of the input values to " +"copy bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:27 +msgid "" +"Specifically, The k-th bit of the result is equal to the k-th bit of " +"__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit " +"of __j__ otherwise (so all three input values must have the same number " +"of bits)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:32 +msgid "The resulting value is the same as would result from" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:36 +msgid "" +"An exception to all values being of the same _integer_ type is that __i__" +" or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it " +"is either a Binary, Octal, or Hexadecimal literal constant). The BOZ " +"values are converted to the _integer_ type of the non-BOZ value(s) as if " +"called by the intrinsic function __int()__ with the kind of the non-BOZ " +"value(s), so the BOZ values must be in the range of the type of the " +"result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:45 +msgid "" +"__i__ : value to select bits from when the associated bit in the mask is" +" __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:48 +msgid "" +"__j__ : value to select bits from when the associated bit in the mask is " +"__0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:51 +msgid "" +"__mask__ : a value whose bits are used as a mask to select bits from " +"__i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:56 +msgid "" +"The bits blended from __i__ and __j__ using the mask __mask__. It is the " +"same type as __i__ if __i__ is of type _integer_, otherwise the same type" +" as __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:37 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:60 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:54 +msgid "__Example__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:2 +msgid "mvbits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:5 +msgid "" +"__mvbits__(3) - \\[BIT:COPY\\] reproduce bit patterns found in one " +"integer in another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:14 +msgid "" +"__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in " +"the _integer_ __from__ to a specified position in another integer __to__ " +"(which is of the same kind as __from__). It otherwise leaves the bits in" +" __to__ as-is." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:19 +msgid "" +"The bit positions copied must exist within the value of __from__. That " +"is, the values of __frompos+len-1__ and __topos+len-1__ must be " +"nonnegative and less than __bit\\_size__(from)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:23 +msgid "The bits are numbered __0__ to __bit_size(i)-1__, from right to left." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:27 +msgid "__from__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:28 +msgid "An _integer_ to read bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:29 +msgid "__frompos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:30 +msgid "" +"__frompos__ is the position of the first bit to copy. It is a nonnegative" +" _integer_ value < __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:28 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:32 +msgid "__len__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:33 +msgid "" +"A nonnegative _integer_ value that indicates how many bits to copy from " +"__from__. It must not specify copying bits past the end of __from__. That" +" is, __frompos + len__ must be less than or equal to __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:37 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:42 +msgid "__to__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:38 +msgid "" +"The _integer_ variable to place the copied bits into. It must be of the " +"same kind as __from__ and may even be the same variable as __from__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:43 +msgid "" +"is set by copying the sequence of bits of length __len__, starting at " +"position __frompos__ of __from__ to position __topos__ of __to__. No " +"other bits of __to__ are altered. On return, the __len__ bits of __to__ " +"starting at __topos__ are equal to the value that the __len__ bits of " +"__from__ starting at __frompos__ had on entry." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:49 +msgid "__topos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:50 +msgid "" +"A nonnegative _integer_ value indicating the starting location in __to__ " +"to place the specified copy of bits from __from__. __topos + len__ must " +"be less than or equal to __bit_size(to)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:55 +msgid "" +"Sample program that populates a new 32-bit integer with its bytes in " +"reverse order (ie. changes the Endian of the integer)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:134 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__ieor__(3)](IEOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:2 +msgid "ibits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:5 +msgid "__ibits__(3) - \\[BIT:COPY\\] Bit extraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:14 +msgid "" +"__ibits__ extracts a field of length __len__ from __i__, starting from " +"bit position __pos__ and extending left for __len__ bits. The result is " +"right-justified and the remaining bits are zeroed. The value of pos+len " +"must be less than or equal to the value __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:25 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:29 +#: ../../source/learn/intrinsics/_pages/IBITS.md:33 +#: ../../source/learn/intrinsics/_pages/IBSET.md:29 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:32 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:36 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:29 +msgid "The return value is of type _integer_ and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:41 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:2 +msgid "ibclr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:5 +msgid "__ibclr__(3) - \\[BIT:SET\\] Clear bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:14 +msgid "" +"__ibclr__ returns the value of __i__ with the bit at position __pos__ set" +" to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. __pos__ is an __intent(in)__ scalar or array of type " +"_integer_. The value of __pos__ must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__not__(3)](NOT), [__btest__(3)](BTEST), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:2 +msgid "ibset" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:5 +msgid "__ibset__(3) - \\[BIT:SET\\] Set bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:14 +msgid "" +"__ibset__ returns the value of __i__ with the bit at position __pos__ set" +" to one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. pos is an __intent(in)__ scalar or array of type " +"_integer_. The value of pos must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:2 +msgid "maskl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:5 +msgid "__maskl__(3) - \\[BIT:SET\\] Generates a left justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:16 +msgid "" +"__maskl(i\\[, *kind*\\])__ has its leftmost __i__ bits set to __1__, and " +"the remaining bits set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:22 +#: ../../source/learn/intrinsics/_pages/MASKR.md:22 +msgid "" +"Shall be of type _integer_. Its value must be non-negative, and less than" +" or equal to the number of bits for the kind of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:27 +#: ../../source/learn/intrinsics/_pages/MASKR.md:27 +msgid "Shall be a scalar constant expression of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:31 +#: ../../source/learn/intrinsics/_pages/MASKR.md:31 +msgid "" +"The return value is of type _integer_. If __kind__ is present, it " +"specifies the kind value of the return type; otherwise, it is of the " +"default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:35 +msgid "The leftmost __i__ bits are set to 1 and the other bits are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:93 +msgid "[__maskr__(3)](MASKR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:2 +msgid "maskr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:5 +msgid "__maskr__(3) - \\[BIT:SET\\] Generates a right-justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:16 +msgid "" +"__maskr(i\\[, kind\\])__ has its rightmost __i__ bits set to 1, and the " +"remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:35 +msgid "It has its rightmost __i__ bits set to 1, and the remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:102 +msgid "[__maskl__(3)](MASKL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:2 +msgid "iparity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:5 +msgid "__iparity__(3) - \\[BIT:LOGICAL\\] Bitwise exclusive or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:18 +msgid "" +"Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ " +"along dimension __dim__ if the corresponding element in __mask__ is " +"__.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:24 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:24 +msgid "Shall be an array of type _integer_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __\"1\" to \"n\"__, where __\"n\"__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:31 +msgid "" +"(Optional) shall be of type _logical_ and either be a scalar or an array " +"of the same shape as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:36 +#: ../../source/learn/intrinsics/_pages/IANY.md:36 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:36 +#: ../../source/learn/intrinsics/_pages/NORM2.md:33 +msgid "The result is of the same type as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:69 +msgid "" +"[__iany__(3)](IANY), [__iall__(3)](IALL), [__ieor__(3)](IEOR), " +"[__parity__(3)](PARITY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:2 +msgid "iall" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:5 +msgid "__iall__(3) - \\[BIT:LOGICAL\\] Bitwise and of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:18 +msgid "" +"Reduces with bitwise _and_ the elements of __array__ along dimension " +"__dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:27 +#: ../../source/learn/intrinsics/_pages/IANY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __1 to n__, where __n__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _all_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:72 +msgid "[__iany__(3)](IANY), [__iparity__(3)](IPARITY), [__iand__(3)](IAND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:2 +msgid "iand" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:5 +msgid "__iand__(3) - \\[BIT:LOGICAL\\] Bitwise logical and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:14 +msgid "Bitwise logical __and__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:22 +#: ../../source/learn/intrinsics/_pages/IEOR.md:22 +msgid "The type shall be _integer_, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:26 +#: ../../source/learn/intrinsics/_pages/IOR.md:28 +msgid "" +"The return type is _integer_, of the same kind as the arguments. (If the " +"argument kinds differ, it is of the same kind as the larger argument.)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:51 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:2 +msgid "iany" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:5 +msgid "__iany__(3) - \\[BIT:LOGICAL\\] Bitwise or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:18 +msgid "" +"Reduces with bitwise or (inclusive or) the elements of __array__ along " +"dimension __dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _or_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:70 +msgid "[__iparity__(3)](IPARITY), [__iall__(3)](IALL), [__ior__(3)](IOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:2 +msgid "ieor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:5 +msgid "__ieor__(3) - \\[BIT:LOGICAL\\] Bitwise logical exclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:14 +msgid "__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:35 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:2 +msgid "ior" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:5 +msgid "__ior__(3) - \\[BIT:LOGICAL\\] Bitwise logical inclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:16 +msgid "__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:21 +msgid "an _integer_ scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:24 +msgid "_integer_ scalar or array, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:60 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:2 +msgid "not" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:4 +msgid "__not__(3) - \\[BIT:LOGICAL\\] Logical negation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:12 +msgid "NOT returns the bitwise Boolean inverse of I." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:21 +msgid "The return type is _integer_, of the same kind as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:52 +msgid "" +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__ibits__(3)](IBITS), [__ibset__(3)](IBSET)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:58 +msgid "[__ibclr__(3)](IBCLR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:2 +msgid "ishftc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:5 +msgid "__ishftc__(3) - \\[BIT:SHIFT\\] Shift bits circularly" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:14 +msgid "" +"__ishftc__(3) returns a value corresponding to __i__ with the rightmost " +"__size__ bits shifted circularly __shift__ places; that is, bits shifted " +"out one end are shifted into the opposite end. A value of __shift__ " +"greater than zero corresponds to a left shift, a value of zero " +"corresponds to no shift, and a value less than zero corresponds to a " +"right shift. The absolute value of __shift__ must be less than __size__. " +"If the __size__ argument is omitted, it is taken to be equivalent to " +"__bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:30 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:22 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:29 +msgid "__size__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:31 +msgid "" +"(Optional) The type shall be _integer_; the value must be greater than " +"zero and less than or equal to __bit\\_size__(i)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:44 +msgid "[__ishft__(3)](ISHFT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:2 +msgid "ishft" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:5 +msgid "__ishft__(3) - \\[BIT:SHIFT\\] Shift bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:14 +msgid "" +"__ishft__(3) returns a value corresponding to __i__ with all of the bits " +"shifted __shift__ places. A value of __shift__ greater than zero " +"corresponds to a left shift, a value of zero corresponds to no shift, and" +" a value less than zero corresponds to a right shift. If the absolute " +"value of __shift__ is greater than __bit\\_size(i)__, the value is " +"undefined. Bits shifted out from the left end or right end are lost; " +"zeros are shifted in from the opposite end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:40 +msgid "[__ishftc__(3)](ISHFTC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:2 +msgid "shifta" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:5 +msgid "__shifta__(3) - \\[BIT:SHIFT\\] shift bits right with fill" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost. The fill is arithmetic: the bits shifted in from the " +"left end are equal to the leftmost bit, which in two's complement " +"representation is the sign bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:39 +msgid "[__shiftl__(3)](SHIFTL), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:2 +msgid "shiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:5 +msgid "__shiftl__(3) - \\[BIT:SHIFT\\] shift bits left" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted left " +"by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the left" +" end are lost, and bits shifted in from the right end are set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:2 +msgid "shiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:5 +msgid "__shiftr__(3) - \\[BIT:SHIFT\\] shift bits right" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost, and bits shifted in from the left end are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftl__(3)](SHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/CHARACTER_index.md:1 +msgid "Basic procedures for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:2 +msgid "len" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:5 +msgid "__len__(3) - \\[CHARACTER\\] Length of a character entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:16 +msgid "" +"where the returned value is the same kind as the __KIND__, or of the " +"default kind if __KIND__ is not specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:21 +msgid "__len(3)__ Returns the length of a _character_ string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:23 +msgid "" +"If __string__ is an array, the length of an element of __string__ is " +"returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:26 +msgid "" +"Note that __string__ need not be defined when this intrinsic is invoked, " +"as only the length (not the content) of __string__ is needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:23 +#: ../../source/learn/intrinsics/_pages/INDEX.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:31 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:22 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:22 +#: ../../source/learn/intrinsics/_pages/SCAN.md:23 +#: ../../source/learn/intrinsics/_pages/TRIM.md:18 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:42 +msgid "__string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:32 +msgid "Shall be a scalar or array of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:26 +#: ../../source/learn/intrinsics/_pages/INDEX.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:24 +#: ../../source/learn/intrinsics/_pages/LEN.md:35 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:52 +msgid "" +"An _integer_ initialization expression indicating the kind parameter of " +"the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:28 +#: ../../source/learn/intrinsics/_pages/INDEX.md:43 +#: ../../source/learn/intrinsics/_pages/LEN.md:40 +#: ../../source/learn/intrinsics/_pages/SCAN.md:38 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:57 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:45 +msgid "FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:110 +msgid "" +"len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines " +"that allow you to deal with leading and trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:66 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:79 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:111 +#: ../../source/learn/intrinsics/_pages/INDEX.md:75 +#: ../../source/learn/intrinsics/_pages/LEN.md:113 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:74 +#: ../../source/learn/intrinsics/_pages/LGE.md:47 +#: ../../source/learn/intrinsics/_pages/LGT.md:49 +#: ../../source/learn/intrinsics/_pages/LLE.md:95 +#: ../../source/learn/intrinsics/_pages/LLT.md:49 +#: ../../source/learn/intrinsics/_pages/SCAN.md:65 +#: ../../source/learn/intrinsics/_pages/TRIM.md:56 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:249 +msgid "" +"Functions that perform operations on character strings, return lengths of" +" arguments, and search for certain arguments:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:78 +#: ../../source/learn/intrinsics/_pages/LEN.md:116 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:77 +#: ../../source/learn/intrinsics/_pages/LLT.md:52 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:66 +#: ../../source/learn/intrinsics/_pages/SCAN.md:68 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:86 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:122 +#: ../../source/learn/intrinsics/_pages/INDEX.md:82 +#: ../../source/learn/intrinsics/_pages/LEN.md:123 +#: ../../source/learn/intrinsics/_pages/LGE.md:58 +#: ../../source/learn/intrinsics/_pages/LGT.md:60 +#: ../../source/learn/intrinsics/_pages/LLE.md:106 +#: ../../source/learn/intrinsics/_pages/LLT.md:56 +#: ../../source/learn/intrinsics/_pages/SCAN.md:72 +#: ../../source/learn/intrinsics/_pages/TRIM.md:67 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:2 +msgid "new\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:5 +msgid "__new\\_line__(3) - \\[CHARACTER\\] new-line character" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:16 +msgid "__new\\_line(c)__ returns the new-line character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:18 +msgid "Case (i)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:19 +msgid "" +"If __a__ is default _character_ and the character in position __10__ of " +"the ASCII collating sequence is representable in the default character " +"set, then the result is __achar(10)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:23 +msgid "Case (ii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:24 +msgid "" +"If __a__ is an ASCII character or an ISO 10646 character, then the result" +" is __char(10, kind (a))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:27 +msgid "Case (iii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:28 +msgid "" +"Otherwise, the result is a processor-dependent character that represents " +"a newline in output to files connected for formatted stream output if " +"there is such a character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:32 +msgid "Case (iv)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:33 +msgid "Otherwise, the result is the blank character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:37 +msgid "__C__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:38 +msgid "The argument shall be a scalar or array of the type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:42 +msgid "" +"Returns a _character_ scalar of length one with the new-line character of" +" the same kind as parameter __c__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:56 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:55 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:59 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:79 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:121 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:61 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:49 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:66 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:74 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:33 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:57 +msgid "Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:2 +msgid "repeat" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:5 +msgid "__repeat__(3) - \\[CHARACTER\\] Repeated string concatenation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:18 +msgid "Concatenates __ncopies__ copies of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:23 +msgid "" +"The input string to repeatedly generate. Shall be scalar and of type " +"_character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:27 +msgid "" +"Number of copies to make of _string_, greater than or equal to zero (0). " +"Shall be scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:32 +msgid "" +"A new scalar of type _character_ built up from __ncopies__ copies of " +"__string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:64 +msgid "Functions that perform operations on character strings:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:73 +msgid "" +"__Non-elemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:2 +msgid "achar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:5 +msgid "" +"__achar__(3) - \\[CHARACTER:CONVERSION\\] returns a character in a " +"specified position in the ASCII collating sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:16 +msgid "where KIND may be any supported kind value for _integer_ types." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:20 +msgid "" +"__achar(i)__ returns the character located at position __i__ (commonly " +"called the _ADE_ or ASCII Decimal Equivalent) in the ASCII collating " +"sequence." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:23 +msgid "" +"The __achar__(3) function is often used for generating in-band escape " +"sequences to control terminal attributes." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:28 +msgid "will clear the screen on an ANSI-compatible terminal display, for example." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:34 +msgid "" +"the _integer_ value to convert to an ASCII character, in the range 0 to " +"127." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:38 +#: ../../source/learn/intrinsics/_pages/AINT.md:35 +#: ../../source/learn/intrinsics/_pages/ANINT.md:22 +msgid "" +"(optional) an _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:43 +msgid "" +"The return value is the requested character of type _character_ with a " +"length of one. If the __kind__ argument is present, the return value is " +"of the specified kind and of the default kind otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:124 +#: ../../source/learn/intrinsics/_pages/CHAR.md:51 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:83 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:92 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:64 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:72 +msgid "__Note__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:126 +msgid "The ADEs (ASCII Decimal Equivalents) for ASCII are" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:151 +#: ../../source/learn/intrinsics/_pages/INDEX.md:70 +msgid "FORTRAN 77 and later, with KIND argument Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:155 +msgid "[__char__(3)](CHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:159 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:106 +msgid "__Resources__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:161 +msgid "[ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:162 +msgid "" +"[M_attr module](https://github.com/urbanjost/M_attr) for controlling " +"ANSI-compatible terminals" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:2 +msgid "char" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:5 +msgid "__char__(3) - \\[CHARACTER\\] Character conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:18 +msgid "__char(i, kind)__ returns the character represented by the integer __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:26 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:23 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:32 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:27 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:27 +#: ../../source/learn/intrinsics/_pages/REAL.md:21 +#: ../../source/learn/intrinsics/_pages/SCAN.md:33 +msgid "" +"(Optional) An _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:31 +msgid "The return value is of type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:53 +msgid "" +"See [__ichar__(3)](CHAR) for a discussion of converting between numerical" +" values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:123 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:62 +#: ../../source/learn/intrinsics/_pages/AINT.md:81 +#: ../../source/learn/intrinsics/_pages/ANINT.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:58 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:163 +#: ../../source/learn/intrinsics/_pages/CONJG.md:98 +#: ../../source/learn/intrinsics/_pages/COS.md:67 +#: ../../source/learn/intrinsics/_pages/DBLE.md:52 +#: ../../source/learn/intrinsics/_pages/DIM.md:64 +#: ../../source/learn/intrinsics/_pages/DPROD.md:84 +#: ../../source/learn/intrinsics/_pages/EXP.md:84 +#: ../../source/learn/intrinsics/_pages/INT.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:41 +#: ../../source/learn/intrinsics/_pages/LGT.md:41 +#: ../../source/learn/intrinsics/_pages/LLE.md:87 +#: ../../source/learn/intrinsics/_pages/LLT.md:41 +#: ../../source/learn/intrinsics/_pages/LOG.md:49 +#: ../../source/learn/intrinsics/_pages/LOG10.md:57 +#: ../../source/learn/intrinsics/_pages/MAX.md:111 +#: ../../source/learn/intrinsics/_pages/MIN.md:48 +#: ../../source/learn/intrinsics/_pages/MOD.md:72 +#: ../../source/learn/intrinsics/_pages/REAL.md:67 +#: ../../source/learn/intrinsics/_pages/SIGN.md:74 +#: ../../source/learn/intrinsics/_pages/SIN.md:123 +#: ../../source/learn/intrinsics/_pages/SQRT.md:87 +msgid "FORTRAN 77 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:62 +msgid "[__achar__(3)](ACHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:82 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:2 +msgid "iachar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:5 +msgid "" +"__iachar__(3) - \\[CHARACTER:CONVERSION\\] Code in ASCII collating " +"sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:14 +msgid "" +"__iachar__(c) returns the code for the ASCII character in the first " +"character position of C." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:19 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:28 +msgid "__c__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:20 +msgid "Shall be a scalar _character_, with _intent(in)_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:66 +msgid "" +"See [__ichar__(3)](ICHAR) for a discussion of converting between " +"numerical values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:71 +#: ../../source/learn/intrinsics/_pages/SCAN.md:61 +msgid "Fortran 95 and later, with KIND argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:75 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:2 +msgid "ichar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:5 +msgid "" +"__ichar__(3) - \\[CHARACTER:CONVERSION\\] Character-to-integer conversion" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:17 +msgid "" +"__ichar(c)__ returns the code for the character in the system's native " +"character set. The correspondence between characters and their codes is " +"not necessarily the same across different Fortran implementations. For " +"example, a platform using EBCDIC would return different values than an " +"ASCII platform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:23 +msgid "See __iachar__(3) for specifically working with the ASCII character set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:29 +msgid "Shall be a scalar _character_, with __intent(in)__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:37 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:32 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:74 +msgid "" +"No intrinsic exists to convert between a numeric value and a formatted " +"character string representation -- for instance, given the _character_ " +"value '154', obtaining an _integer_ or _real_ value with the value 154, " +"or vice versa. Instead, this functionality is provided by internal-file " +"I/O, as in the following example:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:103 +msgid "Fortran 95 and later, with KIND argument -Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:107 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__iachar__(3)](IACHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:50 +#: ../../source/learn/intrinsics/_pages/LGT.md:52 +#: ../../source/learn/intrinsics/_pages/LLE.md:98 +#: ../../source/learn/intrinsics/_pages/TRIM.md:59 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:119 +#: ../../source/learn/intrinsics/_pages/LGE.md:55 +#: ../../source/learn/intrinsics/_pages/LLE.md:103 +#: ../../source/learn/intrinsics/_pages/TRIM.md:64 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:2 +msgid "index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:5 +msgid "" +"__index__(3) - \\[CHARACTER:SEARCH\\] Position of a substring within a " +"string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:20 +msgid "" +"Returns the position of the start of the leftmost or rightmost occurrence" +" of string __substring__ in __string__, counting from one. If " +"__substring__ is not present in __string__, zero is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:27 +msgid "string to be searched" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:29 +msgid "__substring__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:30 +msgid "string to attempt to locate in __string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:29 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:48 +msgid "__back__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:33 +msgid "" +"If the __back__ argument is present and true, the return value is the " +"start of the rightmost occurrence rather than the leftmost." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:42 +msgid "__START__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:48 +msgid "Example program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:2 +msgid "scan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:5 +msgid "" +"__scan__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the presence of a " +"set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:14 +msgid "Scans a __string__ for any of the characters in a __set__ of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:16 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __STRING__ that is in __set__." +" If __back__ equals __.true.__, the rightmost position is returned. If no" +" character of __set__ is found in __string__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:24 +#: ../../source/learn/intrinsics/_pages/SCAN.md:27 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:43 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:46 +msgid "Shall be of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:26 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:45 +msgid "__set__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:30 +msgid "(Optional) shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:2 +msgid "verify" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:5 +msgid "" +"__verify__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the absence of a" +" set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:20 +msgid "" +"Verifies that all the characters in __string__ belong to the set of " +"characters in __set__ by identifying the first character in the string(s)" +" that is not in the set(s)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:24 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __string__ that is not in " +"__set__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:28 +msgid "If __back__ equals __.true.__, the rightmost position is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:30 +msgid "If all characters of __string__ are found in __set__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:32 +msgid "" +"This makes it easy to verify strings are all uppercase or lowercase, " +"follow a basic syntax, only contain printable characters, and many of the" +" conditions tested for with the C routines __isalnum__(3c), " +"__isalpha__(3c), __isascii__(3c), __isblank__(3c), __iscntrl__(3c), " +"__isdigit__(3c), __isgraph__(3c), __islower__(3c), __isprint__(3c), " +"__ispunct__(3c), __isspace__(3c), __isupper__(3c), and __isxdigit__(3c); " +"but for a string as well an an array of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:49 +msgid "shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:62 +msgid "Sample program I:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:137 +msgid "Sample program II:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:139 +msgid "Determine if strings are valid integer representations" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:187 +msgid "Sample program III:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:189 +msgid "Determine if strings represent valid Fortran symbol names" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:69 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:245 +msgid "Fortran 95 and later, with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:252 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:259 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:2 +msgid "lge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:5 +msgid "__lge__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:14 +msgid "" +"Determines whether one string is lexically greater than or equal to " +"another string, where the two strings are interpreted as containing ASCII" +" character codes. If the String __a__ and String __b__ are not the same " +"length, the shorter is compared as if spaces were appended to it to form " +"a value that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:20 +msgid "" +"In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), " +"__lle__(3), and __llt__(3) differ from the corresponding intrinsic " +"operators .ge., .gt., .le., and .lt., in that the latter use the " +"processor's character ordering (which is not ASCII on some targets), " +"whereas the former always use the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:28 +#: ../../source/learn/intrinsics/_pages/LGT.md:28 +#: ../../source/learn/intrinsics/_pages/LLT.md:28 +msgid "__string\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:29 +#: ../../source/learn/intrinsics/_pages/LGE.md:32 +#: ../../source/learn/intrinsics/_pages/LGT.md:29 +#: ../../source/learn/intrinsics/_pages/LGT.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:29 +#: ../../source/learn/intrinsics/_pages/LLT.md:32 +msgid "Shall be of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:31 +#: ../../source/learn/intrinsics/_pages/LGT.md:31 +#: ../../source/learn/intrinsics/_pages/LLT.md:31 +msgid "__string\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:36 +msgid "" +"Returns .true. if string\\_a \\>= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:45 +msgid "__\\[\\[lgt__(3), __\\[\\[lle__(3), __\\[\\[llt__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:2 +msgid "lgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:5 +msgid "__lgt__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:14 +msgid "" +"Determines whether one string is lexically greater than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the String __a__ and String __b__ are not the same length, the " +"shorter is compared as if spaces were appended to it to form a value that" +" has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:20 +#: ../../source/learn/intrinsics/_pages/LLE.md:26 +#: ../../source/learn/intrinsics/_pages/LLT.md:20 +msgid "" +"In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT " +"differ from the corresponding intrinsic operators .ge., .gt., .le., and " +".lt., in that the latter use the processor's character ordering (which is" +" not ASCII on some targets), whereas the former always use the ASCII " +"ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:36 +msgid "" +"Returns .true. if string\\_a \\> string\\_b, and .false. otherwise, based" +" on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:45 +msgid "[__lge__(3)](LGE), [__lle__(3)](LLE), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:57 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:2 +msgid "lle" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:5 +msgid "__lle__(3) - \\[CHARACTER:COMPARE\\] Lexical less than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:20 +msgid "" +"Determines whether one string is lexically less than or equal to another " +"string, where the two strings are interpreted as containing ASCII " +"character codes. if the __string\\_a__ and __string\\_b__ are not the " +"same length, the shorter is compared as if spaces were appended to it to " +"form a value that has the same length as the longer. Leading spaces are " +"significant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:34 +msgid "__str\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:38 +msgid "variable or array of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:37 +msgid "__str\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:40 +msgid "if __str_a__ and __str_b__ are both arrays they must be of the same shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:45 +msgid "" +"__result__ Returns __.true.__ if __STR\\_A \\<= STR\\_B__, and " +"__.false.__ otherwise, based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:91 +msgid "[__lge__(3)](LGE), [__lgt__(3),](LGT), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:2 +msgid "llt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:5 +msgid "__llt__(3) - \\[CHARACTER:COMPARE\\] Lexical less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:14 +msgid "" +"Determines whether one string is lexically less than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the __string\\_a__ and __string\\_b__ are not the same length, " +"the shorter is compared as if spaces were appended to it to form a value " +"that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:36 +msgid "" +"Returns .true. if string\\_a \\<= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:45 +msgid "[__lge__(3)](LGE), [__lgt__(3)](LGT), [__lle__(3](LLE))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:2 +msgid "adjustl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:5 +msgid "__adjustl__(3) - \\[CHARACTER:WHITESPACE\\] Left-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:17 +msgid "" +"__adjustl(string)__ will left-adjust a string by removing leading spaces." +" Spaces are inserted at the end of the string as needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:23 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:24 +msgid "the type shall be _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:27 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where leading spaces are removed and the same number of spaces" +" are inserted on the end of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:64 +msgid "[__adjustr__(3)](ADJUSTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:2 +msgid "adjustr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:5 +msgid "__adjustr__(3) - \\[CHARACTER:WHITESPACE\\] Right-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:17 +msgid "" +"__adjustr(string)__ right-adjusts a string by removing trailing spaces. " +"Spaces are inserted at the start of the string as needed to retain the " +"original length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:28 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where trailing spaces are removed and the same number of " +"spaces are inserted at the start of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:77 +msgid "[__adjustl__(3)](ADJUSTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:2 +msgid "len\\_trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:5 +msgid "" +"__len\\_trim__(3) - \\[CHARACTER:WHITESPACE\\] Length of a character " +"entity without trailing blank characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:18 +msgid "Returns the length of a character string, ignoring any trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:23 +msgid "" +"The input string whose length is to be measured. Shall be a scalar of " +"type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:84 +msgid "" +"__Nonelemental:__ [__repeat__(3)](REPEAT), [__len__(3)](LEN), " +"[__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:2 +msgid "trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:5 +msgid "" +"__trim__(3) - \\[CHARACTER:WHITESPACE\\] Remove trailing blank characters" +" of a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:14 +msgid "Removes trailing blank characters of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:19 +msgid "Shall be a scalar of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:23 +msgid "" +"A scalar of type _character_ which length is that of __string__ less the " +"number of trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/COMPILER_index.md:1 +msgid "Information about compiler and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:2 +msgid "compiler\\_options" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:5 +msgid "" +"__compiler\\_options__(3) - \\[COMPILER INQUIRY\\] Options passed to the " +"compiler" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:14 +msgid "compiler\\_options returns a string with the options used for compiling." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:18 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:21 +msgid "None." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:22 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the compiler flags used to compile the file, which called the" +" compiler\\_options intrinsic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:52 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:55 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:53 +msgid "Fortran 2008" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:56 +msgid "[__compiler\\_version__(3)](COMPILER_VERSION), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:2 +msgid "compiler\\_version" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:5 +msgid "__compiler\\_version__(3) - \\[COMPILER INQUIRY\\] Compiler version string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:16 +msgid "" +"__compiler\\_version__(3) returns a string containing the name and " +"version of the compiler." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:25 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the name of the compiler and its version number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:59 +msgid "[__compiler\\_options__(3)](COMPILER_OPTIONS), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/C_index.md:1 +msgid "Procedures for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:2 +msgid "c\\_associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:5 +msgid "__c\\_associated__(3) - \\[ISO\\_C\\_BINDING\\] Status of a C pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:14 +msgid "" +"__c\\_associated(c\\_prt\\_1\\[, c\\_ptr\\_2\\])__ determines the status " +"of the C pointer c\\_ptr\\_1 or if c\\_ptr\\_1 is associated with the " +"target c\\_ptr\\_2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:20 +msgid "__c\\_ptr\\_1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:21 +msgid "Scalar of the type c\\_ptr or c\\_funptr." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:23 +msgid "__c\\_ptr\\_2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:24 +msgid "(Optional) Scalar of the same type as c\\_ptr\\_1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:28 +msgid "" +"The return value is of type _logical_; it is .false. if either " +"c\\_ptr\\_1 is a C NULL pointer or if c\\_ptr1 and c\\_ptr\\_2 point to " +"different addresses." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_funloc__(3)](C_FUNLOC), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:2 +msgid "c\\_f\\_pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:5 +msgid "" +"__c\\_f\\_pointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into Fortran " +"pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:14 +msgid "" +"__c\\_f\\_pointer(cptr, fptr\\[, shape\\])__ Assign the target, the C " +"pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:19 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:19 +msgid "__cptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:20 +msgid "scalar of the type c\\_ptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:22 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:22 +msgid "__fptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:23 +msgid "pointer interoperable with __cptr__. it is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:25 +msgid "__shape__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:26 +msgid "" +"(Optional) Rank-one array of type _integer_ with __intent(in)__ . It " +"shall be present if and only if __fptr__ is an array. The size must be " +"equal to the rank of __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:57 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:2 +msgid "c\\_f\\_procpointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:5 +msgid "" +"__c\\_f\\_procpointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into " +"Fortran procedure pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:14 +msgid "" +"__c\\_f\\_procpointer(cptr, fptr)__ assigns the target of the C function " +"pointer __cptr__ to the Fortran procedure pointer __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:20 +msgid "scalar of the type c\\_funptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:23 +msgid "procedure pointer interoperable with __cptr__. It is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_pointer__(3)](C_F_POINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:2 +msgid "c\\_funloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:5 +msgid "" +"__c\\_funloc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of a " +"procedure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:14 +msgid "__c\\_funloc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:23 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:24 +#: ../../source/learn/intrinsics/_pages/AINT.md:31 +#: ../../source/learn/intrinsics/_pages/ASIN.md:27 +#: ../../source/learn/intrinsics/_pages/ASINH.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:28 +#: ../../source/learn/intrinsics/_pages/ATANH.md:18 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:34 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:34 +#: ../../source/learn/intrinsics/_pages/COS.md:27 +#: ../../source/learn/intrinsics/_pages/COSH.md:25 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:19 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:26 +#: ../../source/learn/intrinsics/_pages/DIM.md:24 +#: ../../source/learn/intrinsics/_pages/DPROD.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:32 +#: ../../source/learn/intrinsics/_pages/ERF.md:21 +#: ../../source/learn/intrinsics/_pages/ERFC.md:37 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:24 +#: ../../source/learn/intrinsics/_pages/EXP.md:29 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:20 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/HUGE.md:25 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:28 +#: ../../source/learn/intrinsics/_pages/KIND.md:18 +#: ../../source/learn/intrinsics/_pages/LOG.md:19 +#: ../../source/learn/intrinsics/_pages/LOG10.md:21 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:18 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:19 +#: ../../source/learn/intrinsics/_pages/NINT.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:18 +#: ../../source/learn/intrinsics/_pages/RANGE.md:25 +#: ../../source/learn/intrinsics/_pages/REAL.md:17 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:21 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:28 +#: ../../source/learn/intrinsics/_pages/SINH.md:30 +#: ../../source/learn/intrinsics/_pages/SPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SQRT.md:43 +#: ../../source/learn/intrinsics/_pages/TAN.md:18 +#: ../../source/learn/intrinsics/_pages/TANH.md:18 +#: ../../source/learn/intrinsics/_pages/TINY.md:23 +msgid "__x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:19 +msgid "Interoperable function or pointer to such function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:23 +msgid "" +"The return value is of type c\\_funptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:63 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_loc__(3)](C_LOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:67 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:54 +msgid "[__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), __iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:2 +msgid "c\\_loc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:5 +msgid "__c\\_loc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of an object" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:14 +msgid "__c\\_loc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:19 +msgid "" +"Shall have either the _pointer_ or _target_ attribute. It shall not be a " +"coindexed object. It shall either be a variable with interoperable type " +"and kind type parameters, or be a scalar, nonpolymorphic variable with no" +" length type parameters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:26 +msgid "" +"The return value is of type c\\_ptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:50 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_funloc__(3)](C_FUNLOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:2 +msgid "c\\_sizeof" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:5 +msgid "__c\\_sizeof__(3) - \\[ISO\\_C\\_BINDING\\] Size in bytes of an expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:14 +msgid "" +"__c\\_sizeof(x)__ calculates the number of bytes of storage the " +"expression __x__ occupies." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:20 +msgid "The argument shall be an interoperable data entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:24 +msgid "" +"The return value is of type integer and of the system-dependent kind " +"c\\_size\\_t (from the *iso\\_c\\_binding* module). Its value is the " +"number of bytes occupied by the argument. If the argument has the " +"_pointer_ attribute, the number of bytes of the storage area pointed to " +"is returned. If the argument is of a derived type with _pointer_ or " +"_allocatable_ components, the return value does not account for the sizes" +" of the data pointed to by these components." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:48 +msgid "" +"The example will print .true. unless you are using a platform where " +"default _real_ variables are unusually padded." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:57 +msgid "[__storage\\_size__(3)](STORAGE_SIZE)" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:1 +msgid "GNU Free Documentation License" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:2 +msgid "*Version 1.2, November 2002*" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:9 +msgid "0. PREAMBLE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:11 +msgid "" +"The purpose of this License is to make a manual, textbook, or other " +"functional and useful document \"free\" in the sense of freedom: to " +"assure everyone the effective freedom to copy and redistribute it, with " +"or without modifying it, either commercially or noncommercially. " +"Secondarily, this License preserves for the author and publisher a way to" +" get credit for their work, while not being considered responsible for " +"modifications made by others." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:19 +msgid "" +"This License is a kind of \"copyleft\", which means that derivative works" +" of the document must themselves be free in the same sense. It " +"complements the GNU General Public License, which is a copyleft license " +"designed for free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:24 +msgid "" +"We have designed this License in order to use it for manuals for free " +"software, because free software needs free documentation: a free program " +"should come with manuals providing the same freedoms that the software " +"does. But this License is not limited to software manuals; it can be " +"used for any textual work, regardless of subject matter or whether it is " +"published as a printed book. We recommend this License principally for " +"works whose purpose is instruction or reference." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:33 +msgid "1. APPLICABILITY AND DEFINITIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:35 +msgid "" +"This License applies to any manual or other work, in any medium, that " +"contains a notice placed by the copyright holder saying it can be " +"distributed under the terms of this License. Such a notice grants a " +"world-wide, royalty-free license, unlimited in duration, to use that work" +" under the conditions stated herein. The \"Document\", below, refers to " +"any such manual or work. Any member of the public is a licensee, and is " +"addressed as \"you\". You accept the license if you copy, modify or " +"distribute the work in a way requiring permission under copyright law." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:45 +msgid "" +"A \"Modified Version\" of the Document means any work containing the " +"Document or a portion of it, either copied verbatim, or with " +"modifications and/or translated into another language." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:49 +msgid "" +"A \"Secondary Section\" is a named appendix or a front-matter section of " +"the Document that deals exclusively with the relationship of the " +"publishers or authors of the Document to the Document's overall subject " +"(or to related matters) and contains nothing that could fall directly " +"within that overall subject. (Thus, if the Document is in part a " +"textbook of mathematics, a Secondary Section may not explain any " +"mathematics.) The relationship could be a matter of historical " +"connection with the subject or with related matters, or of legal, " +"commercial, philosophical, ethical or political position regarding them." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:60 +msgid "" +"The \"Invariant Sections\" are certain Secondary Sections whose titles " +"are designated, as being those of Invariant Sections, in the notice that " +"says that the Document is released under this License. If a section does" +" not fit the above definition of Secondary then it is not allowed to be " +"designated as Invariant. The Document may contain zero Invariant " +"Sections. If the Document does not identify any Invariant Sections then " +"there are none." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:68 +msgid "" +"The \"Cover Texts\" are certain short passages of text that are listed, " +"as Front-Cover Texts or Back-Cover Texts, in the notice that says that " +"the Document is released under this License. A Front-Cover Text may be " +"at most 5 words, and a Back-Cover Text may be at most 25 words." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:73 +msgid "" +"A \"Transparent\" copy of the Document means a machine-readable copy, " +"represented in a format whose specification is available to the general " +"public, that is suitable for revising the document straightforwardly with" +" generic text editors or (for images composed of pixels) generic paint " +"programs or (for drawings) some widely available drawing editor, and that" +" is suitable for input to text formatters or for automatic translation to" +" a variety of formats suitable for input to text formatters. A copy made" +" in an otherwise Transparent file format whose markup, or absence of " +"markup, has been arranged to thwart or discourage subsequent modification" +" by readers is not Transparent. An image format is not Transparent if " +"used for any substantial amount of text. A copy that is not " +"\"Transparent\" is called \"Opaque\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:86 +msgid "" +"Examples of suitable formats for Transparent copies include plain ASCII " +"without markup, Texinfo input format, LaTeX input format, SGML or XML " +"using a publicly available DTD, and standard-conforming simple HTML, " +"PostScript or PDF designed for human modification. Examples of " +"transparent image formats include PNG, XCF and JPG. Opaque formats " +"include proprietary formats that can be read and edited only by " +"proprietary word processors, SGML or XML for which the DTD and/or " +"processing tools are not generally available, and the machine-generated " +"HTML, PostScript or PDF produced by some word processors for output " +"purposes only." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:97 +msgid "" +"The \"Title Page\" means, for a printed book, the title page itself, plus" +" such following pages as are needed to hold, legibly, the material this " +"License requires to appear in the title page. For works in formats which" +" do not have any title page as such, \"Title Page\" means the text near " +"the most prominent appearance of the work's title, preceding the " +"beginning of the body of the text." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:104 +msgid "" +"A section \"Entitled XYZ\" means a named subunit of the Document whose " +"title either is precisely XYZ or contains XYZ in parentheses following " +"text that translates XYZ in another language. (Here XYZ stands for a " +"specific section name mentioned below, such as \"Acknowledgements\", " +"\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the " +"Title\" of such a section when you modify the Document means that it " +"remains a section \"Entitled XYZ\" according to this definition." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:112 +msgid "" +"The Document may include Warranty Disclaimers next to the notice which " +"states that this License applies to the Document. These Warranty " +"Disclaimers are considered to be included by reference in this License, " +"but only as regards disclaiming warranties: any other implication that " +"these Warranty Disclaimers may have is void and has no effect on the " +"meaning of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:120 +msgid "2. VERBATIM COPYING" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:122 +msgid "" +"You may copy and distribute the Document in any medium, either " +"commercially or noncommercially, provided that this License, the " +"copyright notices, and the license notice saying this License applies to " +"the Document are reproduced in all copies, and that you add no other " +"conditions whatsoever to those of this License. You may not use " +"technical measures to obstruct or control the reading or further copying " +"of the copies you make or distribute. However, you may accept " +"compensation in exchange for copies. If you distribute a large enough " +"number of copies you must also follow the conditions in section 3." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:132 +msgid "" +"You may also lend copies, under the same conditions stated above, and you" +" may publicly display copies." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:136 +msgid "3. COPYING IN QUANTITY" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:138 +msgid "" +"If you publish printed copies (or copies in media that commonly have " +"printed covers) of the Document, numbering more than 100, and the " +"Document's license notice requires Cover Texts, you must enclose the " +"copies in covers that carry, clearly and legibly, all these Cover Texts: " +"Front-Cover Texts on the front cover, and Back-Cover Texts on the back " +"cover. Both covers must also clearly and legibly identify you as the " +"publisher of these copies. The front cover must present the full title " +"with all words of the title equally prominent and visible. You may add " +"other material on the covers in addition. Copying with changes limited to" +" the covers, as long as they preserve the title of the Document and " +"satisfy these conditions, can be treated as verbatim copying in other " +"respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:151 +msgid "" +"If the required texts for either cover are too voluminous to fit legibly," +" you should put the first ones listed (as many as fit reasonably) on the " +"actual cover, and continue the rest onto adjacent pages." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:156 +msgid "" +"If you publish or distribute Opaque copies of the Document numbering more" +" than 100, you must either include a machine-readable Transparent copy " +"along with each Opaque copy, or state in or with each Opaque copy a " +"computer-network location from which the general network-using public has" +" access to download using public-standard network protocols a complete " +"Transparent copy of the Document, free of added material. If you use the " +"latter option, you must take reasonably prudent steps, when you begin " +"distribution of Opaque copies in quantity, to ensure that this " +"Transparent copy will remain thus accessible at the stated location until" +" at least one year after the last time you distribute an Opaque copy " +"(directly or through your agents or retailers) of that edition to the " +"public." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:169 +msgid "" +"It is requested, but not required, that you contact the authors of the " +"Document well before redistributing any large number of copies, to give " +"them a chance to provide you with an updated version of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:174 +msgid "4. MODIFICATIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:176 +msgid "" +"You may copy and distribute a Modified Version of the Document under the " +"conditions of sections 2 and 3 above, provided that you release the " +"Modified Version under precisely this License, with the Modified Version " +"filling the role of the Document, thus licensing distribution and " +"modification of the Modified Version to whoever possesses a copy of it. " +"In addition, you must do these things in the Modified Version:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:183 +msgid "" +"__A__. Use in the Title Page (and on the covers, if any) a title distinct" +" from that of the Document, and from those of previous versions (which " +"should, if there were any, be listed in the History section of the " +"Document). You may use the same title as a previous version if the " +"original publisher of that version gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:188 +msgid "" +"__B__. List on the Title Page, as authors, one or more persons or " +"entities responsible for authorship of the modifications in the Modified" +" Version, together with at least five of the principal authors of the " +"Document (all of its principal authors, if it has fewer than five), " +"unless they release you from this requirement." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:193 +msgid "" +"__C__. State on the Title page the name of the publisher of the Modified" +" Version, as the publisher." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:195 +msgid "__D__. Preserve all the copyright notices of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:196 +msgid "" +"__E__. Add an appropriate copyright notice for your modifications " +"adjacent to the other copyright notices." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:198 +msgid "" +"__F__. Include, immediately after the copyright notices, a license notice" +" giving the public permission to use the Modified Version under the " +"terms of this License, in the form shown in the Addendum below." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:201 +msgid "" +"__G__. Preserve in that license notice the full lists of Invariant " +"Sections and required Cover Texts given in the Document's license " +"notice." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:203 +msgid "__H__. Include an unaltered copy of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:204 +msgid "" +"__I__. Preserve the section Entitled \"History\", Preserve its Title, and" +" add to it an item stating at least the title, year, new authors, and " +"publisher of the Modified Version as given on the Title Page. If there " +"is no section Entitled \"History\" in the Document, create one stating " +"the title, year, authors, and publisher of the Document as given on its " +"Title Page, then add an item describing the Modified Version as stated " +"in the previous sentence." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:211 +msgid "" +"__J__. Preserve the network location, if any, given in the Document for " +"public access to a Transparent copy of the Document, and likewise the " +"network locations given in the Document for previous versions it was " +"based on. These may be placed in the \"History\" section. You may omit " +"a network location for a work that was published at least four years " +"before the Document itself, or if the original publisher of the version " +"it refers to gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:218 +msgid "" +"__K__. For any section Entitled \"Acknowledgements\" or \"Dedications\"," +" Preserve the Title of the section, and preserve in the section all the" +" substance and tone of each of the contributor acknowledgements and/or " +"dedications given therein." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:222 +msgid "" +"__L__. Preserve all the Invariant Sections of the Document, unaltered in" +" their text and in their titles. Section numbers or the equivalent are " +"not considered part of the section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:225 +msgid "" +"__M__. Delete any section Entitled \"Endorsements\". Such a section may" +" not be included in the Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:227 +msgid "" +"__N__. Do not retitle any existing section to be Entitled " +"\"Endorsements\" or to conflict in title with any Invariant Section." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:229 +msgid "__O__. Preserve any Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:231 +msgid "" +"If the Modified Version includes new front-matter sections or appendices " +"that qualify as Secondary Sections and contain no material copied from " +"the Document, you may at your option designate some or all of these " +"sections as invariant. To do this, add their titles to the list of " +"Invariant Sections in the Modified Version's license notice. These titles" +" must be distinct from any other section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:238 +msgid "" +"You may add a section Entitled \"Endorsements\", provided it contains " +"nothing but endorsements of your Modified Version by various parties--for" +" example, statements of peer review or that the text has been approved by" +" an organization as the authoritative definition of a standard." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:244 +msgid "" +"You may add a passage of up to five words as a Front-Cover Text, and a " +"passage of up to 25 words as a Back-Cover Text, to the end of the list of" +" Cover Texts in the Modified Version. Only one passage of Front-Cover " +"Text and one of Back-Cover Text may be added by (or through arrangements " +"made by) any one entity. If the Document already includes a cover text " +"for the same cover, previously added by you or by arrangement made by the" +" same entity you are acting on behalf of, you may not add another; but " +"you may replace the old one, on explicit permission from the previous " +"publisher that added the old one." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:254 +msgid "" +"The author(s) and publisher(s) of the Document do not by this License " +"give permission to use their names for publicity for or to assert or " +"imply endorsement of any Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:259 +msgid "5. COMBINING DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:261 +msgid "" +"You may combine the Document with other documents released under this " +"License, under the terms defined in section 4 above for modified " +"versions, provided that you include in the combination all of the " +"Invariant Sections of all of the original documents, unmodified, and list" +" them all as Invariant Sections of your combined work in its license " +"notice, and that you preserve all their Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:268 +msgid "" +"The combined work need only contain one copy of this License, and " +"multiple identical Invariant Sections may be replaced with a single copy." +" If there are multiple Invariant Sections with the same name but " +"different contents, make the title of each such section unique by adding " +"at the end of it, in parentheses, the name of the original author or " +"publisher of that section if known, or else a unique number. Make the " +"same adjustment to the section titles in the list of Invariant Sections " +"in the license notice of the combined work." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:277 +msgid "" +"In the combination, you must combine any sections Entitled \"History\" in" +" the various original documents, forming one section Entitled " +"\"History\"; likewise combine any sections Entitled \"Acknowledgements\"," +" and any sections Entitled \"Dedications\". You must delete all sections" +" Entitled \"Endorsements\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:284 +msgid "6. COLLECTIONS OF DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:286 +msgid "" +"You may make a collection consisting of the Document and other documents " +"released under this License, and replace the individual copies of this " +"License in the various documents with a single copy that is included in " +"the collection, provided that you follow the rules of this License for " +"verbatim copying of each of the documents in all other respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:292 +msgid "" +"You may extract a single document from such a collection, and distribute " +"it individually under this License, provided you insert a copy of this " +"License into the extracted document, and follow this License in all other" +" respects regarding verbatim copying of that document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:298 +msgid "7. AGGREGATION WITH INDEPENDENT WORKS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:300 +msgid "" +"A compilation of the Document or its derivatives with other separate and " +"independent documents or works, in or on a volume of a storage or " +"distribution medium, is called an \"aggregate\" if the copyright " +"resulting from the compilation is not used to limit the legal rights of " +"the compilation's users beyond what the individual works permit. When the" +" Document is included in an aggregate, this License does not apply to the" +" other works in the aggregate which are not themselves derivative works " +"of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:309 +msgid "" +"If the Cover Text requirement of section 3 is applicable to these copies " +"of the Document, then if the Document is less than one half of the entire" +" aggregate, the Document's Cover Texts may be placed on covers that " +"bracket the Document within the aggregate, or the electronic equivalent " +"of covers if the Document is in electronic form. Otherwise they must " +"appear on printed covers that bracket the whole aggregate." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:318 +msgid "8. TRANSLATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:320 +msgid "" +"Translation is considered a kind of modification, so you may distribute " +"translations of the Document under the terms of section 4. Replacing " +"Invariant Sections with translations requires special permission from " +"their copyright holders, but you may include translations of some or all " +"Invariant Sections in addition to the original versions of these " +"Invariant Sections. You may include a translation of this License, and " +"all the license notices in the Document, and any Warranty Disclaimers, " +"provided that you also include the original English version of this " +"License and the original versions of those notices and disclaimers. In " +"case of a disagreement between the translation and the original version " +"of this License or a notice or disclaimer, the original version will " +"prevail." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:333 +msgid "" +"If a section in the Document is Entitled \"Acknowledgements\", " +"\"Dedications\", or \"History\", the requirement (section 4) to Preserve " +"its Title (section 1) will typically require changing the actual title." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:339 +msgid "9. TERMINATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:341 +msgid "" +"You may not copy, modify, sublicense, or distribute the Document except " +"as expressly provided for under this License. Any other attempt to copy," +" modify, sublicense or distribute the Document 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." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:350 +msgid "10. FUTURE REVISIONS OF THIS LICENSE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:352 +msgid "" +"The Free Software Foundation may publish new, revised versions of the GNU" +" Free Documentation 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. See http://www.gnu.org/copyleft/." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:358 +msgid "" +"Each version of the License is given a distinguishing version number. If " +"the Document specifies that a particular numbered version of this License" +" \"or any later version\" applies to it, you have the option of following" +" the terms and conditions either of that specified version or of any " +"later version that has been published (not as a draft) by the Free " +"Software Foundation. If the Document does not specify a version number " +"of this License, you may choose any version ever published (not as a " +"draft) by the Free Software Foundation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:368 +msgid "ADDENDUM: How to use this License for your documents" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:370 +msgid "" +"To use this License in a document you have written, include a copy of the" +" License in the document and put the following copyright and license " +"notices just after the title page:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:382 +msgid "" +"If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, " +"replace the \"with...Texts.\" line with this:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:388 +msgid "" +"If you have Invariant Sections without Cover Texts, or some other " +"combination of the three, merge those two alternatives to suit the " +"situation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:392 +msgid "" +"If your document contains nontrivial examples of program code, we " +"recommend releasing these examples in parallel under your choice of free " +"software license, such as the GNU General Public License, to permit their" +" use in free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:397 +msgid "fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/MATH_index.md:1 +#: ../../source/learn/intrinsics/index.md:17 +msgid "General mathematical functions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:2 +msgid "acos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:4 +msgid "" +"__acos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] arccosine (inverse cosine) " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:14 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:19 +msgid "__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:24 +msgid "" +"Must be type _real_ or _complex_. If the type is _real_, the value must " +"satisfy |__x__| <= 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:29 +#, python-format +msgid "" +"The return value is of the same type and kind as __x__. The _real_ part " +"of the result is in radians and lies in the range __0 \\<= acos(x%re) " +"\\<= PI__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:60 +msgid "FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:64 +#: ../../source/learn/intrinsics/_pages/ASIN.md:94 +#: ../../source/learn/intrinsics/_pages/ATAN.md:78 +msgid "" +"[wikipedia: inverse trigonometric " +"functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:66 +msgid "Inverse function: [__cos__(3](COS))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:2 +msgid "acosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:5 +msgid "" +"__acosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic cosine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:15 +#: ../../source/learn/intrinsics/_pages/COS.md:14 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any KIND supported " +"by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:20 +msgid "__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:25 +msgid "the type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:29 +#: ../../source/learn/intrinsics/_pages/EXP.md:36 +#: ../../source/learn/intrinsics/_pages/SIN.md:34 +#: ../../source/learn/intrinsics/_pages/TAN.md:23 +msgid "The return value has the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:31 +msgid "" +"If __x__ is _complex_, the imaginary part of the result is in radians and" +" lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:34 +msgid "__0 \\<= aimag(acosh(x)) \\<= PI__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:58 +#: ../../source/learn/intrinsics/_pages/ASINH.md:57 +#: ../../source/learn/intrinsics/_pages/ATANH.md:51 +#: ../../source/learn/intrinsics/_pages/COSH.md:55 +#: ../../source/learn/intrinsics/_pages/SINH.md:86 +#: ../../source/learn/intrinsics/_pages/TANH.md:52 +msgid "" +"[Wikipedia:hyperbolic " +"functions](https://en.wikipedia.org/wiki/Hyperbolic_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:60 +msgid "Inverse function: [__cosh__(3)](COSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:2 +msgid "asin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:5 +msgid "__asin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arcsine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:14 +msgid "" +"where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:19 +msgid "__asin(x)__ computes the arcsine of its argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:21 +msgid "" +"The arcsine is the inverse function of the sine function. It is commonly " +"used in trigonometry when trying to find the angle when the lengths of " +"the hypotenuse and the opposite side of a right triangle are known." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:28 +msgid "" +"The type shall be either _real_ and a magnitude that is less than or " +"equal to one; or be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:33 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:29 +#: ../../source/learn/intrinsics/_pages/SIN.md:33 +msgid "__result__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:34 +msgid "" +"The return value is of the same type and kind as __x__. The real part of " +"the result is in radians and lies in the range __-PI/2 \\<= asin(x) \\<= " +"PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:40 +msgid "" +"The arcsine will allow you to find the measure of a right angle when you " +"know the ratio of the side opposite the angle to the hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:43 +msgid "" +"So if you knew that a train track rose 1.25 vertical miles on a track " +"that was 50 miles long, you could determine the average angle of incline " +"of the track using the arcsine. Given" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:77 +msgid "" +"The percentage grade is the slope, written as a percent. To calculate the" +" slope you divide the rise by the run. In the example the rise is 1.25 " +"mile over a run of 50 miles so the slope is 1.25/50 = 0.025. Written as a" +" percent this is 2.5 %." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:82 +msgid "" +"For the US, two and 1/2 percent is generally thought of as the upper " +"limit. This means a rise of 2.5 feet when going 100 feet forward. In the " +"US this was the maximum grade on the first major US railroad, the " +"Baltimore and Ohio. Note curves increase the frictional drag on a train " +"reducing the allowable grade." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:90 +#: ../../source/learn/intrinsics/_pages/TANH.md:49 +msgid "FORTRAN 77 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:96 +msgid "Inverse function: [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:2 +msgid "asinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:5 +msgid "" +"__asinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic sine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:15 +#: ../../source/learn/intrinsics/_pages/SINH.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:20 +msgid "__asinh(x)__ computes the inverse hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:25 +#: ../../source/learn/intrinsics/_pages/ATANH.md:19 +#: ../../source/learn/intrinsics/_pages/COSH.md:26 +#: ../../source/learn/intrinsics/_pages/EXP.md:30 +#: ../../source/learn/intrinsics/_pages/LOG.md:20 +#: ../../source/learn/intrinsics/_pages/SINH.md:31 +#: ../../source/learn/intrinsics/_pages/TAN.md:19 +#: ../../source/learn/intrinsics/_pages/TANH.md:19 +msgid "The type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:29 +msgid "" +"The return value is of the same type and kind as __x__. If __x__ is " +"_complex_, the imaginary part of the result is in radians and lies " +"between __-PI/2 \\<= aimag(asinh(x)) \\<= PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:59 +msgid "Inverse function: [__sinh__(3)](SINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:2 +msgid "atan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:5 +msgid "__atan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:15 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type. If __y__ is present __x__ is " +"_real`." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:20 +msgid "__atan(x)__ computes the arctangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:25 +msgid "" +"The type shall be _real_ or _complex_; if __y__ is present, __x__ shall " +"be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:25 +#: ../../source/learn/intrinsics/_pages/DIM.md:27 +#: ../../source/learn/intrinsics/_pages/DPROD.md:25 +#: ../../source/learn/intrinsics/_pages/DPROD.md:36 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:31 +msgid "__y__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:29 +msgid "" +"Shall be of the same type and kind as __x__. If __x__ is zero, __y__ " +"must not be zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:34 +msgid "" +"The returned value is of the same type and kind as __x__. If __y__ is " +"present, the result is identical to __atan2(y,x)__. Otherwise, it is the " +"arc tangent of __x__, where the real part of the result is in radians and" +" lies in the range __-PI/2 \\<= atan(x) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:73 +msgid "" +"FORTRAN 77 and later for a complex argument; and for two arguments " +"Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:80 +msgid "[__atan2__(3)](ATAN2), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:2 +msgid "atan2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:5 +msgid "__atan2__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:13 +msgid "" +"__atan2(y, x)__ computes the arctangent of the complex number ( __x__ + i" +" __y__ ) ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:16 +msgid "" +"This function can be used to transform from Cartesian into polar " +"coordinates and allows to determine the angle in the correct quadrant. To" +" convert from Cartesian Coordinates __(x,y)__ to polar coordinates" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:20 +msgid "" +"(r,theta): $$ \\begin{aligned} r &= \\sqrt{x**2 + y**2} \\\\ \\theta &= " +"\\tan**{__-1__}(y / x) \\end{aligned} $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:20 +#: ../../source/learn/intrinsics/_pages/CEILING.md:23 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:33 +#: ../../source/learn/intrinsics/_pages/ERF.md:22 +#: ../../source/learn/intrinsics/_pages/ERFC.md:38 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:25 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:26 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:29 +msgid "The type shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:29 +msgid "" +"The type and kind type parameter shall be the same as __y__. If __y__ is " +"zero, then __x__ must be nonzero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:34 +msgid "" +"The return value has the same type and kind type parameter as __y__. It " +"is the principal value of the complex number __(x + i, y)__. If x is " +"nonzero, then it lies in the range __-PI \\<= atan(x) \\<= PI__. The sign" +" is positive if __y__ is positive. If __y__ is zero, then the return " +"value is zero if __x__ is strictly positive, __PI__ if __x__ is negative " +"and __y__ is positive zero (or the processor does not handle signed " +"zeros), and __-PI__ if __x__ is negative and __Y__ is negative zero. " +"Finally, if __x__ is zero, then the magnitude of the result is __PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:2 +msgid "atanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:5 +msgid "" +"__atanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic tangent" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:14 +msgid "__atanh(x)__ computes the inverse hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians and lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:26 +msgid "__-PI/2 \\<= aimag(atanh(x)) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:53 +msgid "Inverse function: [__tanh__(3)](TANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:2 +msgid "cos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:5 +msgid "__cos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:19 +msgid "" +"__cos(x)__ computes the cosine of an angle __x__ given the size of the " +"angle in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:22 +msgid "" +"The cosine of a _real_ value is the ratio of the adjacent side to the " +"hypotenuse of a right-angled triangle." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:28 +msgid "The type shall be _real_ or _complex_. __x__ is assumed to be in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:33 +#: ../../source/learn/intrinsics/_pages/TINY.md:30 +msgid "The return value is of the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:35 +msgid "" +"If __x__ is of the type _real_, the return value lies in the range __-1 " +"\\<= cos(x) \\<= 1__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:70 +#: ../../source/learn/intrinsics/_pages/SIN.md:126 +msgid "[Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:72 +msgid "[__acos__(3)](ACOS), [__sin__(3)](SIN), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:2 +msgid "cosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:5 +msgid "__cosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:15 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any supported kind" +" for the associated type. The returned __value__ will be the same type " +"and kind as the input value __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:21 +msgid "__cosh(x)__ computes the hyperbolic cosine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:30 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:33 +msgid "" +"If __x__ is _real_, the return value has a lower bound of one, __cosh(x)" +" \\>= 1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:52 +msgid "FORTRAN 77 and later, for a complex argument - Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:57 +msgid "Inverse function: [__acosh__(3)](ACOSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:2 +msgid "sin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:5 +msgid "__sin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be " +"_real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:19 +msgid "" +"__sin(x)__ computes the sine of an angle given the size of the angle in " +"radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:22 +msgid "" +"The sine of an angle in a right-angled triangle is the ratio of the " +"length of the side opposite the given angle divided by the length of the " +"hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:29 +msgid "The type shall be _real_ or _complex_ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:48 +msgid "__Haversine Formula__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:50 +msgid "From the article on \"Haversine formula\" in Wikipedia:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:58 +msgid "" +"So to show the great-circle distance between the Nashville International " +"Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX)" +" in CA, USA you would start with their latitude and longitude, commonly " +"given as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:68 +msgid "which converted to floating-point values in degrees is:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:80 +msgid "" +"And then use the haversine formula to roughly calculate the distance " +"along the surface of the Earth between the locations:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:128 +msgid "[__asin__(3)](ASIN), [__cos__(3)](COS), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:2 +msgid "sinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:5 +msgid "__sinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:19 +msgid "__sinh(x)__ computes the hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:21 +msgid "The hyperbolic sine of x is defined mathematically as:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:23 +msgid "__sinh(x) = (exp(x) - exp(-x)) / 2.0__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:25 +msgid "" +"If __x__ is of type _complex_ its imaginary part is regarded as a value " +"in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:35 +msgid "The return value has same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:83 +msgid "Fortran 95 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:88 +msgid "[__asinh__(3)](ASINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:2 +msgid "tan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:5 +msgid "__tan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:14 +msgid "__tan(x)__ computes the tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:44 +msgid "FORTRAN 77 and later. For a complex argument, Fortran 2008 or later." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:48 +msgid "[__atan__(3)](ATAN), [__cos__(3)](COS), [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:2 +msgid "tanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:5 +msgid "__tanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:14 +msgid "__tanh(x)__ computes the hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is complex, " +"the imaginary part of the result is in radians. If __x__ is _real_, the " +"return value lies in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:54 +msgid "[__atanh__(3)](ATANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:2 +msgid "random\\_number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:5 +msgid "__random\\_number__(3) - \\[MATHEMATICS:RANDOM\\] Pseudo-random number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:14 +msgid "" +"Returns a single pseudorandom number or an array of pseudorandom numbers " +"from the uniform distribution over the range 0 \\<= x \\< 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:19 +msgid "__harvest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:20 +msgid "Shall be a scalar or an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:87 +msgid "[__random\\_seed__(3)](RANDOM_SEED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:2 +msgid "random\\_seed" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:5 +msgid "" +"__random\\_seed__(3) - \\[MATHEMATICS:RANDOM\\] Initialize a pseudo-" +"random number sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:14 +msgid "" +"Restarts or queries the state of the pseudorandom number generator used " +"by random\\_number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:17 +msgid "" +"If random\\_seed is called without arguments, it is seeded with random " +"data retrieved from the operating system." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:23 +msgid "" +"(Optional) Shall be a scalar and of type default _integer_, with " +"__intent(out)__. It specifies the minimum size of the arrays used with " +"the __put__ and __get__ arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:27 +msgid "__put__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:28 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(in)__ and the size of the array must be larger than or equal " +"to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:32 +msgid "__get__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:33 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(out)__ and the size of the array must be larger than or equal" +" to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:66 +msgid "[__random\\_number__(3)](RANDOM_NUMBER)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:2 +msgid "exp" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:5 +msgid "__exp__(3) - \\[MATHEMATICS\\] Exponential function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:13 +msgid "" +"__exp__(x) computes the base \"_e_\" exponential of __x__ where \"_e_\" " +"is _Euler's constant_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:16 +msgid "" +"If __x__ is of type _complex_, its imaginary part is regarded as a value " +"in radians such that (see _Euler's formula_):" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:19 +msgid "" +"if __cx=(re,im)__ then " +"__exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:24 +msgid "" +"Since __exp__(3) is the inverse function of __log__(3) the maximum valid " +"magnitude of the _real_ component of __x__ is __log(huge(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:34 +msgid "The value of the result is __e\\*\\*x__ where __e__ is Euler's constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:88 +msgid "[__log__(3)](LOG)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:90 +msgid "" +"Wikipedia:[Exponential " +"function](https://en.wikipedia.org/wiki/Exponential_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:92 +#, python-format +msgid "" +"Wikipedia:[Euler's " +"formula](https://en.wikipedia.org/wiki/Euler%27s_formula)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:2 +msgid "log" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:5 +msgid "__log__(3) - \\[MATHEMATICS\\] Logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:14 +msgid "" +"__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to" +" the base \"e\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:24 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is " +"in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:27 +msgid "__-PI__ \\< OMEGA \\<= PI." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:2 +msgid "log10" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:5 +msgid "__log10__(3) - \\[MATHEMATICS\\] Base 10 logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:16 +msgid "" +"__log10(x)__ computes the base 10 logarithm of __x__. This is generally " +"called the \"common logarithm\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:22 +msgid "A _real_ value > 0 to take the log of." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:26 +msgid "" +"The return value is of type _real_ . The kind type parameter is the same " +"as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:2 +msgid "sqrt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:5 +msgid "__sqrt__(3) - \\[MATHEMATICS\\] Square-root function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:15 +msgid "" +"Where TYPE may be _real_ or _complex_ and __KIND__ may be any kind valid " +"for the declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:20 +msgid "__sqrt(x)__ computes the principal square root of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:22 +msgid "" +"In mathematics, a square root of a number __x__ is a number __y__ such " +"that __y*y = x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:25 +msgid "" +"The number whose square root is being considered is known as the " +"_radicand_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:28 +msgid "" +"Every nonnegative number _x_ has two square roots of the same unique " +"magnitude, one positive and one negative. The nonnegative square root is " +"called the principal square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:32 +msgid "" +"The principal square root of 9 is 3, for example, even though (-3)*(-3) " +"is also 9." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:35 +msgid "A _real_, _radicand_ must be positive." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:37 +msgid "" +"Square roots of negative numbers are a special case of complex numbers, " +"where the components of the _radicand_ need not be positive in order to " +"have a valid square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:44 +msgid "" +"If __x__ is real its value must be greater than or equal to zero. The " +"type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:49 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:2 +msgid "hypot" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:5 +msgid "" +"__hypot__(3) - \\[MATHEMATICS\\] returns the distance between the point " +"and the origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:14 +msgid "where __x,y,value__ shall all be of the same __kind__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:18 +msgid "" +"__hypot(x,y)__ is referred to as the Euclidean distance function. It is " +"equal to __sqrt(x**2 + y**2)__, without undue underflow or overflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:21 +msgid "" +"In mathematics, the _Euclidean distance_ between two points in Euclidean " +"space is the length of a line segment between two points." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:24 +msgid "" +"__hypot(x,y)__ returns the distance between the point ____ and the " +"origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:32 +msgid "The type and kind type parameter shall be the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:36 +msgid "The return value has the same type and kind type parameter as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:38 +msgid "" +"The result is the positive magnitude of the distance of the point " +"____ from the origin __<0.0,0.0>__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:2 +msgid "bessel\\_j0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:5 +msgid "" +"__bessel\\_j0__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:14 +msgid "" +"__bessel\\_j0(x)__ computes the Bessel function of the first kind of " +"order __0__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.4027 \\<= " +"bessel(0,x) \\<= 1__. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:52 +msgid "" +"[__bessel\\_j1__(3)](BESSEL_J1), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:2 +msgid "bessel\\_j1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:5 +msgid "" +"__bessel\\_j1__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:14 +msgid "" +"__bessel\\_j1(x)__ computes the Bessel function of the first kind of " +"order __1__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.5818 \\<= " +"bessel(0,x) \\<= 0.5818__ . It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:2 +msgid "bessel\\_jn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:5 +msgid "__bessel\\_jn__(3) - \\[MATHEMATICS\\] Bessel function of the first kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:16 +msgid "" +"__bessel\\_jn(n, x)__ computes the Bessel function of the first kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:20 +msgid "" +"__bessel\\_jn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:25 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:25 +msgid "__n__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:26 +msgid "Shall be a scalar or an array of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:28 +msgid "__n1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:32 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:32 +msgid "Shall be a non-negative scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:31 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:31 +msgid "__n2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_. For __bessel\\_jn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:40 +msgid "" +"The return value is a scalar of type _real_. It has the same kind as " +"__x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:67 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:2 +msgid "bessel\\_y0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:5 +msgid "" +"__bessel\\_y0__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:14 +msgid "" +"__bessel\\_y0(x)__ computes the Bessel function of the second kind of " +"order 0 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:24 +msgid "The return value is of type _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:2 +msgid "bessel\\_y1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:5 +msgid "" +"__bessel\\_y1__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:14 +msgid "" +"__bessel\\_y1(x)__ computes the Bessel function of the second kind of " +"order 1 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:24 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:40 +msgid "The return value is _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:46 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:2 +msgid "bessel\\_yn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:5 +msgid "__bessel\\_yn__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:16 +msgid "" +"__bessel\\_yn(n, x)__ computes the Bessel function of the second kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:20 +msgid "" +"__bessel\\_yn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_; for __bessel\\_yn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:65 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_y1__(3)](BESSEL_Y1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:2 +msgid "erf" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:5 +msgid "__erf__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:14 +msgid "" +"__erf__(x) computes the error function of __x__, defined as $$ " +"\\text{erf}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{__-t__^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:26 +msgid "" +"The return value is of type _real_, of the same kind as __x__ and lies in" +" the range __-1__ \\<= __erf__(x) \\<= 1 ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:50 +#: ../../source/learn/intrinsics/_pages/ERFC.md:68 +msgid "See also" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:52 +msgid "[__erfc__(3)](ERFC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:54 +#: ../../source/learn/intrinsics/_pages/ERFC.md:71 +msgid "[Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:2 +msgid "erfc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:5 +msgid "__erfc__(3) - \\[MATHEMATICS\\] Complementary error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:18 +msgid "" +"__erfc__(x) computes the complementary error function of __x__. Simpy " +"put this is equivalent to __1 - erf(x)__, but __erfc__ is provided " +"because of the extreme loss of relative accuracy if __erf(x)__ is called " +"for large __x__ and the result is subtracted from __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:23 +msgid "__erfc(x)__ is defined as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:31 +msgid "" +"$$ \\text{erfc}(x) = 1 - \\text{erf}(x) = 1 - \\frac{2}{\\sqrt{\\pi}} " +"\\int_x^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:42 +msgid "" +"The return value is of type _real_ and of the same kind as __x__. It lies" +" in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:45 +msgid "0 \\<= __erfc__(x) \\<= 2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:69 +msgid "[__erf__(3)](ERF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:73 +msgid "####### fortran-lang intrinsic descriptions license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:2 +msgid "erfc\\_scaled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:5 +msgid "__erfc\\_scaled__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:14 +msgid "" +"__erfc\\_scaled__(x) computes the exponentially-scaled complementary " +"error function of __x__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:17 +msgid "$$ e^{x^2} \\frac{2}{\\sqrt{\\pi}} \\int_{x}^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:29 +msgid "The return value is of type _real_ and of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:2 +msgid "gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:5 +msgid "" +"__gamma__(3) - \\[MATHEMATICS\\] Gamma function, which yields factorials " +"for positive whole numbers" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:13 +msgid "" +"__gamma(x)__ computes Gamma of __x__. For positive whole number values of" +" __n__ the Gamma function can be used to calculate factorials, as " +"__(n-1)! == gamma(real(n))__. That is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:20 +msgid "" +"$$ \\\\__Gamma__(x) = \\\\int\\_0\\*\\*\\\\infty " +"t\\*\\*{x-1}{\\\\mathrm{e}}\\*\\*{__-t__}\\\\,{\\\\mathrm{d}}t $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:26 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:19 +msgid "Shall be of type _real_ and neither zero nor a negative integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:30 +msgid "The return value is of type _real_ of the same kind as _x_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:124 +msgid "Logarithm of the Gamma function: [__log\\_gamma__(3)](LOG_GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:126 +msgid "[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:2 +msgid "log\\_gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:5 +msgid "__log\\_gamma__(3) - \\[MATHEMATICS\\] Logarithm of the Gamma function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:14 +msgid "" +"__log\\_gamma(x)__ computes the natural logarithm of the absolute value " +"of the Gamma function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:23 +msgid "The return value is of type _real_ of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:46 +msgid "Gamma function: [__gamma__(3)](GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:2 +msgid "norm2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:5 +msgid "__norm2__(3) - \\[MATHEMATICS\\] Euclidean vector norm" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:19 +msgid "" +"Calculates the Euclidean vector norm (L\\_2 norm) of __array__ along " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:25 +msgid "Shall be an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:28 +msgid "" +"shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __rank(array)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:35 +msgid "" +"If __dim__ is absent, a scalar with the square root of the sum of squares" +" of the elements of __array__ is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:38 +msgid "" +"Otherwise, an array of rank __n-1__, where __n__ equals the rank of " +"__array__, and a shape similar to that of __array__ with dimension DIM " +"dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:87 +msgid "[__product__(3)](PRODUCT), [__sum__(3)](SUM), [__hypot__(3)](HYPOT)" +msgstr "" + +#: ../../source/learn/intrinsics/MODEL_index.md:1 +msgid "Controlling and querying the current numeric model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:2 +msgid "exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:5 +msgid "__exponent__(3) - \\[MODEL\\_COMPONENTS\\] Exponent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:14 +msgid "" +"__exponent__(x) returns the value of the exponent part of __x__. If __x__" +" is zero the value returned is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:24 +msgid "The return value is of type default _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:2 +msgid "fraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:5 +msgid "" +"__fraction__(3) - \\[MODEL\\_COMPONENTS\\] Fractional part of the model " +"representation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:14 +msgid "" +"__fraction(x)__ returns the fractional part of the model representation " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:21 +#: ../../source/learn/intrinsics/_pages/SCALE.md:22 +msgid "The type of the argument shall be a _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:25 +msgid "" +"The return value is of the same type and kind as the argument. The " +"fractional part of the model representation of __x__ is returned; it is " +"__x \\* radix(x)\\*\\*(-exponent(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:2 +msgid "nearest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:5 +msgid "__nearest__(3) - \\[MODEL\\_COMPONENTS\\] Nearest representable number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:14 +msgid "" +"__nearest(x, s)__ returns the processor-representable number nearest to " +"__x__ in the direction indicated by the sign of __s__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/SPACING.md:20 +#: ../../source/learn/intrinsics/_pages/TINY.md:24 +msgid "Shall be of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:22 +msgid "__s__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:23 +msgid "Shall be of type _real_ and not equal to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:27 +msgid "" +"The return value is of the same type as __x__. If __s__ is positive, " +"__nearest__ returns the processor-representable number greater than __x__" +" and nearest to it. If __s__ is negative, __nearest__ returns the " +"processor-representable number smaller than __x__ and nearest to it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:67 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:2 +msgid "rrspacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:5 +msgid "" +"__rrspacing__(3) - \\[MODEL\\_COMPONENTS\\] Reciprocal of the relative " +"spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:14 +msgid "" +"__rrspacing(x)__ returns the reciprocal of the relative spacing of model " +"numbers near __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:24 +msgid "" +"The return value is of the same type and kind as __x__. The value " +"returned is equal to __abs(fraction(x)) \\* " +"float(radix(x))\\*\\*digits(x)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:33 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:2 +msgid "scale" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:5 +msgid "" +"__scale__(3) - \\[MODEL\\_COMPONENTS\\] Scale a real value by a whole " +"power of the radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:17 +msgid "__scale(x,i)__ returns x \\* __radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:25 +msgid "The type of the argument shall be a _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:29 +msgid "" +"The return value is of the same type and kind as __x__. Its value is __x" +" \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:57 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:2 +msgid "set\\_exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:5 +msgid "" +"__set\\_exponent__(3) - \\[MODEL\\_COMPONENTS\\] Set the exponent of the " +"model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:14 +msgid "" +"__set\\_exponent(x, i)__ returns the real number whose fractional part is" +" that of __x__ and whose exponent part is __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:27 +msgid "" +"The return value is of the same type and kind as __x__. The real number " +"whose fractional part is that that of __x__ and whose exponent part if " +"__i__ is returned; it is __fraction(x) \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:53 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__spacing__(3)](SPACING), [__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:2 +msgid "spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:5 +msgid "" +"__spacing__(3) - \\[MODEL\\_COMPONENTS\\] Smallest distance between two " +"numbers of a given type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:14 +msgid "" +"Determines the distance between the argument __x__ and the nearest " +"adjacent number of the same type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:24 +msgid "The result is of the same type as the input argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set\\_exponent__(3)](SET_EXPONENT), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:2 +msgid "digits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:5 +msgid "__digits__(3) - \\[NUMERIC MODEL\\] Significant digits function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:14 +msgid "" +"where TYPE may be _integer_ or _real_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:19 +msgid "" +"__digits(x)__ returns the number of significant digits of the internal " +"model representation of __x__. For example, on a system using a 32-bit " +"floating point representation, a default real number would likely return " +"24." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:27 +msgid "The type may be a scalar or array of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:31 +msgid "The return value is of type _integer_ of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:63 +msgid "" +"[__epsilon__(3)](EPSILON), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:2 +msgid "epsilon" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:5 +msgid "__epsilon__(3) - \\[NUMERIC MODEL\\] Epsilon function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:13 +msgid "" +"__epsilon(x)__ returns the floating point relative accuracy. It is the " +"nearly negligible number relative to __1__ such that __1+ little_number__" +" is not equal to __1__; or more precisely" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:20 +msgid "" +"It may be thought of as the distance from 1.0 to the next largest " +"floating point number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:23 +msgid "" +"One use of __epsilon__(3) is to select a _delta_ value for algorithms " +"that search until the calculation is within _delta_ of an estimate." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:26 +msgid "" +"If _delta_ is too small the algorithm might never halt, as a computation " +"summing values smaller than the decimal resolution of the data type does " +"not change." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:37 +msgid "The return value is of the same type as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:112 +msgid "" +"[__digits__(3)](DIGITS), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:2 +msgid "huge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:5 +msgid "__huge__(3) - \\[NUMERIC MODEL\\] Largest number of a type and kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:15 +msgid "" +"where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported" +" associated _kind_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:20 +msgid "" +"__huge(x)__ returns the largest number that is not an infinity for the " +"kind and type of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:26 +msgid "" +"Shall be an arbitrary value of type _real_ or _integer_. The value is " +"used merely to determine what _kind_ and _type_ of scalar is being " +"queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:32 +msgid "" +"The return value is of the same type and kind as _x_ and is the largest " +"value supported by the specified model." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:91 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:2 +msgid "maxexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:5 +msgid "__maxexponent__(3) - \\[NUMERIC MODEL\\] Maximum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:14 +msgid "" +"__maxexponent(x)__ returns the maximum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:2 +msgid "minexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:5 +msgid "__minexponent__(3) - \\[NUMERIC MODEL\\] Minimum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:14 +msgid "" +"__minexponent(x)__ returns the minimum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:2 +msgid "precision" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:5 +msgid "__precision__(3) - \\[NUMERIC MODEL\\] Decimal precision of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:14 +msgid "" +"__precision(x)__ returns the decimal precision in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:26 +msgid "Shall be of type _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:2 +msgid "radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:5 +msgid "__radix__(3) - \\[NUMERIC MODEL\\] Base of a model number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:14 +msgid "__radix(x)__ returns the base of the model representing the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:19 +msgid "Shall be of type _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:23 +#: ../../source/learn/intrinsics/_pages/RADIX.md:23 +msgid "" +"The return value is a scalar of type _integer_ and of the default integer" +" kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:2 +msgid "range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:5 +msgid "__range__(3) - \\[NUMERIC MODEL\\] Decimal exponent range of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:16 +msgid "" +"where TYPE is _real_ or _complex_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:20 +msgid "" +"__range(x)__ returns the decimal exponent range in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:58 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:2 +msgid "tiny" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:5 +msgid "__tiny__(3) - \\[NUMERIC MODEL\\] Smallest positive number of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:14 +msgid "where KIND may be any kind supported by type _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:18 +msgid "" +"__tiny(x)__ returns the smallest positive (non zero) number of the type " +"and kind of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:28 +msgid "The smallest positive value for the _real_ type of the specified kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:54 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set_exponent__(3)](SET_EXPONENT), " +"[__spacing__(3)](SPACING)" +msgstr "" + +#: ../../source/learn/intrinsics/NUMERIC_index.md:1 +#: ../../source/learn/intrinsics/index.md:20 +msgid "Manipulation and properties of numeric values" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:2 +msgid "abs" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:5 +msgid "__abs__(3) - \\[NUMERIC\\] Absolute value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:15 +msgid "" +"where the TYPE and KIND is determined by the type and type attributes of " +"__a__, which may be any _real_, _integer_, or _complex_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:18 +msgid "" +"If the type of __a__ is _cmplx_ the type returned will be _real_ with the" +" same kind as the _real_ part of the input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:21 +msgid "Otherwise the returned type will be the same type as __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:25 +msgid "__abs(a)__ computes the absolute value of numeric argument __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:27 +msgid "" +"In mathematics, the absolute value or modulus of a real number __x__, " +"denoted __|x|__, is the magnitude of __x__ without regard to its sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:30 +msgid "" +"The absolute value of a number may be thought of as its distance from " +"zero, which is the definition used by __abs__(3) when dealing with " +"_complex_ values (_see below_)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:37 +msgid "" +"the type of the argument shall be an _integer_, _real_, or _complex_ " +"scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:42 +msgid "" +"If __a__ is of type _integer_ or _real_, the value of the result is " +"__|a|__ and of the same type and kind as the input argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:45 +msgid "" +"(Take particular note) if __a__ is _complex_ with value __(x, y)__, the " +"result is a _real_ equal to a processor-dependent approximation to " +"__sqrt(x\\*\\*2 + y\\*\\*2)__ computed without undue overflow or " +"underflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:2 +msgid "aint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:5 +msgid "__aint__(3) - \\[NUMERIC\\] Truncate to a whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:16 +msgid "or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:27 +msgid "__aint(x, kind)__ truncates its argument to a whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:32 +#: ../../source/learn/intrinsics/_pages/ANINT.md:19 +msgid "the type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:40 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If the magnitude of __x__ is less " +"than one, __aint(x)__ returns zero. If the magnitude is equal to or " +"greater than one then it returns the largest whole number that does not " +"exceed its magnitude. The sign is the same as the sign of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:85 +msgid "" +"[__anint__(3)](ANINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:2 +msgid "anint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:5 +msgid "__anint__(3) - \\[NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:14 +msgid "__anint(a \\[, kind\\])__ rounds its argument to the nearest whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:27 +msgid "" +"The return value is of type real with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If __a__ is greater than zero, " +"__anint(a)__ returns __aint(a + 0.5)__. If __a__ is less than or equal to" +" zero then it returns __aint(a - 0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:75 +msgid "" +"[__aint__(3)](AINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:2 +msgid "ceiling" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:5 +msgid "__ceiling__(3) - \\[NUMERIC\\] Integer ceiling function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:18 +msgid "__ceiling(a)__ returns the least integer greater than or equal to __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:31 +msgid "" +"The return value is of type __integer__(kind) if __kind__ is present and " +"a default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:34 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:49 +#: ../../source/learn/intrinsics/_pages/NINT.md:44 +msgid "" +"The result is undefined if it cannot be represented in the specified " +"integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:69 +msgid "[__floor__(3)](FLOOR), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:73 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:85 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:2 +msgid "conjg" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:5 +msgid "__conjg__(3) - \\[NUMERIC\\] Complex conjugate of a complex value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:14 +msgid "where __K__ is the kind of the parameter __z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:18 +msgid "__conjg(z)__ returns the complex conjugate of the _complex_ value __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:20 +msgid "" +"In mathematics, the complex conjugate of a complex_ number is the number " +"with an equal real part and an imaginary part equal in magnitude but " +"opposite in sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:24 +msgid "That is, If __z__ is __(x, y)__ then the result is __(x, -y)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:26 +msgid "" +"For matrices of complex numbers, __conjg(array)__ represents the element-" +"by-element conjugation of __array__; not the conjugate transpose of " +"__array__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:22 +#: ../../source/learn/intrinsics/_pages/CONJG.md:32 +msgid "__z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:33 +msgid "The type shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:37 +msgid "The return value is of type _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:2 +msgid "dim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:5 +msgid "__dim__(3) - \\[NUMERIC\\] Positive difference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:16 +#: ../../source/learn/intrinsics/_pages/SIGN.md:16 +msgid "" +"where TYPE may be _real_ or _integer_ and KIND is any supported kind for " +"the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:19 +msgid "" +"__dim(x,y)__ returns the difference __x - y__ if the result is positive; " +"otherwise it returns zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:25 +msgid "The type shall be _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:28 +msgid "The type shall be the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:32 +msgid "" +"The return value is the same type and kind as the input arguments __x__ " +"and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:2 +msgid "dprod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:5 +msgid "__dprod__(3) - \\[NUMERIC\\] Double product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:14 +msgid "" +"__dprod(x,y)__ produces a higher _doubleprecision_ product of default " +"_real_ numbers __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:17 +msgid "" +"The result has a value equal to a processor-dependent approximation to " +"the product of __x__ and __y__. It is recommended that the processor " +"compute the product in double precision, rather than in single precision " +"and then converted to double precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:23 +#: ../../source/learn/intrinsics/_pages/DPROD.md:26 +msgid "shall be default real." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:28 +msgid "" +"The setting of compiler options specifying _real_ size can affect this " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:34 +msgid "Must be of default _real(kind=kind(0.0))_ type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:37 +msgid "Must have the same type and kind parameters as __x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:41 +msgid "The return value is of type _real(kind=kind(0.0d0))_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:2 +msgid "floor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:5 +msgid "" +"__floor__(3) - \\[NUMERIC\\] function to return largest integral value " +"not greater than argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:19 +msgid "" +"__floor(a)__ returns the greatest integer less than or equal to __a__. " +"That is, it picks the whole number at or to the left of the value on the " +"scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:29 +msgid "" +"(Optional) A scalar _integer_ constant initialization expression " +"indicating the kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:34 +msgid "" +"The return value is of type _integer(kind)_ if __kind__ is present and of" +" default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:81 +msgid "[__ceiling__(3)](CEILING), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:2 +msgid "max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:5 +msgid "__max__(3) - \\[NUMERIC\\] Maximum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:13 +msgid "Returns the argument with the largest (most positive) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:17 +#: ../../source/learn/intrinsics/_pages/MIN.md:18 +msgid "__a1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:18 +#: ../../source/learn/intrinsics/_pages/MIN.md:19 +msgid "The type shall be _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:20 +msgid "__a2,a3,...__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:21 +msgid "An expression of the same type and kind as __a1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:25 +msgid "" +"The return value corresponds to the maximum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:28 +msgid "" +"The function is both elemental and allows for an arbitrary number of " +"arguments. This means if some elements are scalar and some are arrays " +"that all the arrays must be of the same size, and the returned value will" +" be an array that is the result as if multiple calls were made with all " +"scalar values with a single element of each array used in each call. If " +"called with all arrays the returned array is the same as if multiple " +"calls were made with __max(arr1(1),arr2(1), ...)__ to " +"__max(arr1(N),arr2(N))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:115 +msgid "[__maxloc__(3)](MAXLOC), [__maxval__(3)](MAXVAL), [__min__(3)](MIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:2 +msgid "min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:5 +msgid "__min__(3) - \\[NUMERIC\\] Minimum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:14 +msgid "Returns the argument with the smallest (most negative) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:21 +msgid "__a2, a3, \\`\\`\\`__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:22 +msgid "An expression of the same type and kind as __A1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:26 +msgid "" +"The return value corresponds to the minimum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:52 +msgid "[__max__(3)](MAX), [__minloc__(3)](MINLOC), [__minval__(3)](MINVAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:2 +msgid "mod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:5 +msgid "__mod__(3) - \\[NUMERIC\\] Remainder function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:14 +msgid "__mod__(a,p) computes the remainder of the division of __a__ by __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:19 +#: ../../source/learn/intrinsics/_pages/MODULO.md:19 +msgid "Shall be a scalar of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:21 +#: ../../source/learn/intrinsics/_pages/MODULO.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:20 +msgid "__p__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__ and not equal to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:27 +msgid "" +"The return value is the result of __a - (int(a/p) \\* p)__. The type and " +"kind of the return value is the same as that of the arguments. The " +"returned value has the same sign as __a__ and a magnitude less than the " +"magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:76 +msgid "[__modulo__(3)](MODULO)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:2 +msgid "modulo" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:5 +msgid "__modulo__(3) - \\[NUMERIC\\] Modulo function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:14 +msgid "__modulo(a,p)__ computes the __a__ modulo __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__. It shall not be " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:27 +msgid "The type and kind of the result are those of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:29 +msgid "" +"If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value " +"of __a - floor (real(a) / real(p)) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:32 +msgid "" +"If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of " +"__a - floor (a / p) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:35 +msgid "" +"The returned value has the same sign as __p__ and a magnitude less than " +"the magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:70 +msgid "[__mod__(3)](MOD)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:2 +msgid "sign" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:5 +msgid "__sign__(3) - \\[NUMERIC\\] Sign copying function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:76 +msgid "####### fortran-lang intrinsic descriptions (license: MIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:2 +msgid "cshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:5 +msgid "__cshift__(3) - \\[TRANSFORMATIONAL\\] Circular shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:14 +msgid "" +"__cshift(array, shift \\[, dim\\])__ performs a circular shift on " +"elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= dim \\<= n__, where \"n\" is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are shifted back in the other end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:36 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:49 +msgid "Returns an array of same type and rank as the __array__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:2 +msgid "dot\\_product" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:5 +msgid "__dot\\_product__(3) - \\[TRANSFORMATIONAL\\] Dot product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:14 +msgid "" +"__dot\\_product(vector\\_a, vector\\_b)__ computes the dot product " +"multiplication of two vectors vector\\_a and vector\\_b. The two vectors " +"may be either numeric or logical and must be arrays of rank one and of " +"equal size. If the vectors are _integer_ or _real_, the result is " +"__sum(vector\\_a\\*vector\\_b)__. If the vectors are _complex_, the " +"result is __sum(conjg(vector\\_a)\\*vector\\_b)__. If the vectors are " +"_logical_, the result is __any(vector\\_a .and. vector\\_b)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:24 +msgid "__vector\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:25 +msgid "The type shall be numeric or _logical_, rank 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:27 +msgid "__vector\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:28 +msgid "" +"The type shall be numeric if vector\\_a is of numeric type or _logical_ " +"if vector\\_a is of type _logical_. vector\\_b shall be a rank-one array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:34 +msgid "" +"If the arguments are numeric, the return value is a scalar of numeric " +"type, _integer_, _real_, or _complex_. If the arguments are _logical_, " +"the return value is .true. or .false.." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:2 +msgid "eoshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:5 +msgid "__eoshift__(3) - \\[TRANSFORMATIONAL\\] End-off shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:14 +msgid "" +"__eoshift(array, shift\\[, boundary, dim\\])__ performs an end-off shift " +"on elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= DIM \\<= n__ where __\"n\"__ is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are dropped. If __boundary__ is present then the corresponding " +"value of from __boundary__ is copied back in the other end. If " +"__boundary__ is not present then the following are copied in depending on" +" the type of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:25 +msgid "\\*Array Type\\* - \\*Boundary Value\\*" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:27 +msgid "Numeric 0 of the type and kind of __array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:29 +msgid "Logical .false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:31 +msgid "__Character(len)__ LEN blanks" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:36 +msgid "May be any type, not scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:41 +msgid "__boundary__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:42 +msgid "Same type as ARRAY." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:2 +msgid "matmul" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:5 +msgid "__matmul__(3) - \\[TRANSFORMATIONAL\\] matrix multiplication" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:14 +msgid "Performs a matrix multiplication on numeric or logical arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:18 +msgid "__matrix\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:19 +msgid "" +"An array of _integer_, _real_, _complex_, or _logical_ type, with a rank " +"of one or two." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:22 +msgid "__matrix\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:23 +msgid "" +"An array of _integer_, _real_, or _complex_ type if __matrix\\_a__ is of " +"a numeric type; otherwise, an array of _logical_ type. The rank shall be " +"one or two, and the first (or only) dimension of __matrix\\_b__ shall be " +"equal to the last (or only) dimension of __matrix\\_a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:30 +msgid "" +"The matrix product of __matrix\\_a__ and __matrix\\_b__. The type and " +"kind of the result follow the usual type and kind promotion rules, as for" +" the \\* or .and. operators." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:2 +msgid "parity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:5 +msgid "__parity__(3) - \\[TRANSFORMATIONAL\\] Reduction with exclusive __OR__()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:17 +msgid "where KIND and LKIND are any supported kind for the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:2 +msgid "null" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:5 +msgid "" +"__null__(3) - \\[TRANSFORMATIONAL\\] Function that returns a " +"disassociated pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:15 +msgid "Returns a disassociated pointer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:17 +msgid "" +"If __mold__ is present, a disassociated pointer of the same type is " +"returned, otherwise the type is determined by context." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:20 +msgid "" +"In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ " +"includes cases where it is required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:26 +msgid "__mold__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:25 +msgid "(Optional) shall be a pointer of any association status and of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:30 +msgid "A disassociated pointer or an unallocated allocatable entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:116 +msgid "[__associated__(3)](ASSOCIATED)" +msgstr "" + +#: ../../source/learn/intrinsics/PARALLEL_index.md:1 +msgid "Parallel programming using co\\_arrays and co\\_indexed arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:2 +msgid "co\\_broadcast" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:5 +msgid "" +"__co\\_broadcast__(3) - \\[COLLECTIVE\\] Copy a value to all images the " +"current set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:14 +msgid "" +"__co\\_broadcast(3)__ copies the value of argument __a__ on the image " +"with image index source\\_image to all images in the current team. __a__ " +"becomes defined as if by intrinsic assignment. If the execution was " +"successful and __stat__ is present, it is assigned the value zero. If the" +" execution failed, __stat__ gets assigned a nonzero value and, if " +"present, __errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:24 +msgid "" +"__intent(inout)__ argument; shall have the same dynamic type and type " +"parameters on all images of the current team. If it is an array, it shall" +" have the same shape on all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:28 +msgid "__source\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:29 +msgid "" +"a scalar integer expression. It shall have the same the same value on all" +" images and refer to an image of the current team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:32 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:32 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:34 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:34 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:51 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:34 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:30 +msgid "__stat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:33 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:35 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:52 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:35 +msgid "(optional) a scalar integer variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:37 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:54 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:37 +msgid "__errmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:36 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:38 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:38 +msgid "(optional) a scalar character variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:56 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_reduce__(3)](CO_REDUCE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:2 +msgid "co\\_lbound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:5 +msgid "__co\\_lbound__(3) - \\[COLLECTIVE\\] Lower codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:14 +msgid "" +"Returns the lower bounds of a coarray, or a single lower cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:20 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:20 +msgid "Shall be an coarray, of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:23 +msgid "(Optional) Shall be a scalar _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:31 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:31 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind. If __dim__ is " +"absent, the result is an array of the lower cobounds of __coarray__. If " +"__dim__ is present, the result is a scalar corresponding to the lower " +"cobound of the array along that codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:43 +msgid "[__co\\_ubound__(3)](CO_UBOUND), [__lbound__(3)](LBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:2 +msgid "co\\_max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:5 +msgid "" +"__co\\_max__(3) - \\[COLLECTIVE\\] Maximal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:14 +msgid "" +"co\\_max determines element-wise the maximal value of __a__ on all images" +" of the current team. If result\\_image is present, the maximum values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:26 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:26 +msgid "" +"shall be an integer, real or character variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:29 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:29 +msgid "__result\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:30 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:30 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:47 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:30 +msgid "" +"(optional) a scalar integer expression; if present, it shall have the " +"same the same value on all images and refer to an image of the current " +"team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:50 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:62 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:58 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:92 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:63 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:54 +msgid "TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:66 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:2 +msgid "co\\_min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:5 +msgid "" +"__co\\_min__(3) - \\[COLLECTIVE\\] Minimal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:14 +msgid "" +"co\\_min determines element-wise the minimal value of __a__ on all images" +" of the current team. If result\\_image is present, the minimal values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:62 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:2 +msgid "co\\_reduce" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:5 +msgid "" +"__co\\_reduce__(3) - \\[COLLECTIVE\\] Reduction of values on the current " +"set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:14 +msgid "" +"co\\_reduce determines element-wise the reduction of the value of __a__ " +"on all images of the current team. The pure function passed as " +"__operation__ is used to pairwise reduce the values of __a__ by passing " +"either the value of __a__ of different images or the result values of " +"such a reduction as argument. If __a__ is an array, the reduction is done" +" element wise. If result\\_image is present, the result values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:30 +msgid "" +"is an __intent(inout)__ argument and shall be nonpolymorphic. If it is " +"allocatable, it shall be allocated; if it is a pointer, it shall be " +"associated. __a__ shall have the same type and type parameters on all " +"images of the team; if it is an array, it shall have the same shape on " +"all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:36 +msgid "__operation__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:37 +msgid "" +"pure function with two scalar nonallocatable arguments, which shall be " +"nonpolymorphic and have the same type and type parameters as __a__. The " +"function shall return a nonallocatable scalar of the same type and type " +"parameters as __a__. The function shall be the same on all images and " +"with regards to the arguments mathematically commutative and associative." +" Note that OPERATION may not be an elemental" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:44 +msgid "__function, unless it is an intrinsic function.__ result\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:85 +msgid "" +"While the rules permit in principle an intrinsic function, none of the " +"intrinsics in the standard fulfill the criteria of having a specific " +"function, which takes two arguments of the same type and returning that " +"type as a result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:96 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_max__(3)](CO_MAX), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:2 +msgid "co\\_sum" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:5 +msgid "" +"__co\\_sum__(3) - \\[COLLECTIVE\\] Sum of values on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:14 +msgid "" +"co\\_sum sums up the values of each element of __a__ on all images of the" +" current team. If result\\_image is present, the summed-up values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:26 +msgid "" +"shall be an integer, real or complex variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:67 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:2 +msgid "co\\_ubound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:5 +msgid "__co\\_ubound__(3) - \\[COLLECTIVE\\] Upper codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:14 +msgid "" +"Returns the upper cobounds of a coarray, or a single upper cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:43 +msgid "" +"[__co\\_lbound__(3)](CO_LBOUND), [__lbound__(3)](LBOUND), " +"[__ubound__(3)](UBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:2 +msgid "event\\_query" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:5 +msgid "" +"__event\\_query__(3) - \\[COLLECTIVE\\] Query whether a coarray event has" +" occurred" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:14 +msgid "" +"__event\\_query__ assigns the number of events to __count__ which have " +"been posted to the __event__ variable and not yet been removed by calling" +" __event\\_wait__. When __stat__ is present and the invocation was " +"successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value and __count__ is " +"assigned the value __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:22 +msgid "__event__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:23 +msgid "" +"(intent(in)) Scalar of type event\\_type, defined in iso\\_fortran\\_env;" +" shall not be coindexed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:25 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:26 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:42 +msgid "__count__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:27 +msgid "" +"(intent(out))Scalar integer with at least the precision of default " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:31 +msgid "(OPTIONAL) Scalar default-kind _integer_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:2 +msgid "image\\_index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:5 +msgid "" +"__image\\_index__(3) - \\[COLLECTIVE\\] Cosubscript to image index " +"conversion" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:14 +msgid "Returns the image index belonging to a cosubscript." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:23 +msgid "__coarray__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:19 +msgid "Coarray of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:21 +msgid "__sub__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:22 +msgid "default integer rank-1 array of a size equal to the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:27 +msgid "" +"Scalar default integer with the value of the image index which " +"corresponds to the cosubscripts. For invalid cosubscripts the result is " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:50 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__num\\_images__(3)](NUM_IMAGES)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:2 +msgid "num\\_images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:5 +msgid "__num\\_images__(3) - \\[COLLECTIVE\\] Number of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:14 +msgid "Returns the number of images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:19 +msgid "__distance__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:19 +msgid "(optional, __intent(in)__) Nonnegative scalar integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:21 +msgid "__failed__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:22 +msgid "(optional, __intent(in)__) Scalar logical expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:26 +msgid "" +"Scalar default-kind _integer_. If __distance__ is not present or has " +"value 0, the number of images in the current team is returned. For values" +" smaller or equal distance to the initial team, it returns the number of " +"images index on the ancestor team which has a distance of __distance__ " +"from the invoking team. If __distance__ is larger than the distance to " +"the initial team, the number of images of the initial team is returned. " +"If __failed__ is not present the total number of images is returned; if " +"it has the value .true., the number of failed images is returned, " +"otherwise, the number of images which do have not the failed status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:59 +msgid "" +"Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or " +"later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:63 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__image\\_index__(3)](THIS_INDEX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:2 +msgid "this\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:5 +msgid "__this\\_image__(3) - \\[COLLECTIVE\\] Cosubscript index of this image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:15 +msgid "Returns the cosubscript for this image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:20 +msgid "" +"(optional, __intent(in)__) Nonnegative scalar integer (not permitted " +"together with __coarray__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:24 +msgid "Coarray of any type (optional; if __dim__ present, required)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:27 +msgid "" +"default integer scalar (optional). If present, __dim__ shall be between " +"one and the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:32 +msgid "" +"Default integer. If __coarray__ is not present, it is scalar; if " +"__distance__ is not present or has value __0__, its value is the image " +"index on the invoking image for the current team, for values smaller or " +"equal distance to the initial team, it returns the image index on the " +"ancestor team which has a distance of __distance__ from the invoking " +"team. If __distance__ is larger than the distance to the initial team, " +"the image index of the initial team is returned. Otherwise when the " +"__coarray__ is present, if __dim__ is not present, a rank-1 array with " +"corank elements is returned, containing the cosubscripts for __coarray__ " +"specifying the invoking image. If __dim__ is present, a scalar is " +"returned, with the value of the __dim__ element of " +"__this\\_image(coarray)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:66 +msgid "" +"! ! Check whether the current image is the initial image if " +"(this_image(huge(1)) /= this_image()) error stop \"something is rotten " +"here\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:2 +msgid "atomic\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:5 +msgid "" +"__atomic\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise AND " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:14 +msgid "" +"__atomic\\_and(atom, value)__ atomically defines __atom__ with the " +"bitwise __and__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value 0. If it is present and the invocation has failed, it is assigned " +"a positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:24 +msgid "__atom__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:25 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:28 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:32 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:34 +msgid "__value__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:29 +msgid "" +"Scalar of the same type as __atom__. If the kind is different, the value " +"is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:42 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:33 +msgid "(optional) Scalar default-kind integer variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:53 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:2 +msgid "atomic\\_fetch\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:5 +msgid "" +"__atomic\\_fetch\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise AND operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:14 +msgid "" +"__atomic\\_fetch\\_and(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise AND between " +"the values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:33 +msgid "__old__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:34 +msgid "Scalar of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:65 +msgid "[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:2 +msgid "atomic\\_fetch\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:5 +msgid "" +"__atomic\\_fetch\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise" +" OR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:14 +msgid "" +"__atomic\\_fetch\\_or(atom, value, old)__ atomically stores the value of " +"__atom__ in __old__ and defines __atom__ with the bitwise OR between the " +"values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), [__atomic\\_or__(3)](ATOMIC_OR)," +" [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:2 +msgid "atomic\\_fetch\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:5 +msgid "" +"__atomic\\_fetch\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise XOR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:14 +msgid "" +"__atomic\\_fetch\\_xor(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise __xor__ " +"between the values of __atom__ and __value__. When __stat__ is present " +"and the invocation was successful, it is assigned the value __0__. If it " +"is present and the invocation has failed, it is assigned a positive " +"value; in particular, for a coindexed __atom__, if the remote image has " +"stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_xor__(3)](ATOMIC_XOR), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:65 +msgid "[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:2 +msgid "atomic\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:5 +msgid "" +"__atomic\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:14 +msgid "" +"__atomic\\_or(atom, value)__ atomically defines __atom__ with the bitwise" +" __or__ between the values of __atom__ and __value__. When __stat__ is " +"present and the invocation was successful, it is assigned the value " +"__0__. If it is present and the invocation has failed, it is assigned a " +"positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:57 +msgid "" +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:61 +msgid "[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:2 +msgid "atomic\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:5 +msgid "" +"__atomic\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:14 +msgid "" +"__atomic\\_xor(atom, value)__ atomically defines __atom__ with the " +"bitwise __xor__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value __0__. If it is present and the invocation has failed, it is " +"assigned a positive value; in particular, for a coindexed __atom__, if " +"the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH), " +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:2 +msgid "atomic\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:5 +msgid "__atomic\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:13 +msgid "" +"__atomic\\_ad(atom, value)__ atomically adds the value of VAR to the " +"variable __atom__. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed ATOM, if the remote image has stopped, it is assigned the" +" value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote " +"image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:53 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR) __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:2 +msgid "atomic\\_cas" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:5 +msgid "__atomic\\_cas__(3) - \\[ATOMIC\\] Atomic compare and swap" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:14 +msgid "" +"atomic\\_cas compares the variable __atom__ with the value of " +"__compare__; if the value is the same, __atom__ is set to the value of " +"__new__. Additionally, __old__ is set to the value of __atom__ that was " +"used for the comparison. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:29 +msgid "" +"Scalar coarray or coindexed variable of either integer type with " +"atomic\\_int\\_kind kind or logical type with atomic\\_logical\\_kind " +"kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:34 +msgid "__compare__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:35 +msgid "Scalar variable of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:37 +msgid "__new__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:38 +msgid "" +"Scalar variable of the same type as __atom__. If kind is different, the " +"value is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:63 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__iso\\_fortran\\_env__(3)]()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:2 +msgid "atomic\\_define" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:5 +msgid "__atomic\\_define__(3) - \\[ATOMIC\\] Setting a variable atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:19 +msgid "" +"__atomic\\_define(atom, value)__ defines the variable __atom__ with the " +"value __value__ atomically. When __stat__ is present and the invocation " +"was successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:55 +msgid "Fortran 2008 and later; with __stat__, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:59 +msgid "" +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:2 +msgid "atomic\\_fetch\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:5 +msgid "" +"__atomic\\_fetch\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation with " +"prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:14 +msgid "" +"__atomic\\_fetch\\_add(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and adds the value of __var__ to the variable " +"__atom__. When __stat__ is present and the invocation was successful, it " +"is assigned the value __0__. If it is present and the invocation has " +"failed, it is assigned a positive value; in particular, for a coindexed " +"__atom__, if the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:26 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind. atomic\\_logical\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_add__(3)](ATOMIC_ADD), __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:62 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:2 +msgid "atomic\\_ref" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:5 +msgid "" +"__atomic\\_ref__(3) - \\[ATOMIC\\] Obtaining the value of a variable " +"atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:14 +msgid "" +"__atomic\\_ref(value, atom)__ atomically assigns the value of the " +"variable __atom__ to __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's " +"__stat\\_stopped\\_image__ and if the remote image has failed, the value " +"__stat\\_failed\\_image__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:57 +msgid "Fortran 2008 and later; with STAT, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:61 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_cas__(3)](ATOMIC_CAS), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:65 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:68 +msgid "" +"[__atomic\\_fetch\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/STATE_index.md:1 +msgid "General and miscellaneous intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:2 +msgid "associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:5 +msgid "__associated__(3) - \\[STATE\\] Status of a pointer or pointer/target pair" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:14 +msgid "" +"__associated(pointer \\[, target\\])__ determines the status of the " +"pointer __pointer__ or if __pointer__ is associated with the target " +"__target__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:19 +msgid "__pointer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:20 +msgid "__pointer__ shall have the _pointer_ attribute and it can be of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:22 +msgid "__target__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:23 +msgid "" +"(Optional) __target__ shall be a pointer or a target. It must have the " +"same type, kind type parameter, and array rank as __pointer__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:26 +msgid "" +"The association status of neither __pointer__ nor __target__ shall be " +"undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:30 +msgid "" +"__associated(pointer)__ returns a scalar value of type _logical_. There " +"are several cases:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:33 +msgid "" +"When the optional __target__ is not present then __associated(pointer)__ " +"is true if __pointer__ is associated with a target; otherwise, it returns" +" false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:37 +msgid "" +"If __target__ is present and a scalar target, the result is true if " +"__target__ is not a zero-sized storage sequence and the target associated" +" with __pointer__ occupies the same storage units. If __pointer__ is " +"disassociated, the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:42 +msgid "" +"If __target__ is present and an array target, the result is true if " +"__target__ and __pointer__ have the same shape, are not zero-sized " +"arrays, are arrays whose elements are not zero-sized storage sequences, " +"and __target__ and __pointer__ occupy the same storage units in array " +"element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:48 +msgid "As in case 2, the result is false, if __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:50 +msgid "" +"If __target__ is present and an scalar pointer, the result is true if " +"__target__ is associated with __pointer__, the target associated with " +"__target__ are not zero-sized storage sequences and occupy the same " +"storage units." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:55 +msgid "" +"The result is __.false.__, if either __target__ or __pointer__ is " +"disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:57 +msgid "" +"If __target__ is present and an array pointer, the result is true if " +"target associated with __pointer__ and the target associated with " +"__target__ have the same shape, are not zero-sized arrays, are arrays " +"whose elements are not zero-sized storage sequences, and __target__ and " +"__pointer__ occupy the same storage units in array element order. The " +"result is false, if either __target__ or __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:86 +msgid "[__null__(3)](NULL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:2 +msgid "extends\\_type\\_of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:5 +msgid "" +"__extends\\_type\\_of__(3) - \\[STATE\\] determine if the dynamic type of" +" __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:14 +msgid "" +"__extends\\_type\\_of__(3) is __.true.__ if and only if the dynamic type " +"of __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:17 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:27 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:25 +msgid "__Options__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:20 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:24 +msgid "" +"shall be an object of extensible type. If it is a pointer, it shall not " +"have an undefined association status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:30 +msgid "Default logical scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:33 +msgid "" +"If __mold__ is unlimited polymorphic and is either a disassociated " +"pointer or unallocated allocatable variable, the result is true; " +"otherwise if __a__ is unlimited polymorphic and is either a disassociated" +" pointer or unallocated allocatable variable, the result is false; " +"otherwise the result is true if and only if the dynamic type of __a__ is " +"an extension type of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:40 +msgid "" +"The dynamic type of a disassociated pointer or unallocated allocatable " +"variable is its declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:2 +msgid "is\\_iostat\\_end" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:5 +msgid "__is\\_iostat\\_end__(3) - \\[STATE\\] Test for end-of-file value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:17 +msgid "" +"is\\_iostat\\_end(3) tests whether a variable (assumed returned as a " +"status from an I/O statement) has the \"end of file\" I/O status value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:20 +msgid "" +"The function is equivalent to comparing the variable with the " +"__iostat\\_end__ parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:26 +msgid "An _integer_ status value to test if indicating end of file." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:30 +msgid "" +"Returns a _logical_ of the default kind, __.true.__ if __i__ has the " +"value which indicates an end of file condition for __iostat=__ " +"specifiers, and is __.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:2 +msgid "is\\_iostat\\_eor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:5 +msgid "__is\\_iostat\\_eor__(3) - \\[STATE\\] Test for end-of-record value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:14 +msgid "" +"is\\_iostat\\_eor tests whether an variable has the value of the I/O " +"status \"end of record\". The function is equivalent to comparing the " +"variable with the iostat\\_eor parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:22 +msgid "Shall be of the type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:26 +msgid "" +"Returns a _logical_ of the default kind, which .true. if __i__ has the " +"value which indicates an end of file condition for iostat= specifiers, " +"and is .false. otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:2 +msgid "move\\_alloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:5 +msgid "__move\\_alloc__(3) - \\[\\] Move allocation from one object to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:14 +msgid "" +"__move\\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC " +"will become deallocated in the process." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:19 +msgid "__src__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:20 +msgid "allocatable, __intent(inout)__, may be of any type and kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:22 +msgid "__dest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:23 +msgid "" +"allocatable, __intent(out)__, shall be of the same type, kind and rank as" +" SRC." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:28 +msgid "Basic Sample program to allocate a bigger grid" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:70 +msgid "[__allocated__(3)](ALLOCATED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:2 +msgid "present" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:5 +msgid "" +"__present__(3) - [STATE\\] Determine whether an optional dummy argument" +" is specified" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:17 +msgid "Determines whether an optional dummy argument is present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:22 +msgid "" +"May be of any type and may be a pointer, scalar or array value, or a " +"dummy procedure. It shall be the name of an optional dummy argument " +"accessible within the current subroutine or function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:28 +msgid "" +"Returns either __.true.__ if the optional argument __a__ is present, or " +"__.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:2 +msgid "same\\_type\\_as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:5 +msgid "__same\\_type\\_as__(3) - \\[STATE\\] Query dynamic types for equality" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:14 +msgid "Query dynamic types for equality." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:19 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:23 +msgid "Shall be an object of extensible declared type or unlimited polymorphic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:22 +msgid "__b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:28 +msgid "" +"The return value is a scalar of type default logical. It is true if and " +"only if the dynamic type of __a__ is the same as the dynamic type of " +"__b__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:37 +msgid "[__extends\\_type\\_of__(3)](EXTENDS_TYPE_OF)" +msgstr "" + +#: ../../source/learn/intrinsics/SYSTEM_index.md:1 +msgid "Accessing external system information" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:2 +msgid "command\\_argument\\_count" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:5 +msgid "" +"__command\\_argument\\_count__(3) - \\[SYSTEM:COMMAND LINE\\] Get number " +"of command line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:16 +msgid "" +"__command\\_argument\\_count()__ returns the number of arguments passed" +" on the command line when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:21 +msgid "None" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:26 +msgid "" +"The return value is of type default _integer_. It is the number of " +"arguments passed on the command line when the program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:42 +msgid "Sample output:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:60 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:2 +msgid "get\\_command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:5 +msgid "" +"__get\\_command__(3) - \\[SYSTEM:COMMAND LINE\\] Get the entire command " +"line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:18 +msgid "Retrieve the entire command line that was used to invoke the program." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:20 +msgid "" +"Note that what is typed on the command line is often processed by a " +"shell. The shell typically processes special characters and white space " +"before passing it to the program. The processing can typically be turned " +"off by turning off globbing or quoting the command line arguments and/or " +"changing the default field separators, but this should rarely be " +"necessary." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:42 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:29 +msgid "__command__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:30 +msgid "" +"Shall be of type _character_ and of default kind. If __command__ is " +"present, stores the entire command line that was used to invoke the " +"program in __command__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:42 +msgid "__length__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:35 +msgid "" +"Shall be of type _integer_ and of default kind. If __length__ is present," +" it is assigned the length of the command line." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:38 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:48 +msgid "__status__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:39 +msgid "" +"Shall be of type _integer_ and of default kind. If __status__ is present," +" it is assigned 0 upon success of the command, __-1__ if __command__ is " +"too short to store the command line, or a positive value in case of an " +"error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:83 +msgid "" +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:2 +msgid "get\\_command\\_argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:5 +msgid "" +"__get\\_command\\_argument__(3) - \\[SYSTEM:COMMAND LINE\\] Get command " +"line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:19 +msgid "" +"Retrieve the __number__-th argument that was passed on the command line " +"when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:22 +msgid "" +"There is not anything specifically stated about what an argument is but " +"in practice the arguments are split on whitespace unless the arguments " +"are quoted and IFS values (Internal Field Separators) used by common " +"shells are ignored." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:29 +msgid "__number__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:30 +msgid "" +"Shall be a scalar of type __integer__, __number \\>= 0__. If __number = " +"0__, __value__ is set to the name of the program (on systems that support" +" this feature)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:36 +msgid "" +"__value__ :Shall be a scalar of type _character_ and of default kind. " +"After get\\_command\\_argument returns, the __value__ argument holds the " +"__number__-th command line argument. If __value__ can not hold the " +"argument, it is truncated to fit the length of __value__. If there are " +"less than __number__ arguments specified at the command line, __value__ " +"will be filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:44 +msgid "" +"__length__ :(Optional) Shall be a scalar of type _integer_. The " +"__length__ argument contains the length of the __number__-th command line" +" argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:48 +msgid "" +"__status__ :(Optional) Shall be a scalar of type _integer_. If the " +"argument retrieval fails, __status__ is a positive number; if __value__ " +"contains a truncated command line argument, __status__ is __-1__; and " +"otherwise the __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:125 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:2 +msgid "cpu\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:5 +msgid "__cpu\\_time__(3) - \\[SYSTEM:TIME\\] return CPU processor time in seconds" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:14 +msgid "" +"Returns a _real_ value representing the elapsed CPU time in seconds. This" +" is useful for testing segments of code to determine execution time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:17 +msgid "" +"The exact definition of time is left imprecise because of the variability" +" in what different processors are able to provide." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:20 +msgid "If no time source is available, TIME is set to a negative value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:22 +msgid "" +"Note that TIME may contain a system dependent, arbitrary offset and may " +"not start with 0.0. For cpu\\_time the absolute value is meaningless. " +"Only differences between subsequent calls, as shown in the example below," +" should be used." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:27 +msgid "" +"A processor for which a single result is inadequate (for example, a " +"parallel processor) might choose to provide an additional version for " +"which time is an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:33 +msgid "__TIME__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:34 +msgid "" +"The type shall be _real_ with __intent(out)__. It is assigned a " +"processor-dependent approximation to the processor time in seconds. If " +"the processor cannot return a meaningful time, a processor-dependent " +"negative value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:39 +msgid "" +"__is returned.__ The start time is left imprecise because the purpose is " +"to time sections of code, as in the example. This might or might not " +"include system overhead time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:71 +msgid "" +"[__system\\_clock__(3)](SYSTEM_CLOCK), " +"[__date\\_and\\_time__(3)](DATE_AND_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:2 +msgid "date\\_and\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:5 +msgid "__date\\_and\\_time__(3) - \\[SYSTEM:TIME\\] gets current time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:18 +msgid "" +"__date\\_and\\_time(date, time, zone, values)__ gets the corresponding " +"date and time information from the real-time system clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:21 +msgid "Unavailable time and date _character_ parameters return blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:25 +msgid "__date__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:26 +msgid "" +"A character string of default kind of the form CCYYMMDD, of length 8 or " +"larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:28 +msgid "__time__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:29 +msgid "" +"A character string of default kind of the form HHMMSS.SSS, of length 10 " +"or larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:31 +msgid "__zone__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:32 +msgid "" +"A character string of default kind of the form (+-)HHMM, of length 5 or " +"larger, representing the difference with respect to Coordinated Universal" +" Time (UTC)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:35 +msgid "__values__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:36 +msgid "An _integer_ array of eight elements that contains:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:38 +msgid "__values__(1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:39 +msgid ": The year" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:40 +msgid "__values__(2)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:41 +msgid ": The month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:42 +msgid "__values__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:43 +msgid ": The day of the month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:44 +msgid "__values__(4)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:45 +msgid ": Time difference with UTC in minutes" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:46 +msgid "__values__(5)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:47 +msgid ": The hour of the day" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:48 +msgid "__values__(6)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:49 +msgid ": The minutes of the hour" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:50 +msgid "__values__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:51 +msgid ": The seconds of the minute" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:52 +msgid "__values__(8)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:53 +msgid ": The milliseconds of the second" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:103 +msgid "[__cpu\\_time__(3)](CPU_TIME), [__system\\_clock__(3)](SYSTEM_CLOCK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:107 +msgid "date and time conversion, formatting and computation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:109 +msgid "[M_time](https://github.com/urbanjost/M_time)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:110 +msgid "[datetime](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:111 +msgid "[datetime-fortran](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:2 +msgid "system_clock" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:5 +msgid "" +"__system\\_clock__(3) - \\[SYSTEM:TIME\\] Return numeric data from a " +"real-time clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:20 +msgid "" +"__system\\_clock__ lets you measure durations of time with the precision " +"of the smallest time increment generally available on a system by " +"returning processor-dependent values based on the current value of the " +"processor clock. The __clock__ value is incremented by one for each clock" +" count until the value __count\\_max__ is reached and is then reset to " +"zero at the next count. __clock__ therefore is a modulo value that lies " +"in the range __0 to count\\_max__. __count\\_rate__ and __count\\_max__ " +"are assumed constant (even though CPU rates can vary on a single " +"platform)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:29 +msgid "" +"__count\\_rate__ is system dependent and can vary depending on the kind " +"of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:32 +msgid "" +"If there is no clock, or querying the clock fails, __count__ is set to " +"__-huge(count)__, and __count\\_rate__ and __count\\_max__ are set to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:35 +msgid "" +"__system\\_clock__ is typically used to measure short time intervals " +"(system clocks may be 24-hour clocks or measure processor clock ticks " +"since boot, for example). It is most often used for measuring or tracking" +" the time spent in code blocks in lieu of using profiling tools." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:43 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned a processor-" +"dependent value based on the current value of the processor clock, or " +"__-huge(count)__ if there is no clock. The processor-dependent value is " +"incremented by one for each clock count until the value __count\\_max__ " +"is reached and is reset to zero at the next count. It lies in the range " +"__0__ to __count\\_max__ if there is a clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:51 +msgid "__count\\_rate__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:52 +msgid "" +"(optional) shall be an _integer_ or _real_ scalar. It is assigned a " +"processor-dependent approximation to the number of processor clock counts" +" per second, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:56 +msgid "__count\\_max__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:57 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned the maximum value" +" that __COUNT__ can have, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:82 +msgid "" +"If the processor clock is a 24-hour clock that registers time at " +"approximately 18.20648193 ticks per second, at 11:30 A.M. the reference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:87 +msgid "defines" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:100 +msgid "[__date\\_and\\_time__(3)](DATE_AND_TIME), [__cpu\\_time__(3)](CPU_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:2 +msgid "execute\\_command\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:5 +msgid "" +"__execute\\_command\\_line__(3) - \\[SYSTEM:PROCESSES\\] Execute a shell " +"command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:20 +msgid "" +"The __command__ argument is passed to the shell and executed. (The shell " +"is generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If " +"__wait__ is present and has the value __.false.__, the execution of the " +"command is asynchronous if the system supports it; otherwise, the command" +" is executed synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:26 +msgid "" +"The three last arguments allow the user to get status information. After " +"synchronous execution, __exitstat__ contains the integer exit code of the" +" command, as returned by __system__. __cmdstat__ is set to zero if the " +"command line was executed (whatever its exit status was). __cmdmsg__ is " +"assigned an error message if an error has occurred." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:32 +msgid "" +"Note that the system call need not be thread-safe. It is the " +"responsibility of the user to ensure that the system is not called " +"concurrently if required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:36 +msgid "" +"When the command is executed synchronously, __execute\\_command\\_line__ " +"returns after the command line has completed execution. Otherwise, " +"__execute\\_command\\_line__ returns without waiting." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:43 +msgid "" +"a default _character_ scalar containing the command line to be executed. " +"The interpretation is programming-environment dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:46 +msgid "__wait__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:47 +msgid "" +"(Optional) a default _logical_ scalar. If __wait__ is present with the " +"value .false., and the processor supports asynchronous execution of the " +"command, the command is executed asynchronously; otherwise it is executed" +" synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:52 +msgid "__exitstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:53 +msgid "" +"(Optional) an _integer_ of the default kind with __intent(inout)__. If " +"the command is executed synchronously, it is assigned the value of the " +"processor-dependent exit status. Otherwise, the value of __exitstat__ is " +"unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:58 +msgid "__cmdstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:59 +msgid "" +"(Optional) an _integer_ of default kind with __intent(inout)__. If an " +"error condition occurs and __cmdstat__ is not present, error termination " +"of execution of the image is initiated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:63 +msgid "" +"It is assigned the value __-1__ if the processor does not support command" +" line execution, a processor-dependent positive value if an error " +"condition occurs, or the value __-2__ if no error condition occurs but " +"__wait__ is present with the value false and the processor does not " +"support asynchronous execution. Otherwise it is assigned the value 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:70 +msgid "__cmdmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:71 +msgid "" +"(Optional) a _character_ scalar of the default kind. It is an __intent " +"(inout)__ argument.If an error condition occurs, it is assigned a " +"processor-dependent explanatory message.Otherwise, it is unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:94 +msgid "" +"Because this intrinsic is making a system call, it is very system " +"dependent. Its behavior with respect to signaling is processor dependent." +" In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT " +"signals will be ignored, and the SIGCHLD will be blocked. As such, if the" +" parent process is terminated, the child process might not be terminated " +"alongside." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:2 +msgid "get\\_environment" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:5 +msgid "" +"__get\\_environment\\_variable__(3) - \\[SYSTEM:ENVIRONMENT\\] Get an " +"environmental variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:19 +msgid "Get the __value__ of the environmental variable __name__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:21 +msgid "" +"Note that __get\\_environment\\_variable__(3) need not be thread-safe. It" +" is the responsibility of the user to ensure that the environment is not " +"being updated concurrently." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:22 +msgid "__name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:28 +msgid "The name of the environment variable to query." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:30 +msgid "Shall be a scalar of type _character_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:35 +msgid "The value of the environment variable being queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:37 +msgid "" +"Shall be a scalar of type _character_ and of default kind. The value of " +"__name__ is stored in __value__. If __value__ is not large enough to hold" +" the data, it is truncated. If __name__ is not set, __value__ will be " +"filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:43 +msgid "" +"Argument __length__ contains the length needed for storing the " +"environment variable __name__ or zero if it is not present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:46 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:54 +msgid "Shall be a scalar of type _integer_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:49 +msgid "" +"__status__ is __-1__ if __value__ is present but too short for the " +"environment variable; it is __1__ if the environment variable does not " +"exist and __2__ if the processor does not support environment variables; " +"in all other cases __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:56 +msgid "__trim\\_name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:57 +msgid "" +"If __trim\\_name__ is present with the value __.false.__, the trailing " +"blanks in __name__ are significant; otherwise they are not part of the " +"environment variable name." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:61 +msgid "Shall be a scalar of type _logical_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/TRANSFORM_index.md:1 +msgid "Matrix multiplication, dot product, and array shifts" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:1 +msgid "Types and kinds" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:3 +msgid "" +"These intrinsics allow for explicitly casting one type of variable to " +"another or can be used to conditionally execute code blocks based on " +"variable types when working with polymorphic variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:7 +msgid "Fortran Data Types" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:9 +msgid "Fortran provides five basic intrinsic data types:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:11 +msgid "Integer type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:12 +msgid "The integer types can hold only whole number values." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:13 +msgid "Real type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:14 +msgid "Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:15 +msgid "Complex type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:16 +msgid "" +"A complex number has two parts, the real part and the imaginary part. Two" +" consecutive floating point storage units store the two parts." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:19 +msgid "Logical type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:20 +msgid "There are only two logical values: .true. and .false." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:21 +msgid "Character type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:22 +msgid "" +"The character type stores strings. The length of the string can be " +"specified by the __len__ specifier. If no length is specified, it is 1." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:25 +msgid "" +"These \"types\" can be of many \"kinds\". Often different numeric kinds " +"take up different storage sizes and therefore can represent different " +"ranges; but a different kind can have other meanings. A _character_ " +"variable might represent ASCII characters or UTF-8 or Unicode characters," +" for example." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:31 +msgid "You can derive your own data types from these fundamental types as well." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:33 +msgid "Implicit Typing" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:35 +msgid "" +"Fortran allows a feature called implicit typing, i.e., you do not have to" +" declare some variables before use. By default if a variable is not " +"declared, then the first letter of its name will determine its type:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:39 +msgid "" +"Variable names starting with __i-n__ (the first two letters of " +"\"integer\") specify _integer_ variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:42 +msgid "All other variable names default to _real_." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:45 +msgid "" +"However, in most circles it is considered good programming practice to " +"declare all the variables. For that to be enforced, you start your " +"variable declaration section with a statement that turns off implicit " +"typing: the statement" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:52 +msgid "For more information refer to the __implicit__ statement." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:2 +msgid "aimag" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:5 +msgid "__aimag__(3) - \\[TYPE:NUMERIC\\] Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:18 +msgid "__aimag(z)__ yields the imaginary part of complex argument __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:23 +msgid "The type of the argument shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:27 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:2 +msgid "cmplx" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:5 +msgid "__cmplx__(3) - \\[TYPE:NUMERIC\\] Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:19 +msgid "" +"To convert numeric variables to complex, use the __cmplx__(3) function. " +"Constants can be used to define a complex variable using the syntax" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:26 +msgid "" +"but this will not work for variables. You must use the __cmplx__(3) " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:28 +msgid "" +"__cmplx(x \\[, y \\[, kind\\]\\])__ returns a complex number where __x__ " +"is converted to the _real_ component. If __x__ is _complex_ then __y__ " +"must not be present. If __y__ is present it is converted to the imaginary" +" component. If __y__ is not present then the imaginary component is set " +"to __0.0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:33 +msgid "__cmplx(3) and double precision__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:35 +msgid "" +"The Fortran 90 language defines __cmplx__(3) as always returning a result" +" that is type __complex(kind=KIND(0.0))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:38 +msgid "" +"This means \\`__cmplx(d1,d2)__', where __\\`d1'__ and __\\`d2'__ are " +"_doubleprecision_, is treated as: fortran" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:45 +msgid "_doubleprecision complex_ numbers require specifying a precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:47 +msgid "" +"It was necessary for Fortran 90 to specify this behavior for " +"_doubleprecision_ arguments, since that is the behavior mandated by " +"FORTRAN 77." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:51 +msgid "" +"So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra " +"argument used to specify the desired kind of complex result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:75 +msgid "" +"F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity " +"can be accessed independently with a component-like syntax in f2018:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:78 +msgid "A complex-part-designator is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:80 +msgid "``fortran designator % RE or designator % IM." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:103 +msgid "__x__ The type may be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:106 +msgid "" +"__y__ (Optional; only allowed if __x__ is not _complex_.). May be " +"_integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:110 +msgid "" +"__kind__ (Optional) An _integer_ initialization expression indicating the" +" kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:116 +msgid "" +"The return value is of _complex_ type, with a kind equal to __kind__ if " +"it is specified. If __kind__ is not specified, the result is of the " +"default _complex_ kind, regardless of the kinds of __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:153 +msgid "[__aimag__(3)](AIMAG) - Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:155 +msgid "[__cmplx__(3)](CMPLX) - Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:157 +msgid "[__conjg__(3)](CONJG) - Complex conjugate function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:159 +msgid "[__real__(3)](REAL) - Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:2 +msgid "int" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:4 +msgid "" +"__int__(3) - \\[TYPE:NUMERIC\\] Convert to integer type by truncating " +"towards zero" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:16 +msgid "Convert to integer type by truncating towards zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:21 +msgid "" +"Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-" +"constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:27 +msgid "If not present the returned type is that of default integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:31 +msgid "returns an _integer_ variable or array applying the following rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:33 +msgid "__Case__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:35 +msgid "If __a__ is of type _integer_, __int__(a) = a" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:37 +msgid "" +"If __a__ is of type _real_ and __|a| \\< 1, int(a)__ equals __0__. If " +"__|a| \\>= 1__, then __int(a)__ equals the integer whose magnitude does " +"not exceed __a__ and whose sign is the same as the sign of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:41 +msgid "" +"If __a__ is of type _complex_, rule 2 is applied to the _real_ part of " +"__a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:43 +msgid "" +"If _a_ is a boz-literal constant, it is treated as an _integer_ with the " +"_kind_ specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:46 +msgid "" +"The interpretation of a bit sequence whose most significant bit is __1__ " +"is processor dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:118 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:2 +msgid "nint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:5 +msgid "__nint__(3) - \\[TYPE:NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:15 +msgid "" +"__nint(x)__ rounds its argument to the nearest whole number with its sign" +" preserved." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:18 +msgid "" +"The user must ensure the value is a valid value for the range of the " +"__kind__ returned. If the processor cannot represent the result in the " +"kind specified, the result is undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:22 +msgid "If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:24 +msgid "" +"If __x__ is less than or equal to zero, __nint(x)__ has the value " +"__int(a-0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:30 +msgid "The type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:33 +msgid "" +"(Optional) A constant _integer_ expression indicating the kind parameter " +"of the result. Otherwise, the kind type parameter is that of default " +"_integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:39 +msgid "__answer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:40 +msgid "" +"The result is the integer nearest __x__, or if there are two integers " +"equally near __x__, the result is whichever such _integer_ has the " +"greater magnitude." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:112 +msgid "FORTRAN 77 and later, with KIND argument - Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:116 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:2 +msgid "real" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:4 +msgid "__real__(3) - \\[TYPE:NUMERIC\\] Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:13 +msgid "__real(x, kind)__ converts its argument __x__ to a real type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:18 +msgid "Shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:26 +msgid "" +"These functions return a _real_ variable or array under the following " +"rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:29 +msgid "" +"__real__(x) is converted to a default _real_ type if __x__ is an " +"_integer_ or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:32 +msgid "" +"__real__(x) is converted to a real type with the kind type parameter of " +"__x__ if __x__ is a _complex_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:35 +msgid "" +"__real(x, kind)__ is converted to a _real_ type with kind type parameter " +"__kind__ if __x__ is a _complex_, _integer_, or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:71 +msgid "[__dble__(3)](DBLE), [__float__(3)](FLOAT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:2 +msgid "dble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:5 +msgid "__dble__(3) - \\[TYPE:NUMERIC\\] Double conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:16 +msgid "" +"where TYPE may be _integer_, _real_, or _complex_ and KIND any kind " +"supported by the TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:20 +msgid "__dble(a)__ Converts __a__ to double precision _real_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:25 +msgid "The type shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:29 +msgid "" +"The return value is of type _doubleprecision_. For _complex_ input, the " +"returned value has the magnitude and sign of the real component of the " +"input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:56 +msgid "[__float__(3)](FLOAT), [__real__(3)](REAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:2 +msgid "transfer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:5 +msgid "__transfer__(3) - \\[TYPE:MOLD\\] Transfer bit patterns" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:14 +msgid "" +"Interprets the bitwise representation of __source__ in memory as if it is" +" the representation of a variable or array of the same type and type " +"parameters as __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:18 +msgid "" +"This is approximately equivalent to the C concept of \\*casting\\* one " +"type to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:27 +msgid "Shall be a scalar or an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:30 +msgid "(Optional) shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:34 +msgid "" +"The result has the same type as __mold__, with the bit level " +"representation of __source__. If __size__ is present, the result is a " +"one-dimensional array of length __size__. If __size__ is absent but " +"__mold__ is an array (of any size or shape), the result is a one-" +"dimensional array of the minimum length needed to contain the entirety of" +" the bitwise representation of __source__. If __size__ is absent and " +"__mold__ is a scalar, the result is a scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:41 +msgid "" +"If the bitwise representation of the result is longer than that of " +"__source__, then the leading bits of the result correspond to those of " +"__source__ and any trailing bits are filled arbitrarily." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:45 +msgid "" +"When the resulting bit representation does not correspond to a valid " +"representation of a variable of the same type as __mold__, the results " +"are undefined, and subsequent operations on the result cannot be " +"guaranteed to produce sensible behavior. For example, it is possible to " +"create _logical_ variables for which __var__ and .not. var both appear to" +" be true." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:80 +msgid "__Comments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:82 +msgid "_Joe Krahn_: Fortran uses __molding__ rather than __casting__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:84 +msgid "" +"Casting, as in C, is an in-place reinterpretation. A cast is a device " +"that is built around an object to change its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:87 +msgid "" +"Fortran TRANSFER reinterprets data out-of-place. It can be considered " +"__molding__ rather than casting. A __mold__ is a device that confers a " +"shape onto an object placed into it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:91 +msgid "" +"The advantage of molding is that data is always valid in the context of " +"the variable that holds it. For many cases, a decent compiler should " +"optimize TRANSFER into a simple assignment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:95 +msgid "" +"There are disadvantages of this approach. It is problematic to define a " +"union of data types because you must know the largest data object, which " +"can vary by compiler or compile options. In many cases, an EQUIVALENCE " +"would be far more effective, but Fortran Standards committees seem " +"oblivious to the benefits of EQUIVALENCEs when used sparingly." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:103 +msgid "Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:2 +msgid "logical" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:5 +msgid "" +"__logical__(3) - \\[TYPE:LOGICAL\\] Converts one kind of _logical_ " +"variable to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:18 +msgid "Converts one kind of _logical_ variable to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:23 +msgid "__l__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:24 +msgid "The type shall be _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:32 +msgid "" +"The return value is a _logical_ value equal to __l__, with a kind " +"corresponding to __kind__, or of the default logical kind if __kind__ is " +"not given." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:61 +msgid "Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:65 +msgid "[__int__(3)](INT), [__real__(3)](REAL), [__cmplx__(3)](CMPLX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:2 +msgid "kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:5 +msgid "__kind__(3) - \\[KIND INQUIRY\\] Kind of an entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:14 +msgid "__kind(x)__ returns the kind value of the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:19 +msgid "Shall be of type _logical_, _integer_, _real_, _complex_ or _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:2 +msgid "selected\\_char\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:5 +msgid "" +"__selected\\_char\\_kind__(3) - \\[KIND\\] Choose character kind such as " +"\"Unicode\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:14 +msgid "" +"__selected\\_char\\_kind(name)__ returns the kind value for the character" +" set named NAME, if a character set with such a name is supported, or " +"__-1__ otherwise. Currently, supported character sets include \"ASCII\" " +"and \"DEFAULT\" (iwhich are equivalent), and \"ISO\\_10646\" (Universal " +"Character Set, UCS-4) which is commonly known as \"Unicode\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:23 +msgid "Shall be a scalar and of the default character type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:2 +msgid "selected\\_int\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:5 +msgid "__selected\\_int\\_kind__(3) - \\[KIND\\] Choose integer kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:14 +msgid "" +"__selected\\_int\\_kind(r)__ return the kind value of the smallest " +"integer type that can represent all values ranging from __-10\\*\\*r__ " +"(exclusive) to __10\\*\\*r__ (exclusive). If there is no integer kind " +"that accommodates this range, selected\\_int\\_kind returns __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:23 +msgid "__r__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:22 +msgid "Shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:55 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__nint__(3)](NINT), [__ceiling__(3)](CEILING), [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:2 +msgid "selected\\_real\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:5 +msgid "__selected\\_real\\_kind__(3) - \\[KIND\\] Choose real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:14 +msgid "" +"__selected\\_real\\_kind(p, r, radix)__ return the kind value of a real " +"data type with decimal precision of at least __p__ digits, exponent range" +" of at least __r__, and with a radix of __radix__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:27 +msgid "(Optional) shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:26 +msgid "__radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:29 +msgid "" +"Before __Fortran 2008__, at least one of the arguments __r__ or __p__ " +"shall be present; since __Fortran 2008__, they are assumed to be zero if " +"absent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:35 +msgid "" +"selected\\_real\\_kind returns the value of the kind type parameter of a " +"real data type with decimal precision of at least __p__ digits, a decimal" +" exponent range of at least R, and with the requested __radix__. If the " +"__radix__ parameter is absent, real kinds with any radix can be returned." +" If more than one real data type meet the criteria, the kind of the data " +"type with the smallest decimal precision is returned. If no real data " +"type matches the criteria, the result is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:43 +msgid "" +"__-1__ if the processor does not support a real data type with a " +"precision greater than or equal to __p__, but the __r__ and __radix__ " +"requirements can be fulfilled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:47 +msgid "" +"__-2__ if the processor does not support a real type with an exponent " +"range greater than or equal to __r__, but __p__ and __radix__ are " +"fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:51 +msgid "__-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:53 +msgid "__-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:55 +msgid "__-5__ if there is no real type with the given __radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:84 +msgid "Fortran 95 and later; with RADIX - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:88 +msgid "" +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__radix__(3)](RADIX)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:7 +msgid "Fortran Intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:9 +msgid "" +"This is a collection of extended descriptions of the Fortran intrinsics " +"based on the reference document \"[Current F2018 Working Document as of " +"April " +"2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)\"." +" Vendor-specific extensions are not included." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:14 +msgid "☛[Array Operations](ARRAY_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:16 +msgid "☛[Mathematics](MATH_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:18 +msgid "☛[Type and Kind](TYPE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:19 +msgid "☛[Numeric](NUMERIC_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:21 +msgid "☛[Transformational](TRANSFORM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:22 +msgid "Matrix multiplication, Dot product, array shifts," +msgstr "" + +#: ../../source/learn/intrinsics/index.md:23 +msgid "☛[General State](STATE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:24 +msgid "General and miscellaneous intrinsics on state of variables and I/O" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:25 +msgid "☛[Character](CHARACTER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:26 +msgid "basic procedures specifically for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:27 +msgid "☛[System Environment](SYSTEM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:28 +msgid "" +"accessing external system information such as environmental variables, " +"command line arguments, date and timing data ..." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:29 +msgid "☛[C Interface](C_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:30 +msgid "procedures useful for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:31 +msgid "☛[Bit-level](BIT_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:32 +msgid "bit-level manipulation and inquiry of values0" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:33 +msgid "☛[Parallel Programming](PARALLEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:34 +msgid "Parallel programming using co-arrays and co-indexing" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:35 +msgid "☛[Numeric Model](MODEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:36 +msgid "numeric compiler-specific numeric model information" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:37 +msgid "☛[Compiler Information](COMPILER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:38 +msgid "information about compiler version and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:40 +msgid "Overview" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:41 +msgid "" +"The standard documents and most vendor-supplied descriptions of the " +"intrinsics are often very brief and concise to the point of the " +"functionality of the intrinsics being obscure, particularly to someone " +"unfamiliar with the procedure." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:46 +msgid "By describing the procedures here" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:47 +msgid "in greater detail" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:48 +msgid "with a working example" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:49 +msgid "" +"providing links to additional resources (including additional documents " +"at fortran-lang.org and related discussions in Fortran Discourse)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:53 +msgid "these documents strive to be a valuable asset for Fortran programmers." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:55 +msgid "" +"This is a community-driven resource and everyone is encouraged to " +"contribute to the documents. For contribution guidelines see " +"[MINIBOOKS](https://github.com/fortran-lang/fortran-" +"lang.org/blob/master/MINIBOOKS.md) and the following Copyright " +"guidelines." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:60 +msgid "See Also" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:61 +msgid "The [Fortran stdlib](https://stdlib.fortran-lang.org/) project" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:62 +msgid "" +"[fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which " +"are general-purpose libraries/modules" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:64 +msgid "Experimental" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:66 +msgid "" +"[review by procedure " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:68 +msgid "" +"[review by header " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:70 +msgid "" +"[fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A " +"self-contained Fortran program that lets you view the non-graphical plain" +" ASCII portions of the documentation from a terminal interface. Compile " +"the program and enter \"./fman --help\" for directions." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:75 +msgid "" +"[man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) " +"A gzipped tar(1) file containing early versions of man-pages derived from" +" the markdown documents." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:78 +msgid "" +"Typical installation on a Linux platform as an administrator ( but it " +"varies) :" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:110 +msgid "Text Content Copyrights" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:112 +msgid "" +"Many of the documents presented here are modified versions of man-pages " +"from the [Fortran Wiki](https://fortranwiki.org) and as such are " +"available under the terms of the GNU Free Documentation License " +"[__GFDL__](GNU_Free_Documentation_License.md) with no invariant sections," +" front-cover texts, or back-cover texts." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:118 +msgid "" +"If you contribute to this site by modifying the files marked as GFDL, you" +" thereby agree to license the contributed material to the public under " +"the GFDL (version 1.2 or any later version published by the Free Software" +" Foundation, with no invariant sections, front-cover texts, or back-cover" +" texts)." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:124 +msgid "" +"If you contribute new material you thereby agree to release it under the " +"MIT license, and should indicate this by placing MIT on the specially-" +"formatted last line. For example, change" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:130 +msgid "to" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:135 +msgid "" +"Written in [Markdown](https://github.com/adam-p/markdown-here/wiki" +"/Markdown-Cheatsheet) " +"[kramdown](https://kramdown.gettalong.org/syntax.html)" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:8 +msgid "Choosing a compiler" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:10 +msgid "" +"A comprehensive list of available compilers is provided " +"[here]({{site.baseurl}}/compilers). In this guide, we will focus only on " +"those that are free to install and use." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:12 +msgid "" +"Of those listed at the link above, open source and free are GFortran " +"(with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their " +"compilers for free and as of the latest update of this tutorial, " +"NVFortran (NVIDIA) is available only for Linux systems, while Intel " +"oneAPI is available for Linux, Windows and macOS systems. Both are well " +"documented and readers can find detailed information about installing and" +" using them on their websites respectively." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:14 +msgid "" +"In the next chapter, we use GFortran for the tutorial as it is a mature " +"open source compiler. We encourage users to also try other open source " +"and commercial compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:8 +msgid "IDEs" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:10 +msgid "" +"An IDE (Integrated Development Environment) refers to a complete software" +" development environment, where, all those packages that come as external" +" plug-ins in Text-Editors, are already integrated within the software. An" +" IDE is usually optimized towards a specific set of languages. For " +"example it is very common for IDEs to advertise themselves towards either" +" compiled or interpreted languages, or even towards a single language, or" +" depending on the application developed, like scientific or web " +"development. IDEs are recommended for beginner programmers, since it is " +"possible to start coding with minimum effort after installation. However," +" it is quite common, in professional environments, individual developers " +"and teams alike, to choose an IDE for large projects because of some " +"unique features that they may offer over a Text-Editor." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:13 +msgid "" +"A list of popular IDEs that provide good Fortran support is provided in " +"alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:14 +msgid "" +"[AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-" +"ide/): commercial product, cross-platform, comes with Absoft's own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:15 +msgid "" +"[Code::Blocks](http://www.codeblocks.org/): free product, cross-platform " +"and supports multiple compilers. Plenty of tutorials online on how to " +"install it and add a Fortran Compiler. As well as a recent presentation, " +"[here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon)," +" of its capabilities and future prospects at the International Fortran " +"Conference 2020 by its main developer." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:16 +msgid "" +"[Eclipse-Photran](https://marketplace.eclipse.org/content/photran-" +"fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran " +"based on Eclipse and the C/C++ Development Tools*. A free product, cross-" +"platform and supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:17 +msgid "" +"[Geany](https://www.geany.org/): a free product, cross platform and " +"supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:18 +msgid "" +"[NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) " +"is a commercial product, available in Windows and MacOS and supports " +"NAG's own Fortran Compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:19 +msgid "" +"[Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial " +"product, cross-platform, comes with Silverfrost's Fortran FTN95 own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:20 +msgid "" +"[SimplyFortran](https://simplyfortran.com/) is a commercial product, " +"cross-platform with support of the GNU Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:21 +msgid "" +"[Visual Studio](https://visualstudio.microsoft.com/) its *Community " +"Edition 2019* is a free product, available in Windows and macOS and " +"supports only Intel's Fortran compiler, now bundled with many other free-" +"to-use HPC tools under *Intel oneAPI*." +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "choose compiler" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "text editors" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "ides" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "install gfortran" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "tips" +msgstr "" + +#: ../../source/learn/os_setup/index.md:7 +msgid "

" +msgstr "" + +#: ../../source/learn/os_setup/index.md:12 +msgid "" +"*Authors: Stavros Meskos, " +"Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:14 +msgid "" +"*Last update: " +"16-Feb-2021*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:18 +msgid "Setting up your OS" +msgstr "" + +#: ../../source/learn/os_setup/index.md:20 +msgid "" +"In this mini-book we address the very first problem that many new Fortran" +" programmers encounter. Before everything, you will need to choose a " +"compiler and install it. Then you will need a text editor or perhaps an " +"IDE (Integrated Development Environment). There are many options, most of" +" them available in all major OSs (operating systems). However, the " +"process to install and configure them greatly differs between Windows, " +"Linux, and macOS. There are several Fortran compilers. Here, we pick " +"those that meet certain criteria and provide a guide on how to install " +"them in all the aforementioned OSs. A list of popular text editors and " +"IDEs and information on how to choose between them is presented as well." +msgstr "" + +#: ../../source/learn/os_setup/index.md:24 +msgid "" +"If you have already set up your environment, you may skip this tutorial " +"and move forward with the Quickstart Fortran Tutorial to start coding " +"your first `Hello World` program or with the Building programs mini-book " +"to understand how a compiler works." +msgstr "" + +#: ../../source/learn/os_setup/index.md:28 +msgid "" +"*The choice of text editors and IDEs has been controversial among the " +"developers. What you choose is a matter of personal taste. Every solution" +" comes with its own pros and cons. For that reason, in this guide, we " +"will not push the reader towards one or another direction. We will, " +"however, present a list of the most popular tools.*" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:8 +msgid "Installing GFortran" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:10 +msgid "" +"GFortran is the name of the [GNU Fortran " +"project](https://gcc.gnu.org/fortran/). The main " +"[wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links " +"about GFortran, as well as Fortran in general. In this guide, the " +"installation process for GFortran on Windows, Linux, macOS and OpenBSD is" +" presented in a beginner-friendly format based on the information from " +"[GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries)." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:12 +msgid "Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:15 +msgid "" +"Three sources provide quick and easy way to install GFortran compiler on " +"Windows:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:16 +msgid "" +"[http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran)," +" provides 32 and 64-bit x86 executables of the latest (10.2) gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:18 +msgid "" +"[TDM GCC](https://jmeubank.github.io/tdm-" +"gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 " +"executables of the 9.2 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:19 +msgid "" +"[MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides" +" a 64-bit x86 executable of the 8.1.0 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:21 +msgid "" +"In all the above choices, the process is straightforward—just download " +"the installer and follow the installation wizard." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:23 +msgid "Unix-like development on Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:24 +msgid "" +"For those familiar with a unix-like development environment, several " +"emulation options are available on Windows each of which provide packages" +" for gfortran:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:26 +msgid "" +"__Cygwin:__ A runtime environment that provides POSIX compatibility to " +"Windows;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:27 +msgid "" +"__MSYS2:__ A collection of Unix-like development tools, based on modern " +"Cygwin and MinGW-w64;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:28 +msgid "" +"__Windows Subsystem for Linux (WSL):__ An official compatibility layer " +"for running Linux binary executables on Windows. With [Windows Subsystem " +"for Linux GUI](https://github.com/microsoft/wslg) one can run text " +"editors and other graphical programs." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:30 +msgid "" +"All of the above approaches provide access to common shells such as bash " +"and development tools including GNU coreutils, Make, CMake, autotools, " +"git, grep, sed, awk, ssh, etc." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:32 +msgid "" +"We recommend the WSL environment for those looking for a Unix-like " +"development environment on Windows." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:34 +msgid "Linux" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:37 +msgid "Debian-based (Debian, Ubuntu, Mint, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:38 +msgid "Check whether you have gfortran already installed" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:42 +msgid "" +"If nothing is returned then gfortran is not installed. To install " +"gfortran type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:47 +msgid "to check what version was installed type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:51 +msgid "" +"You can install multiple versions up to version 9 by typing the version " +"number immediately after \"gfortran\", e.g.:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:55 +msgid "" +"To install the latest version 10 you need first to add / update the " +"following repository and then install:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:61 +#, python-format +msgid "" +"Finally, you can switch between different versions or set the default one" +" with the **update-alternatives** ([see " +"manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-" +"alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.))." +" There are many online tutorials on how to use this feature. A well " +"structured one using as an example C and C++ can be found " +"[here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g" +"-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the " +"same logic by replacing either `gcc` or `g++` with `gfortran`." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:63 +msgid "RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:68 +msgid "Since Fedora 22, `dnf` is the default package manager for Fedora:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:73 +msgid "Arch-based (Arch Linux, Antergos, Manjaro, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:78 +msgid "macOS" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:79 +msgid "Xcode" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:80 +msgid "If you have Xcode installed, open a terminal window and type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:84 +msgid "Binaries" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:85 +msgid "" +"Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert" +"/gfortran-for-macOS/releases) to directly install binaries." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:86 +msgid "Homebrew" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:90 +msgid "Fink" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:91 +msgid "" +"GNU-gcc Package " +"[link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:92 +msgid "MacPorts" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:93 +msgid "Search for available gcc versions:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:97 +msgid "Install a gcc version:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:102 +msgid "OpenBSD" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:107 +msgid "" +"On OpenBSD, the GFortran executable is named `egfortran`. To test it, " +"type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:113 +msgid "OpenCoarrays" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:115 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software " +"project that produces an application binary interface (ABI) used by the " +"GNU Compiler Collection (GCC) Fortran front-end to build executable " +"programs that leverage the parallel programming features of Fortran 2018." +" Since OpenCoarrays is not a separate compiler, we include it here, under" +" gfortran." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:117 +msgid "" +"While with gfortran you can compile perfectly valid code using coarrays, " +"the generated binaries will only run in a single image (_image_ is a " +"Fortran term for a parallel process), that is, in serial mode. " +"OpenCoarrays allows running code in parallel on shared- and distributed-" +"memory machines, similar to MPI:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:122 +msgid "" +"The process of installation is provided in a clear and comprehensive " +"manner on the official site." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:124 +msgid "" +"We emphasize that native installation on Windows is not possible. It is " +"only possible through WSL." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:8 +msgid "Text Editors" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:10 +msgid "" +"After you have installed your compiler, you will need a text editor to " +"write your code. Any text editor can serve this purpose, even the built-" +"in Notepad on Windows. However, there are specialized editors for " +"programming languages. These editors come with many useful features like " +"auto-complete, syntax-highlighting, auto-indentation, brace-matching, and" +" many more, with few of them pre-installed and the majority in form of " +"external plug-ins. This means that by default these features are not " +"installed in the editor, but it's up to you to search for them through a " +"package manager and install and configure them manually." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:12 +msgid "" +"Here's a list of the most popular text editors that support Fortran " +"syntax, in alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:13 +msgid "[Atom](https://atom.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:14 +msgid "[Emacs](https://www.gnu.org/software/emacs/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:15 +msgid "[NotePad++](https://notepad-plus-plus.org/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:16 +msgid "[SublimeText](https://www.sublimetext.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:17 +msgid "[Vim](https://www.vim.org/) and [Neovim](https://neovim.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:18 +msgid "[Visual Studio Code](https://code.visualstudio.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:20 +msgid "" +"A comprehensive list with more choices is provided in " +"[fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:22 +msgid "Things to consider before choosing a text editor:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:23 +msgid "" +"**Ergonomics:** This is purely subjective and concerns how easy, " +"uninterrupted the UI (User Interface) feels to the developer while using " +"the editor." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:24 +msgid "" +"**Extensibility:** As mentioned above, text editors come with many " +"features as external packages. The variety, the installation process, the" +" documentation, and user-friendliness of the packages all fall under this" +" category." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:25 +msgid "" +"**Speed:** With how powerful modern hardware can be, the speed of editors" +" is becoming of minor importance. However, for the less powerful systems," +" you may want to consider this as well. Heavyweight editors may impact " +"the writing performance. For example, you can expect Atom and VSCode to " +"run slower than the lightweight editors like Vim or Emacs." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:26 +msgid "" +"**Learning curve:** Last but not least, new users should consider how " +"easy it is to get used to a new editor. Vim and Emacs have a steep " +"learning curve and are notoriously difficult for newcomers. They offer a " +"uniquely different experience than any other editor by forcing you to use" +" the keyboard for all editing tasks." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:28 +msgid "Configuring VS Code" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:30 +msgid "" +"With the editor opened, at the main UI, at the buttoned-column on the " +"left, there is a *four-square-shaped* icon to open the Marketplace for " +"extensions. Install [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm" +".linter-gfortran) for syntax highlighting, linting and Language Server " +"support and formatting." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:33 +msgid "Additional Tools" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:35 +msgid "" +"The following extensions are not essential but most users might find them" +" useful:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:37 +msgid "" +"[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)" +" for advanced Git visualization and operations." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:38 +msgid "" +"[CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode" +".cmake-tools) for full-featured CMake integration in VS Code." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:39 +msgid "" +"[Remote Development](https://marketplace.visualstudio.com/items?itemName" +"=ms-vscode-remote.vscode-remote-extensionpack) for working with " +"containers, on a remote machines, or in the Windows Subsystem for Linux " +"(WSL)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:40 +msgid "" +"[Even Better TOML by " +"tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe" +".even-better-toml). For Fortran developers that are using the new " +"[fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a " +"TOML language support might come in handy." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:42 +msgid "Configuring SublimeText" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:44 +msgid "" +"A well structured gist that provides instructions on how to set up " +"SublimeText for Fortran developement is given " +"[here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:46 +msgid "Configuring Atom" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:48 +msgid "" +"Atom's configuration process is similar to VSCode one. At the main " +"interface, if the *Welcome Guide* page is already opened for you, just " +"click the **Install a Package** option, otherwise you can find the same " +"option through the navigation bar at the top by clicking *Packages*. In " +"doing so a new page under *Settings* opens where you can just start " +"typing the package you want to install." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:50 +msgid "" +"One package that includes many Fortran features is [IDE-FORTRAN by " +"hansec](https://atom.io/packages/ide-fortran). It needs the following " +"packages to be installed:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:51 +msgid "[atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:52 +msgid "[language-fortran by dparkins](https://atom.io/packages/language-fortran)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:54 +msgid "" +"Additionally just like in VSCode it needs " +"[Python](https://www.python.org/) and [Fortran Language " +"Server](https://github.com/hansec/fortran-language-server) to be " +"installed." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:56 +msgid "" +"For version control a very popular package is [Git-Plus by " +"akonwi](https://atom.io/packages/git-plus)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:8 +msgid "Smart Tips" +msgstr "" + +#: ../../source/learn/os_setup/tips.md:10 +msgid "" +"To conclude, we give a few tips that may help you to choose a compiler " +"and an editor or an IDE." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:12 +msgid "" +"Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) " +"for a comprehensive comparison of Fortran compilers." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:13 +msgid "" +"Since NVFortran version 17.1, the support for compute capability 2.0 " +"(Fermi) and lower has been removed. This is important because, at any " +"time, only the latest compiler version is free to download. Users with " +"older GPUs will not be able to run CUDA Fortran with the current (20.7) " +"or future versions. Read [this " +"wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your " +"GPU's compute capability and cross-check with the latest CUDA SDK that " +"supports it." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:14 +msgid "" +"There are many online Fortran compilers. These are websites that offer a " +"basic text editor and allow you to compile and run your code on a remote " +"server. They are particularly useful for quick prototyping and testing. " +"Although we promised neutrality, we recommend that you check out the " +"open-source and free [Compiler Explorer](https://godbolt.org/), an " +"amazing tool with unique features." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:15 +msgid "" +"Arguably the most popular text editor, according to recent online " +"surveys, is the Visual Studio Code, developed by Microsoft." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:16 +msgid "" +"The most popular free IDEs are the Code::Blocks and Geany. Many " +"commercial IDEs give up to 30 days of free trial. Keep in mind that the " +"prices of commercial IDEs may vary, and some may be quite affordable. " +"Finally, if you are a student, an open-source developer, or a …hobbyist " +"*Fortraner* do not hesitate to contact those companies and request a " +"discount. There have been cases, e.g., in r/fortran, where " +"representatives, from at least one company, have offered discount codes " +"to individuals looking for affordable complete solutions (IDE + " +"compiler)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:17 +msgid "" +"Finally, please join us on [Fortran Discourse](https://fortran-" +"lang.discourse.group/) and do not hesitate to post your questions and " +"request for further information." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:9 +msgid "" +"More often than not, we need to store and operate on long lists of " +"numbers as opposed to just the single scalar variables that we have been " +"using so far; in computer programming such lists are called _arrays_." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:12 +msgid "" +"Arrays are _multidimensional_ variables that contain more than one value " +"where each value is accessed using one or more indices." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:15 +msgid "" +"Arrays in Fortran are _one-based_ by default; this means that the first " +"element along any dimension is at index 1." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:19 +msgid "Array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:21 +msgid "" +"We can declare arrays of any type. There are two common notations for " +"declaring array variables: using the `dimension` attribute or by " +"appending the array dimensions in parentheses to the variable name." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:24 +msgid "__Example:__ static array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:45 +msgid "Array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:47 +msgid "" +"A powerful feature of the Fortran language is its built-in support for " +"array operations; we can perform operations on all or part of an array " +"using array _slicing_ notation:" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:50 +msgid "__Example:__ array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:72 +msgid "" +"Fortran arrays are stored in _column-major_ order; the first index varies" +" fastest." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:75 +msgid "Allocatable (dynamic) arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:77 +msgid "" +"So far we have specified the size of our array in our program code---this" +" type of array is known as a _static_ array since its size is fixed when " +"we compile our program." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:81 +msgid "" +"Quite often, we do not know how big our array needs to be until we run " +"our program, for example, if we are reading data from a file of unknown " +"size." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:83 +msgid "" +"For this problem, we need `allocatable` arrays. These are _allocated_ " +"while the program is running once we know how big the array needs to be." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:86 +msgid "__Example:__ allocatable arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:105 +msgid "" +"Allocatable local arrays are deallocated automatically when they go out " +"of scope." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:109 +msgid "Character strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:112 +msgid "__Example:__ static character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:132 +msgid "__Example:__ allocatable character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:153 +msgid "Array of strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:155 +msgid "" +"An array of strings can be expressed in Fortran as an array of " +"`character` variables. All elements in a `character` array have equal " +"length. However, strings of varying lengths can be provided as input to " +"the array constructor, as shown in the example below. They will be " +"truncated or right-padded with spaces if they are longer or shorter, " +"respectively, than the declared length of the `character` array. Finally," +" we use the intrinsic function `trim` to remove any excess spaces when " +"printing the values to the standard output." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:162 +msgid "__Example:__ string array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:6 +msgid "Derived Types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:7 +msgid "" +"As discussed previously in [Variables](variables), there are five built-" +"in data types in Fortran. A _derived type_ is a special form of data type" +" that can encapsulate other built-in types as well as other derived " +"types. It could be considered equivalent to _struct_ in the C and C++ " +"programming languages." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:9 +msgid "A quick take on derived types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:11 +msgid "Here's an example of a basic derived type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:20 +msgid "" +"The syntax to create a variable of type `t_pair` and access its members " +"is:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:29 +msgid "The percentage symbol `%` is used to access the members of a derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:31 +msgid "" +"In the above snippet, we declared an instance of a derived type and " +"initialized its members explicitly. You can also initialize derived type " +"members by invoking the derived type constructor." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:35 +msgid "Example using the derived type constructor:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:42 +msgid "Example with default initialization:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:55 +msgid "Derived types in detail" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:57 +msgid "" +"The full syntax of a derived type with all optional properties is " +"presented below:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:69 +msgid "Options to declare a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:71 +msgid "`attribute-list` may refer to the following:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:73 +msgid "_access-type_ that is either `public` or `private`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:74 +msgid "`bind(c)` offers interoperability with C programming language" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:75 +msgid "" +"`extends(`_parent_`)`, where _parent_ is the name of a previously " +"declared derived type from which the current derived type will inherit " +"all its members and functionality" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:76 +msgid "" +"`abstract` -- an object oriented feature that is covered in the advanced " +"programming tutorial" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:78 +msgid "" +"If the attribute `bind(c)` or the statement `sequence` is used, then a " +"derived type cannot have the attribute `extends` and vice versa." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:80 +msgid "" +"The `sequence` attribute may be used only to declare that the following " +"members should be accessed in the same order as they are defined within " +"the derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:82 +msgid "Example with `sequence`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:93 +msgid "" +"The use of the statement `sequence` presupposes that the data types " +"defined below are neither of `allocatable` nor of `pointer` type. " +"Furthermore, it does not imply that these data types will be stored in " +"memory in any particular form, i.e., there is no relation to the " +"`contiguous` attribute." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:95 +msgid "" +"The _access-type_ attributes `public` and `private`, if used, declare " +"that all member-variables declared below will be automatically assigned " +"the attribute accordingly." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:97 +msgid "" +"The attribute `bind(c)` is used to achieve compatibility between " +"Fortran's derived type and C's struct." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:99 +msgid "Example with `bind(c)`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:111 +msgid "matches the following C struct type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:117 +msgid "" +"A fortran derived type with the attribute `bind(c)` cannot have the " +"`sequence` and `extends` attributes. Furthermore it cannot contain any " +"Fortran `pointer` or `allocatable` types." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:119 +msgid "" +"`parameterized-declaration-list` is an optional feature. If used, then " +"the parameters must be listed in place of `[parameterized-definition-" +"statements]` and must be either `len` or `kind` parameters or both." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:121 +msgid "" +"Example of a derived type with `parameterized-declaration-list` and with " +"the attribute `public`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:143 +msgid "" +"In this example the parameter `k` has already been assigned a default " +"value of `kind(0.0)` (single-precision floating-point). Therefore, it can" +" be omitted, as is the case here in the declaration inside the main " +"program." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:145 +msgid "" +"By default, derived types and their members are public. However, in this " +"example, the attribute `private` is used at the beginning of the module. " +"Therefore, everything within the module will be by default `private` " +"unless explicitly declared as `public`. If the type `t_matrix` was not " +"given the attribute `public` in the above example, then the compiler " +"would throw an error inside `program test`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:147 +msgid "" +"The attribute `extends` was added in the F2003 standard and introduces an" +" important feature of the object oriented paradigm (OOP), namely " +"inheritance. It allows code reusability by letting child types derive " +"from extensible parent types: `type, extends(parent) :: child`. Here, " +"`child` inherits all the members and functionality from `type :: parent`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:149 +msgid "Example with the attribute `extends`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:209 +msgid "Options to declare members of a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:211 +msgid "" +"`[member-variables]` refers to the declaration of all the member data " +"types. These data types can be of any built-in data type, and/or of other" +" derived types, as already showcased in the above examples. However, " +"member-variables can have their own extensive syntax, in form of: `type " +"[,member-attributes] :: name[attr-dependent-spec][init]`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:214 +msgid "`type`: any built-in type or other derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:216 +msgid "`member-attributes` (optional):" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:218 +msgid "`public` or `private` access attributes" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:219 +msgid "`protected` access attribute" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:220 +msgid "`allocatable` with or without `dimension` to specify a dynamic array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:221 +msgid "`pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:223 +msgid "Examples of common cases:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:245 +msgid "" +"The following attributes: `pointer`, `codimension`, `contiguous`, " +"`volatile`, `asynchronous` are advanced features that will not be " +"addressed in the *Quickstart* tutorial. However, they are presented here," +" in order for the readers to know that these features do exist and be " +"able to recognize them. These features will be covered in detail in the " +"upcoming *Advanced programing* mini-book." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:247 +msgid "Type-bound procedures" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:249 +msgid "" +"A derived type can contain functions or subroutines that are *bound* to " +"it. We'll refer to them as _type-bound procedures_. Type-bound procedures" +" follow the `contains` statement that, in turn, follows all member " +"variable declarations." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:251 +msgid "" +"It is impossible to describe type-bound procedures in full without " +"delving into OOP features of modern Fortran. For now we'll focus on a " +"simple example to show their basic use." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:253 +msgid "Here's an example of a derived type with a basic type-bound procedure:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:296 +msgid "What is new:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:298 +msgid "" +"`self` is an arbitrary name that we chose to represent the instance of " +"the derived type `t_square` inside the type-bound function. This allows " +"us to access its members and to automatically pass it as an argument when" +" we invoke a type-bound procedure." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:299 +msgid "" +"We now use `class(t_square)` instead of `type(t_square)` in the interface" +" of the `area` function. This allows us to invoke the `area` function " +"with any derived type that extends `t_square`. The keyword `class` " +"introduces the OOP feature polymorphism." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:301 +msgid "" +"In the above example, the type-bound procedure `area` is defined as a " +"function and can be invoked only in an expression, for example `x = " +"sq%area()` or `print *, sq%area()`. If you define it instead as a " +"subroutine, you can invoke it from its own `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:319 +msgid "" +"In contrast to the example with the type-bound function, we now have two " +"arguments:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:321 +msgid "" +"`class(t_square), intent(in) :: self` -- the instance of the derived type" +" itself" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:322 +msgid "" +"`real, intent(out) :: x` -- used to store the calculated area and return " +"to the caller" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:7 +msgid "" +"In this part of the tutorial, we will write our first Fortran program: " +"the ubiquitous [\"Hello, " +"World!\"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) " +"example." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:10 +msgid "" +"However, before we can write our program, we need to ensure that we have " +"a Fortran compiler set up." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:13 +msgid "" +"Fortran is a *compiled language*, which means that, once written, the " +"source code must be passed through a compiler to produce a machine " +"executable that can be run." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:17 +msgid "Compiler setup" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:19 +msgid "" +"In this tutorial, we'll work with the free and open source [GNU Fortran " +"compiler (gfortran)](https://gcc.gnu.org/fortran/), which is part of the" +" [GNU Compiler Collection (GCC)](https://gcc.gnu.org/)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:24 +msgid "" +"To install gfortran on Linux, use your system package manager. On macOS, " +"you can install gfortran using [Homebrew](https://brew.sh/) or " +"[MacPorts](https://www.macports.org/). On Windows, you can get native " +"binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:28 +msgid "" +"To check if you have _gfortran_ setup correctly, open a terminal and run " +"the following command:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:34 +msgid "this should output something like:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:43 +msgid "Hello world" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:45 +msgid "" +"Once you have set up your compiler, open a new file in your favourite " +"code editor and enter the following:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:54 +msgid "" +"Having saved your program to `hello.f90`, compile at the command line " +"with:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:59 +msgid "" +"`.f90` is the standard file extension for modern Fortran source files. " +"The 90 refers to the first modern Fortran standard in 1990." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:62 +msgid "To run your compiled program:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:68 +msgid "" +"Congratulations, you've written, compiled and run your first Fortran " +"program! In the next part of this tutorial, we will introduce variables " +"for storing data." +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "arrays strings" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "hello world" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "operators control_flow" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "variables" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "derived types" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "organising code" +msgstr "" + +#: ../../source/learn/quickstart/index.md:7 +msgid "Quickstart" +msgstr "" + +#: ../../source/learn/quickstart/index.md:9 +msgid "" +"This quickstart tutorial gives an overview of the Fortran programming " +"language and its syntax for common structured programming concepts " +"including: types, variables, arrays, control flow and functions." +msgstr "" + +#: ../../source/learn/quickstart/index.md:13 +msgid "" +"The contents of this tutorial are shown in the navigation bar on the left" +" with the current page highlighted bold." +msgstr "" + +#: ../../source/learn/quickstart/index.md:15 +msgid "" +"Use the _Next_ button at the bottom to start the tutorial with a _Hello " +"World_ example." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:7 +msgid "" +"One of the powerful advantages of computer algorithms, compared to simple" +" mathematical formulae, comes in the form of program _branching_ whereby " +"the program can decide which instructions to execute next based on a " +"logical condition." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:11 +msgid "There are two main forms of controlling program flow:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:13 +msgid "" +"_Conditional_ (if): choose program path based on a boolean (true or " +"false) value" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:15 +msgid "_Loop_: repeat a portion of code multiple times" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:19 +msgid "Logical operators" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:20 +msgid "" +"Before we use a conditional branching operator, we need to be able to " +"form a logical expression." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:23 +msgid "" +"To form a logical expression, the following set of relational operators " +"are available:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Operator  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Alternative  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Description" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`==`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eq.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests for equality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`/=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ne.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Test for inequality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`> `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.gt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly greater than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`< `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.lt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly less than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`>=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ge.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is greater than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`<=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.le.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is less than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:36 +msgid "as well as the following logical operators:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.and.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if both left and right operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.or.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if either left or right or both operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.not.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if right operand is FALSE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has same logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.neqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has the opposite logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:49 +msgid "Conditional construct (`if`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:51 +msgid "" +"In the following examples, a conditional `if` construct is used to print " +"out a message to describe the nature of the `angle` variable:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:54 +msgid "__Example:__ single branch `if`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:62 +msgid "" +"In this first example, the code within the `if` construct is _only " +"executed if_ the test expression (`angle < 90.0`) is true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:66 +msgid "" +"It is good practice to indent code within constructs such as `if` and " +"`do` to make code more readable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:70 +#, python-format +msgid "" +"{% include tip.html content=\"It is good practice to indent code within " +"constructs such as `if` and `do` to make code more readable.\" %}" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:73 +msgid "" +"We can add an alternative branch to the construct using the `else` " +"keyword:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:75 +msgid "__Example:__ two-branch `if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:85 +msgid "" +"Now there are two _branches_ in the `if` construct, but _only one branch " +"is executed_ depending on the logical expression following the `if` " +"keyword." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:88 +msgid "" +"We can actually add any number of branches using `else if` to specify " +"more conditions:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:90 +msgid "__Example:__ multi-branch `if`-`else if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:101 +msgid "" +"When multiple conditional expressions are used, each conditional " +"expression is tested only if none of the previous expressions have " +"evaluated to true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:104 +msgid "Loop constructs (`do`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:106 +msgid "" +"In the following example, a `do` loop construct is used to print out the " +"numbers in a sequence. The `do` loop has an integer _counter_ variable " +"which is used to track which iteration of the loop is currently " +"executing. In this example we use a common name for this counter " +"variable: `i`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:111 +msgid "" +"When we define the start of the `do` loop, we use our counter variable " +"name followed by an equals (`=`) sign to specify the start value and " +"final value of our counting variable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:114 +msgid "__Example:__ `do` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:124 +msgid "__Example:__ `do` loop with skip" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:134 +msgid "Conditional loop (`do while`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:136 +msgid "" +"A condition may be added to a `do` loop with the `while` keyword. The " +"loop will be executed while the condition given in `while()` evaluates to" +" `.true.`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:139 +msgid "__Example:__ `do while()` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:152 +msgid "Loop control statements (`exit` and `cycle`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:154 +msgid "" +"Most often than not, loops need to be stopped if a condition is met. " +"Fortran provides two executable statements to deal with such cases." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:157 +msgid "" +"`exit` is used to quit the loop prematurely. It is usually enclosed " +"inside an `if`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:159 +msgid "__Example:__ loop with `exit`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:173 +msgid "" +"On the other hand, `cycle` skips whatever is left of the loop and goes " +"into the next cycle." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:175 +msgid "__Example:__ loop with `cycle`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:189 +msgid "" +"When used within nested loops, the `cycle` and `exit` statements operate " +"on the innermost loop." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:192 +msgid "Nested loop control: tags" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:194 +msgid "" +"A recurring case in any programming language is the use of nested loops. " +"Nested loops refer to loops that exist within another loop. Fortran " +"allows the programmer to _tag_ or _name_ each loop. If loops are tagged, " +"there are two potential benefits:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:195 +msgid "" +"The readability of the code may be improved (when the naming is " +"meaningful)." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:196 +msgid "" +"`exit` and `cycle` may be used with tags, which allows for very fine-" +"grained control of the loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:198 +msgid "__Example:__ tagged nested loops" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:213 +msgid "Parallelizable loop (`do concurrent`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:215 +msgid "" +"The `do concurrent` loop is used to explicitly specify that the _inside " +"of the loop has no interdependencies_; this informs the compiler that it " +"may use parallelization/_SIMD_ to speed up execution of the loop and " +"conveys programmer intention more clearly. More specifically, this means " +"that any given loop iteration does not depend on the prior execution of " +"other loop iterations. It is also necessary that any state changes that " +"may occur must only happen within each `do concurrent` loop. These " +"requirements place restrictions on what can be placed within the loop " +"body." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:221 +msgid "" +"Simply replacing a `do` loop with a `do concurrent` does not guarantee " +"parallel execution. The explanation given above does not detail all the " +"requirements that need to be met in order to write a correct `do " +"concurrent` loop. Compilers are also free to do as they see fit, meaning " +"they may not optimize the loop (e.g., a small number of iterations doing " +"a simple calculation, like the >below example). In general, compiler " +"flags are required to activate possible parallelization for `do " +"concurrent` loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:227 +msgid "__Example:__ `do concurrent()` loop" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:6 +msgid "Organising Code" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:8 +msgid "" +"Most programming languages allow you to collect commonly-used code into " +"_procedures_ that can be reused by _calling_ them from other sections of " +"code." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:11 +msgid "Fortran has two forms of procedure:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:13 +msgid "__Subroutine__: invoked by a `call` statement" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:14 +msgid "" +"__Function__: invoked within an expression or assignment to which it " +"returns a value" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:16 +msgid "" +"Both subroutines and functions have access to variables in the parent " +"scope by _argument association_; unless the `value` attribute is " +"specified, this is similar to call by reference." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:19 +msgid "Subroutines" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:21 +msgid "" +"The subroutine input arguments, known as _dummy arguments_, are specified" +" in parentheses after the subroutine name; the dummy argument types and " +"attributes are declared within the body of the subroutine just like local" +" variables." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:24 +#: ../../source/learn/quickstart/organising_code.md:118 +#: ../../source/learn/quickstart/variables.md:134 +msgid "__Example:__" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:44 +msgid "" +"Note the additional `intent` attribute when declaring the dummy " +"arguments; this optional attribute signifies to the compiler whether the " +"argument is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) " +"or ''read-write'' (`intent(inout)`) within the procedure. In this " +"example, the subroutine does not modify its arguments, hence all " +"arguments are `intent(in)`." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:48 +msgid "" +"It is good practice to always specify the `intent` attribute for dummy " +"arguments; this allows the compiler to check for unintentional errors and" +" provides self-documentation." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:52 +msgid "We can call this subroutine from a program using a `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:66 +msgid "" +"This example uses a so-called _explicit-shape_ array argument since we " +"have passed additional variables to describe the dimensions of the array " +"`A`; this will not be necessary if we place our subroutine in a module as" +" described later." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:70 +msgid "Functions" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:84 +msgid "In production code, the intrinsic function `norm2` should be used." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:86 +msgid "To execute this function:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:102 +msgid "" +"It is good programming practice for functions not to modify their " +"arguments---that is, all function arguments should be `intent(in)`. Such " +"functions are known as `pure` functions. Use subroutines if your " +"procedure needs to modify its arguments." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:107 +msgid "Modules" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:109 +msgid "" +"Fortran modules contain definitions that are made accessible to programs," +" procedures, and other modules through the `use` statement. They can " +"contain data objects, type definitions, procedures, and interfaces." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:112 +msgid "" +"Modules allow controlled scoping extension whereby entity access is made " +"explicit" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:113 +msgid "" +"Modules automatically generate explicit interfaces required for modern " +"procedures" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:115 +msgid "" +"It is recommended to always place functions and subroutines within " +"modules." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:147 +msgid "" +"Compare this `print_matrix` subroutine with that written outside of a " +"module we no longer have to explicitly pass the matrix dimensions and can" +" instead take advantage of _assumed-shape_ arguments since the module " +"will generate the required explicit interface for us. This results in a " +"much simpler subroutine interface." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:152 +msgid "To `use` the module within a program:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:167 +msgid "__Example:__ explicit import list" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:173 +msgid "__Example:__ aliased import" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:179 +msgid "" +"Each module should be written in a separate `.f90` source file. Modules " +"need to be compiled prior to any program units that `use` them." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:7 +msgid "" +"Variables store information that can be manipulated by the program. " +"Fortran is a _strongly typed_ language, which means that each variable " +"must have a type." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:11 +msgid "There are 5 built-in data types in Fortran:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:13 +msgid "`integer` -- for data that represent whole numbers, positive or negative" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:14 +msgid "`real` -- for floating-point data (not a whole number)" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:15 +msgid "`complex` -- pair consisting of a real part and an imaginary part" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:16 +msgid "`character` -- for text data" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:17 +msgid "`logical` -- for data that represent boolean (true or false) values" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:19 +msgid "" +"Before we can use a variable, we must _declare_ it; this tells the " +"compiler the variable type and any other variable attributes." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:22 +msgid "" +"Fortran is a _statically typed_ language, which means the type of each " +"variable is fixed when the program is compiled---variable types cannot " +"change while the program is running." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:25 +msgid "Declaring variables" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:27 +msgid "The syntax for declaring variables is:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:33 +msgid "" +"where `` is one of the built-in variable types listed " +"above and `` is the name that you would like to call your " +"variable." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:36 +msgid "" +"Variable names must start with a letter and can consist of letters, " +"numbers and underscores. In the following example we declare a variable " +"for each of the built-in types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:39 +msgid "__Example:__ variable declaration" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:54 +msgid "" +"Fortran code is __case-insensitive__; you don't have to worry about the " +"capitalisation of your variable names, but it's good practice to keep it " +"consistent." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:57 +msgid "" +"Note the additional statement at the beginning of the program: `implicit " +"none`. This statement tells the compiler that all variables will be " +"explicitly declared; without this statement variables will be implicitly" +" typed according to the letter they begin with." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:61 +msgid "" +"Always use the `implicit none` statement at the beginning of each program" +" and procedure. Implicit typing is considered bad practice in modern " +"programming since it hides information leading to more program errors." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:66 +msgid "" +"Once we have declared a variable, we can assign and reassign values to it" +" using the assignment operator `=`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:68 +msgid "__Example:__ variable assignment" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:78 +msgid "Characters are surrounded by either single (`'`) or double quotes (`\"`)." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:80 +msgid "Logical or boolean values can be either `.true.` or `.false.`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:82 +msgid "" +"Watch out\" content=\"for assignment at declaration: `integer :: amount =" +" 1`. __This is NOT a normal initialisation;__ it implies the `save` " +"attribute which means that the variable retains its value between " +"procedure calls. Good practice is to initialise your variables separately" +" to their declaration." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:87 +msgid "Standard input / output" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:89 +msgid "" +"In our _Hello World_ example, we printed text to the command window. This" +" is commonly referred to as writing to `standard output` or `stdout`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:92 +msgid "" +"We can use the `print` statement introduced earlier to print variable " +"values to `stdout`:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:102 +msgid "" +"In a similar way, we can read values from the command window using the " +"`read` statement:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:118 +msgid "This input source is commonly referred to as `standard input` or `stdin`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:121 +msgid "Expressions" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:122 +msgid "" +"The usual set of arithmetic operators are available, listed in order or " +"precedence:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`**`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Exponent" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`*`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Multiplication" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`/ `" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Division" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`+`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Addition" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`-`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Subtraction" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:170 +msgid "Floating-point precision" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:172 +msgid "" +"The desired floating-point precision can be explicitly declared using a " +"`kind` parameter. The `iso_fortran_env` intrinsic module provides `kind` " +"parameters for the common 32-bit and 64-bit floating-point types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:175 +msgid "__Example:__ explicit real `kind`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:190 +msgid "Always use a `kind` suffix for floating-point literal constants." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:192 +msgid "__Example:__ C-interoperable `kind`s" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:204 +msgid "" +"In the next part we will learn how to use arrays for storing more than " +"one value in a variable." +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/news.po b/locale/nl/LC_MESSAGES/news.po new file mode 100644 index 000000000..8440304f9 --- /dev/null +++ b/locale/nl/LC_MESSAGES/news.po @@ -0,0 +1,13945 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/news.rst:2 +msgid "News - The Fortran Programming Language" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:8 +msgid "" +"The J3 Fortran Committee meeting took place in Las Vegas, NV, on February" +" 24-28, 2020." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:11 +msgid "Attendance" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:13 +msgid "The following people / companies attended:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:15 +msgid "Voting members:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:17 +msgid "Intel: Jon Steidel" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:18 +msgid "HPE/Cray: Bill Long" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:19 +msgid "NVIDIA: Peter Klausler, Gary Klimowicz" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:20 +msgid "IBM: Daniel Chen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:21 +msgid "ARM: Srinath Vadlamani" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:22 +msgid "NCAR: Dan Nagle, Magne Haveraaen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:23 +msgid "NASA: Tom Clune" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:24 +msgid "JPL: Van Sneider" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:25 +msgid "LANL: Zach Jibben, Ondřej Čertík" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:26 +msgid "ORNL: Reuben Budiardja" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:27 +msgid "LBNL: Brian Friesen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:28 +msgid "Sandia: Damian Rouson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:29 +msgid "Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:30 +msgid "Corbett: Bob Corbett" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:32 +msgid "Others:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:34 +msgid "AMD: Richard Bleikamp" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:35 +msgid "WG23: Stephen Michell (convenor), Erhard Ploedereder (member)" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:36 +msgid "Structural Integrity: Brad Richardson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:38 +msgid "Proposals Discussed at Plenary" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:40 +msgid "Monday 2/24" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:42 +msgid "Tuesday 2/25" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:44 +msgid "" +"[#22] : Default values of optional arguments " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:46 +msgid "Wednesday 2/26" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:48 +msgid "" +"[#157] : Rank-agnostic array element and section denotation " +"(, " +")" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:49 +msgid "" +"[#158] : TYPEOF and CLASSOF " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:50 +msgid "" +"[#1] : Namespace for modules " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:51 +msgid "" +"Interpretation: FORM TEAM and failed images " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:52 +msgid "" +"Interpretation: Collective subroutines and STAT= " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:54 +msgid "Thursday 2/27" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:56 +msgid "" +"Interpretation: events that cause variables to become undefined " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:57 +msgid "" +"Edits for SIMPLE procedures " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:58 +msgid "BFLOAT16 ()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:59 +msgid "" +"[#146] : Interpretation: allocatable component finalization " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:61 +msgid "Friday 2/28" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:63 +msgid "" +"[#157] : Rank-agnostic syntax " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:64 +msgid "" +"[#156] : Protected components " +"(). Withdrawn to address " +"conflicting interests." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:65 +msgid "" +"[#160] : Edits for auto-allocate characters " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:66 +msgid "" +"Edits for procedure pointer association " +"(). Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:67 +msgid "" +"[#157] : Edits for rank-agnostic bounds " +"(). Withdrawn because some" +" edits were missing and need to be added. There were concerns about " +"fitting into the framework of generics later on." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:68 +msgid "" +"[#157] : Edits for rank-agnostic array element and section denotation " +"(). Failed (5 v 7). " +"Missing edits, and disagreement on types vs rank-1 integers, the options " +"need to be explored more." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:69 +msgid "" +"[#157] : Edits for rank-agnostic allocation and pointer assignment " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:70 +msgid "" +"Interpretation: Public namelist and private variable " +"(). Straw vote (0 yes, 8 " +"no, 9 undecided). Passed unanimously with \"no\" alternative." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:71 +msgid "" +"Interpretation F18/015 ()." +" Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:74 +msgid "Skipped" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:76 +msgid "This was on the plan but we did not get to it:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:78 +msgid "" +"[#5] : US 27 POINTER dummy arguments, INTENT, and target modification " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:79 +msgid "[#19] : Short-circuiting proposal" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:81 +msgid "More Details" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:83 +msgid "" +"More details available at [j3-fortran/fortran_proposals " +"#155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at " +"the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt)" +" from the meeting." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:8 +msgid "" +"FortranCon 2020, the first international conference targeting the Fortran" +" programming language, will take place on July 2-4, 2020, in Zürich, " +"Switzerland." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:13 +msgid "" +"FortranCon aims to bring together developers of Fortran libraries, " +"applications, and language itself to share their experience and ideas. " +"The conference is organized in two full days of speaker presentations on" +" July 2 and 3, and a half-day workshop with lectures and hands-on " +"sessions on July 4. Click " +"[here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit an " +"abstract." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:21 +msgid "" +"The keynote presentation will be delivered by Steve Lionel " +"([@doctorfortran](https://twitter.com/doctorfortran)), convener of the " +"US Fortran Standards Committee." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:25 +msgid "" +"The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/)" +" is **free of charge**, with June 1, 2020 as the deadline. Virtual " +"participation will be enabled for speakers and attendees unable to " +"travel." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:30 +msgid "" +"Read more about FortranCon 2020 " +"[here](https://tcevents.chem.uzh.ch/event/12/)." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:8 +msgid "" +"Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and " +"Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) " +"spoke yesterday about the future of Fortran in Episode 40 of the Open " +"Source Directions Webinar. We discussed the current state of the " +"language, how it's currently developed, and what we can do today to " +"build the Fortran community, ecosystem of packages, and developer tools." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:16 +msgid "Watch the episode now:" +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:20 +msgid "" +"Special thanks to our hosts Melissa Mendonça " +"([@melissawm](https://twitter.com/melissawm)) and Madicken Munk " +"([@munkium](https://twitter.com/munkium)), as well as " +"[OpenTeams](https://openteams.com) and " +"[QuanSight](https://www.quansight.com/) for having us." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:26 +msgid "" +"You can find all previous episodes of the Open Source Directions webinar" +" [here](https://www.quansight.com/open-source-directions)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:13 +msgid "" +"Welcome to the first monthly Fortran newsletter. It will come out on the " +"first calendar day of every month, detailing Fortran news from the " +"previous month." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:17 +msgid "[This website](#this-website)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:18 +msgid "[Standard Library](#standard-library)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:19 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:16 +msgid "[Package Manager](#package-manager)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:20 +msgid "[WG5 Convenor candidates](#wg5-convenor-candidates)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:21 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:17 +msgid "[Events](#events)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:22 +msgid "[Who's hiring?](#whos-hiring)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:24 +msgid "This website" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:26 +msgid "" +"If you came to this newsletter from elsewhere, welcome to the new Fortran" +" website. We built this site mid-April and hope for it to be _the_ home " +"of Fortran on the internet, which traditionally there hasn't been any to " +"date. Look around and [let us know](https://github.com/fortran-lang" +"/fortran-lang.github.io/issues) if you have any suggestions for " +"improvement. Specifically, [Learn](/learn) and [Packages](/packages) are " +"the pages that we'll be focusing on in the coming months. Please help " +"us make them better!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:35 +msgid "Standard Library" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:37 +msgid "Here's what's new in Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:39 +msgid "" +"[#172](https://github.com/fortran-lang/stdlib/pull/172) New function " +"`cov` in the `stdlib_experimental_stats` module to compute covariance of " +"array elements. Read the full specification [here](https://github.com" +"/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov" +"---covariance-of-array-elements)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:43 +msgid "" +"[#168](https://github.com/fortran-lang/stdlib/pull/168) Specify " +"recommended order of attributes for dummy arguments in the [Stdlib style" +" guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:47 +msgid "[#173](https://github.com/fortran-lang/stdlib/pull/173) Minor bug fix." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:50 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) WIP: Addition of " +"`diag`, `eye`, and `trace` functions to make working with matrices " +"easier." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:54 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:75 +msgid "Package Manager" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:56 +msgid "" +"In the past month we've seen the first working implementation of the " +"[Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). " +"Specifically:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:59 +msgid "FPM supports three commands:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:60 +msgid "`fpm build`--compiles and links your application and/or library." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:61 +msgid "`fpm test`--runs tests if your package has any test programs." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:62 +msgid "`fpm run`--runs the application if your package has an executable program." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:63 +msgid "FPM can build an executable program, a library, or a combination of both." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:64 +msgid "" +"Currently only gfortran is supported as the compiler backend. FPM will " +"suport other compilers soon." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:66 +msgid "" +"Read the [FPM packaging guide](https://github.com/fortran-" +"lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with " +"FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:69 +msgid "" +"FPM is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:72 +msgid "Try to use it. Does it work? No? Let us know!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:73 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:90 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:82 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:75 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:58 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:95 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:93 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:100 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:178 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:126 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:119 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:160 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:141 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:123 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:157 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:172 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:143 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:208 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:137 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:152 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:165 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:143 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:124 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:136 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:154 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:138 +msgid "" +"Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and " +"see if you can help implement any fixes or features." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:74 +msgid "Adapt your Fortran package for FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:75 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:92 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:84 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:77 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:60 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:97 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:95 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:102 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:180 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:128 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:121 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:162 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:143 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:125 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:159 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:174 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:145 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:210 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:139 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:154 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:145 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:126 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:138 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:156 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:140 +msgid "Improve the documentation." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:77 +msgid "" +"The short term goal of FPM is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are " +"created and published with ease." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:81 +msgid "WG5 Convenor candidates" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:83 +msgid "" +"Last month was also the deadline for the [WG5](https://wg5-fortran.org/) " +"convenor candidates to apply for the next 3-year term (2021-2024). There " +"are two candidates:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:87 +msgid "" +"[Steve Lionel](https://stevelionel.com), who is also the current WG5 " +"convenor, announced running for another term. Read Steve's " +"[post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-" +"forward) about how he has guided the standardization process over the " +"past three years and his direction for the future." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:92 +msgid "" +"[Ondřej Čertík](https://ondrejcertik.com) has also announced announced to" +" run for the WG5 convenor. Read Ondřej's " +"[announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5" +"-convenor-announcement/) and " +"[platform](https://github.com/certik/wg5_platform_2020) that detail " +"current issues with Fortran language development and how to overcome them" +" going forward." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:99 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:105 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:90 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:140 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:141 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:176 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:166 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:161 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:215 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:174 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:163 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:260 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:215 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:165 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:181 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:207 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:279 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:296 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:231 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:232 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:284 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:249 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:261 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:369 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:470 +msgid "Events" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:101 +msgid "" +"[OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com)" +" hosted Ondřej Čertík and Milan Curcic in the Episode 40 of the Open " +"Source Directions Webinar. They talked about the current state and future" +" of Fortran, as well as about building the Fortran community and " +"developer tools. Read more about it and watch the video " +"[here](/newsletter/2020/04/18/Fortran-Webinar/)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:105 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:108 +msgid "" +"J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, " +"Nevada. You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:112 +msgid "Who's hiring?" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:114 +msgid "" +"[Intel Corporation (Santa Clara, CA): Software Engineer, " +"Fortran](https://g.co/kgs/aogdeh)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:115 +msgid "" +"[Intel Corporation (Hillsboro, OR): Software Engineer, " +"Fortran](https://g.co/kgs/5X3d2Y)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:116 +msgid "[Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:117 +msgid "" +"[American Cybersystems, Inc. (Binghamton, NY): Software Engineer " +"(Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:118 +msgid "[BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:119 +msgid "" +"[Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and" +" Topology Optimization](https://g.co/kgs/eYftiA)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:9 +msgid "" +"Welcome to the June 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:13 +msgid "[fortran-lang.org](#fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:14 +msgid "[Fortran Discourse](#fortran-discourse)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:15 +msgid "[Standard Library](#fortran-standard-library)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:18 +msgid "[Contributors](#contributors)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:20 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:15 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:15 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:15 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:15 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:15 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:15 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:16 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:15 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:15 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:15 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:15 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:15 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:15 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:15 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:15 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:15 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:16 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:15 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:16 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:15 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:15 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:15 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:15 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:15 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:22 +msgid "" +"The Fortran website has been up since mid-April, and we've already got " +"great feedback from the community. In the past month we've updated the " +"[Compilers](/compilers) page which is now comprehensive and includes all " +"major open source and commercial compilers. The [Learn](/learn) page has " +"also seen significant updates—it's been reorganized for easier navigation" +" and currently features a quickstart tutorial, Fortran books, and other " +"online resources." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:30 +msgid "" +"If you haven't yet, please explore the website and [let us " +"know](https://github.com/fortran-lang/fortran-lang.org/issues) if you " +"have any suggestions for improvement. Specifically, we'll be focusing on " +"the [Learn](/learn) page and its mini-books in the coming months. Please " +"help us make them better!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:36 +msgid "Here are some specific items that we worked on:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:38 +msgid "" +"[#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) WIP: " +"Mini-book on building programs" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:40 +msgid "" +"[#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) Improving" +" the structure and navigation of the [Learn](/learn) pages" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:42 +msgid "" +"[#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) Build " +"website previews from pull requests" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:45 +msgid "Fortran Discourse" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:47 +msgid "" +"On May 4 we launched the [Fortran Discourse](https://fortran-" +"lang.discourse.group), an online discussion board for anything and " +"everything Fortran related. You can use it discuss the Fortran language, " +"ask for help, announce events and/or personal projects, or just lurk " +"around. There are already quite a few interesting discussions going on. " +"Join us!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:54 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:41 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:40 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:32 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:32 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:47 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:34 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:47 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:34 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:44 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:45 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:36 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:40 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:44 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:56 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:36 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:64 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:42 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:35 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:44 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:35 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:35 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:41 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:59 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:45 +msgid "Fortran Standard Library" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:56 +msgid "" +"Recently we launched a [website](https://stdlib.fortran-lang.org) for the" +" API documentation of the Fortran Standard Library. The " +"[website](https://stdlib.fortran-lang.org) is automaticaly generated by " +"[FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). [Code of" +" Conduct](https://stdlib.fortran-" +"lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib" +".fortran-lang.org/page/License.html), and [workflow](https://stdlib" +".fortran-lang.org/page/contributing/Workflow.html) for contributing to " +"the Fortran Standard Library can also be found on the " +"[website](https://stdlib.fortran-lang.org/)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:60 +msgid "Here's what's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:62 +msgid "" +"[#191](https://github.com/fortran-lang/stdlib/pull/191) WIP: Function for" +" computing Pearson correlations among elements of an array in the " +"`stdlib_experimental_stats` module" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:65 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) WIP: Procedures " +"for sparse matrices operations. Ongoing discussion on the API can be " +"found [here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-" +"matrix-API)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:68 +msgid "" +"[#183](https://github.com/fortran-lang/stdlib/pull/183) Automatic API-doc" +" generation and deployment of this [stdlib website](https://stdlib" +".fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:70 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) Addition of the " +"new functions `diag`, `eye`, and `trace` functions to make working with " +"matrices easier. Read the full specifications [here](https://stdlib" +".fortran-lang.org/page/specs/stdlib_experimental_linalg.html)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:77 +msgid "" +"In this past month support for dependencies between packages has been " +"added to the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/fpm). You can specify either a path to another folder on your " +"machine with an fpm package, or a git repository (and optionally a " +"specific branch, tag or commit) that contains the package. fpm will then " +"take care of fetching the dependency for you (if necessary) and any " +"packages it depends on, and compiling and linking it into your project. " +"Check out an example [hello world " +"package](https://gitlab.com/everythingfunctional/hello_fpm) that uses " +"this functionality." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:86 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:78 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:71 +msgid "" +"fpm is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:89 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:81 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:74 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:57 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:94 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:92 +msgid "" +"Try to use it. Does it work? No? Let us know! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:91 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:83 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:76 +msgid "Adapt your Fortran package for fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:94 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:86 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:79 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:62 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:99 +msgid "" +"The short term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:98 +msgid "Specific items that are new this month:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:100 +msgid "" +"[#82](https://github.com/fortran-lang/fpm/pull/82) You can now add remote" +" git repositories as Fortran dependencies to your project." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:102 +msgid "" +"[#73](https://github.com/fortran-lang/fpm/pull/73) Improved output " +"messages for the user" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:107 +msgid "" +"We hosted the very first Fortran Monthly call on May 14. The turnout was " +"astonishing--over 23 people joined. You can read the notes from the call " +"[here](https://fortran-lang.discourse.group/t/fortran-monthly-call-" +"may-2020). We'll have another one this month. Subscribe to the [mailing " +"list](https://groups.io/g/fortran-lang) and/or join the [Discourse](https" +"://fortran-lang.discourse.group) to stay tuned." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:113 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020. There are quite a few submissions from the fortran-lang community: " +"A talk on [stdlib](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, one " +"about the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, a talk on " +"[LFortran " +"compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by " +"Ondřej Čertík, as well as one about [building the Fortran " +"community](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-community) by Milan Curcic." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:122 +msgid "" +"J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, " +"Nevada, has been " +"[cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html)." +" However, the work on proposals for the Fortran Standard doesn't stop. " +"You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:127 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:104 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:157 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:151 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:186 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:179 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:173 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:230 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:189 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:188 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:290 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:227 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:186 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:202 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:224 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:296 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:310 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:252 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:247 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:303 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:266 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:282 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:257 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:379 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:485 +msgid "Contributors" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:129 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories [fortran-" +"lang/stdlib](https://github.com/fortran-lang/stdlib), [fortran-" +"lang/fpm](https://github.com/fortran-lang/fpm), [fortran-lang/fortran-" +"lang.org](https://github.com/fortran-lang/fortran-lang.org), " +"[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:136 +msgid "" +"Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), Laurence Kedward " +"([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas " +"([@jvdp1](https://github.com/jvdp1)), Brad Richardson " +"([@everythingfunctional](https://github.com/everythingfunctional)), Izaak" +" \"Zaak\" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin " +"Diehl ([@MarDiehl](https://github.com/MarDiehl)), " +"[@arjenmarkus](https://github.com/arjenmarkus), Van Snyder " +"([@vansnyder](https://github.com/vansnyder)), " +"[@FortranFan](https://github.com/FortranFan), " +"[@epagone](https://github.com/epagone), Ivan ([@ivan-" +"pi](https://github.com/ivan-pi)), Neil Carlson " +"([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu " +"([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima " +"([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler " +"([@klausler](https://github.com/klausler)), Chris MacMackin " +"([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa " +"([@p-costa](https://github.com/p-costa)), [@mobius-" +"eng](https://github.com/mobius-eng), Salvatore Filippone " +"([@sfilippone](https://github.com/sfilippone)), " +"[@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar " +"([@aktech](https://github.com/aktech)), Bálint Aradi " +"([@aradi](https://github.com/aradi)), Melissa Weber Mendonça " +"([@melissawm](https://github.com/melissawm)), Jacob Williams " +"([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami " +"([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi " +"([@shahmoradi](https://github.com/shahmoradi)), Bill Long " +"([@longb](https://github.com/longb))." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:9 +msgid "" +"Welcome to the July 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:17 +msgid "" +"Work has continued on the Fortran-lang website, including a new community" +" page and additional tutorial content:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:19 +msgid "" +"[#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated " +"the [Quickstart mini-book](https://fortran-" +"lang.org/learn/quickstart/derived_types) tutorial with a comprehensive " +"overview of derived types;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:21 +msgid "" +"[#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a " +"second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) " +"page on building compiled programs and libraries;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:23 +msgid "" +"[#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added " +"a new top-level web-page for Fortran-lang community projects. The page " +"gives useful information and links for new contributors, as well as " +"acknowledging each of our many existing contributors. Check it out at " +"." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:27 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:27 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:22 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:22 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:37 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:26 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:35 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:22 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:34 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:35 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:26 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:28 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:30 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:46 +msgid "Ongoing work:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:29 +msgid "" +"[#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code" +" style for Fortran examples in the tutorials. See the corresponding " +"community poll and discussion on [Discourse](https://fortran-" +"lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a" +"-consistent-style-for-code-listings/134);" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:32 +msgid "" +"[#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan" +" for core language tutorials." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:34 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:36 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:29 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:29 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:44 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:31 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:44 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:31 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:41 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:42 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:33 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:37 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:41 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:33 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:58 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:35 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:29 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:38 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:29 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:29 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:35 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:53 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:39 +msgid "" +"[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if" +" you have any suggestions for the website and its content. We welcome any" +" new contributors to the website and the tutorials page in particular - " +"see the [contributor guide](https://github.com/fortran-lang/fortran-" +"lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:37 +msgid "" +"__Did you know__ you don't need to know HTML or any fancy languages to " +"contribute to the website; all of the online tutorials and most of the " +"website content are written in [markdown](https://github.com/adam-p" +"/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for " +"formatting text - don't worry if you haven't used it before, it's very " +"easy to pick up!" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:43 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:42 +msgid "What's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:45 +msgid "" +"[#209](https://github.com/fortran-lang/stdlib/pull/209) Implements " +"Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the " +"quadrature module (`stdlib_experimental_quadrature`)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:48 +msgid "" +"[#205](https://github.com/fortran-lang/stdlib/pull/205) Tests for and " +"improved standard conformance." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:51 +msgid "Some miscellaneous fixes and improvements:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:53 +msgid "" +"[#208](https://github.com/fortran-lang/stdlib/pull/208) Fixes to support " +"Intel Fortran compilers" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:55 +msgid "" +"[#210](https://github.com/fortran-lang/stdlib/pull/210) Fixes to support " +"NAG compiler" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:57 +msgid "" +"[#207](https://github.com/fortran-lang/stdlib/pull/207) " +"[#211](https://github.com/fortran-lang/stdlib/pull/211) Other minor fixes" +" and improvements" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:61 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:51 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:47 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:63 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:67 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:99 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:96 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:81 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:102 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:94 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:94 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:116 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:137 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:108 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:158 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:102 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:108 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:135 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:88 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:82 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:96 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:114 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:104 +msgid "Fortran Package Manager" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:63 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:53 +msgid "What's new in fpm:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:65 +msgid "" +"[#99](https://github.com/fortran-lang/fpm/pull/99) fpm now lets you " +"specify a custom build script or a Makefile to use. This will help " +"building packages that use a custom structure and/or external " +"dependencies in other languages." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:69 +msgid "" +"[#89](https://github.com/fortran-lang/fpm/pull/89) Allow specifying " +"specific tests or executables to run via command-line arguments." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:71 +msgid "" +"[#85](https://github.com/fortran-lang/fpm/pull/85) Enables having " +"specific dependencies for tests and executables." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:73 +msgid "" +"[#97](https://github.com/fortran-lang/fpm/pull/97) " +"[#100](https://github.com/fortran-lang/fpm/pull/100) " +"[#101](https://github.com/fortran-lang/fpm/pull/101) Minor improvements " +"to the README." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:92 +msgid "" +"We had our second Fortran Monthly call on June 19. You can read watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:97 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:153 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:148 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:183 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:176 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:170 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:222 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:186 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:185 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:287 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:224 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:183 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:199 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:221 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:293 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:307 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:249 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:244 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:300 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:263 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:279 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:254 +msgid "" +"As usual, subscribe to the [mailing list](https://groups.io/g/fortran-" +"lang) and/or join the [Discourse](https://fortran-lang.discourse.group) " +"to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:100 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today " +"(July 2), with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:106 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:159 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:109 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:162 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:156 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:191 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:110 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:163 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:157 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:192 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:111 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:164 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:159 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:194 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:112 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:165 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:161 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:196 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:9 +msgid "" +"Welcome to the August 2020 edition of the monthly Fortran newsletter. The" +" newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:17 +msgid "We continued the work on the Fortran-lang website, including:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:19 +msgid "" +"[#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): " +"updates to the Quickstart tutorial on loop control and syntax" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:21 +msgid "" +"[#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): " +"updated the [Book section](https://fortran-lang.org/learn/) with a " +"comprehensive list of books about Fortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:25 +msgid "" +"[#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), " +"[#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), " +"[#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), " +"[#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): " +"additional packages added to the Fortran-lang.org [packages](https" +"://fortran-lang.org/packages) page" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:29 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:43 +msgid "" +"[#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of" +" the Fortran Standard Library has been modified for clarity and ease of " +"use. With these changes, both experimental and stable procedures will " +"reside together in the same modules. The status of the procedures " +"(experimental vs stable) are documented in the code, in the specs, and in" +" the [API docs](https://stdlib.fortran-lang.org/)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:45 +msgid "Main ongoing discussions:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:46 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:47 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:48 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:39 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:55 +msgid "" +"[#221](https://github.com/fortran-lang/stdlib/issues/221): API for a " +"bitset data type" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:49 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:40 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:56 +msgid "" +"[#201](https://github.com/fortran-lang/stdlib/issues/201): API for file " +"system operations" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:54 +msgid "" +"We created the [fpm-registry](https://github.com/fortran-lang/fpm-" +"registry) repository, which serves as a registry of fpm-enabled Fortran " +"packages. Please see the README there to learn how to contribute a " +"package. For now, the registry is simply a list of fpm-enabled Fortran " +"packages that you can use as a dependency in your `fpm.toml` file. Soon, " +"this registry will be used to generate detailed metadata that will be " +"used by fpm to allow you to search for packages from the command-line, " +"e.g. `fpm search ` or similar." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:59 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the " +"design of the new Fortran implementation of fpm in a video call. We " +"agreed on the need for an intermediate package model which will allow for" +" clean separation of fpm frontends (user interface, parsing, and " +"semantics) and fpm backends (fpm itself, CMake, Make, etc.)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:60 +msgid "" +"[#131](https://github.com/fortran-lang/fpm/pull/131), " +"[#132](https://github.com/fortran-lang/fpm/pull/132), " +"[#139](https://github.com/fortran-lang/fpm/pull/139), " +"[#140](https://github.com/fortran-lang/fpm/pull/140), " +"[#142](https://github.com/fortran-lang/fpm/pull/142), " +"[#145](https://github.com/fortran-lang/fpm/pull/145), " +"[#147](https://github.com/fortran-lang/fpm/pull/147), " +"[#148](https://github.com/fortran-lang/fpm/pull/148), " +"[#151](https://github.com/fortran-lang/fpm/pull/151): We merged several " +"pull requests toward the Fortran fpm implementation. The Haskell " +"implementation has moved to the `fpm/bootstrap` directory, and the " +"Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of " +"course, an fpm package itself so it can be built by the Haskell fpm. " +"Soon, it will be able to be build by itself." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:83 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:66 +msgid "Fortran benchmarks" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:85 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:68 +msgid "" +"We created the [benchmarks repository](https://github.com/fortran-" +"lang/benchmarks) with the goal to design and implement a comprehensive " +"set of benchmarks. The benchmarks will aim to compare the performance of " +"various Fortran compilers, as well as the performance of canonical " +"algorithms implemented in Fortran and different languages. If you'd like " +"to contribute in any way, be it the design, implementation, or testing of" +" benchmarks, please join the ongoing discussion [here](https://github.com" +"/fortran-lang/benchmarks/issues)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:89 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:84 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:106 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:103 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:110 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:188 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:136 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:170 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:151 +msgid "Classic Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:91 +msgid "" +"We've begun to evaluate pull requests and merge them into the original " +"Flang compiler again. There is now a biweekly call to discuss issues and " +"plans for Classic Flang. The next call will be Wednesday, August 12, 8:30" +" AM Pacific time. The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:97 +msgid "" +"In the last call, AMD reviewed their outstanding pull requests for " +"Fortran debug metadata enhancements." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:100 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:100 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:131 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:125 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:134 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:196 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:156 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:196 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:162 +msgid "LLVM Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other test suites that use F77." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:106 +msgid "" +"We cominue upstreaming the lowering code from the fir-dev fork (MLIR-" +"based Fortran IR) into the llvm-project repository. Arm is working on " +"changes to support a driver program to replace the throwaway driver we " +"currently have." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:110 +msgid "" +"AMD has been contributing parser and semantic processing for OpenMP " +"constructs like task wait, barrier and parallel constructs." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:113 +msgid "" +"Changes have been made to default parse/unparse/compile processing to " +"default to gfortran (not NVIDIA Fortran)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:116 +msgid "Valentin Clement has been committing initial changes for OpenACC support." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:119 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:118 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:152 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:148 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:129 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:235 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:204 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:134 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:168 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:182 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:211 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:267 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:218 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:214 +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:131 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:269 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:196 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:251 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:237 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:236 +msgid "LFortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:121 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:120 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:154 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:150 +msgid "What's new in LFortran:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:123 +msgid "" +"The initial prototype C++ backend can translate Fortran's `do concurrent`" +" to C++'s `Kokkos::parallel_for`: " +"[https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:124 +msgid "" +"LFortran has a Twitter account for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:125 +msgid "" +"Work is progressing on the production version of LFortran that is written" +" in C++" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:126 +msgid "" +"22 Merge Requests were merged and 4 issues fixed in July 2020. Some " +"notable ones:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:127 +msgid "" +"[#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement " +"basic Fortran to C++ translation backend" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:128 +msgid "" +"[!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make " +"simple calculations work via LLVM in interactive mode" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:129 +msgid "" +"[!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build " +"ASR (Abstract Semantic Representation) properly for subroutines and " +"functions" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:131 +msgid "" +"The short term goal is to get the C++ based production version of " +"LFortran matching most of the features from the Python prototype version " +"and make a public release. The long term goal is to build a modern " +"Fortran compiler that works with any production code and allows it to run" +" efficiently on modern hardware (CPUs and GPUs), both interactively and " +"compiling to binaries, and provide the basis for other tools such as the " +"Fortran to C++ translation, editor support, automatic documentation " +"generation (and doctesting like in Python), automatic formatting and " +"others." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:142 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 " +"- 4. with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +" All presentations have been recorded and will be soon made available " +"online by the FortranCon organizers." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:148 +msgid "" +"We had our third Fortran Monthly call on July 16. You can read watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:9 +msgid "" +"Welcome to the September 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:17 +msgid "We continued the work on the Fortran-lang website, specifically:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:19 +msgid "" +"[#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): " +"Listing fpm packages on the Packages page of the website" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:34 +msgid "" +"There hasn't been new stdlib development in August, however ongoing work " +"and discussions continue:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:36 +msgid "" +"[#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal " +"for logging facilities in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:37 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:53 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:38 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:54 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:42 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:58 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:62 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:58 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:94 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:91 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:76 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:97 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:89 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:89 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:111 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:132 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:103 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:153 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:97 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:103 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:130 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:83 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:77 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:91 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:109 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:99 +msgid "" +"The candidate for file system operations to be included in stdlib is " +"being developed by [@MarDiehl](https://github.com/MarDiehl) and " +"[@arjenmarkus](https://github.com/arjenmarkus) in [this " +"repository](https://github.com/MarDiehl/stdlib_os). Please try it out and" +" let us know how it works, if there are any issues, or if the API can be " +"improved." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:49 +msgid "Ongoing work in fpm:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:51 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): " +"Implementing internal dependencies and build backend in the Fortran fpm" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:54 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:91 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:89 +msgid "" +"fpm is still in early development and we need as much help as we can get." +" Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:59 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:96 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:94 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:101 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:179 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:127 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:120 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:161 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:142 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:124 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:158 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:173 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:144 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:209 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:138 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:153 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:166 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:144 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:125 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:137 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:155 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:139 +msgid "" +"Adapt your Fortran package for fpm and submit it to the " +"[Registry](https://github.com/fortran-lang/fpm-registry)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:72 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:104 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:101 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:108 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:186 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:134 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:127 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:168 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:149 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:131 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:165 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:180 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:178 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:217 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:146 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:161 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:173 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:151 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:132 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:144 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:162 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:146 +msgid "Compilers" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:74 +msgid "GFortran" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:76 +msgid "" +"GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed " +"include PR94361, a memory leak with finalizers." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:79 +msgid "" +"The development version of `gfortran` now supports the full OpenMP 4.5 " +"specification. This will be released with GCC 11, but of course people " +"can already download and test it." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:86 +msgid "" +"We're evaluating pull requests and merging them into the original Flang " +"compiler again. We pulled in 4 changes in the past couple of weeks, and " +"expect to merge in a few more each week. One upcoming change is the " +"support for LLVM 10, which requires the use of a new fork, the _classic-" +"flang-llvm-project_ fork of the LLVM monorepo. See " +"[PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:94 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other F77 test suites (and the F77 parts" +" of non-F77 suites)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:107 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs. We continue to work on refactoring necessary to upstream this " +"fork into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:112 +msgid "" +"Arm is working on changes to support a driver program to replace the " +"temporary driver we currently use." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:115 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:142 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:122 +msgid "143 Merge Requests were merged and 22 issues fixed in August 2020" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:123 +msgid "" +"The C++ backend can now translate to C++ and compile many simple Fortran " +"programs" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:124 +msgid "" +"The parser can now parse a large subset of Fortran (if you find something" +" that cannot be parsed, please " +"[report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all " +"the information is yet represented in the AST (so later stages of the " +"compiler also work on a smaller subset), but one should not get parse " +"errors anymore for most valid codes." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:128 +msgid "" +"Initial `lfortran fmt` subcommand for formatting Fortran files, you can " +"provide feedback [here](https://fortran-lang.discourse.group/t/feedback-" +"for-lfortran-fmt-to-format-fortran-source-code/281)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:131 +msgid "A new command `lfortran kernel` can run LFortran as a Jupyter kernel." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:132 +msgid "" +"LFortran itself gives a nice Python like stacktrace (on Linux and macOS) " +"in Debug mode when an unhandled excetion happens or a segfault." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:135 +msgid "" +"Our goal for September is to get LFortran working for a much larger " +"subset of Fortran and allow it to compile and run via the C++ translation" +" backend (the LLVM backend will follow soon after)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:139 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:174 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:164 +msgid "" +"You can follow LFortran on Twitter for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:143 +msgid "" +"We had our fourth Fortran Monthly call on August 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:153 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:188 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:181 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:175 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:232 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:191 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:190 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:292 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:229 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:188 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:204 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:226 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:298 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:312 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:254 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:249 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:305 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:268 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:284 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:259 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:381 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:487 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of these repositories:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:158 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:193 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)," +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:160 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:195 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)," +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:9 +msgid "" +"Welcome to the October 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:17 +msgid "This month we've had only one minor change to the website:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:19 +msgid "" +"[#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): Small " +"fix in the opening sentence on the compilers page" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:34 +msgid "" +"This month we've had an improvement to the `stdlib_ascii` module, as well" +" as addition of logging facilities." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:37 +msgid "" +"[#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to " +"the `stdlib_stats` module by adding explicit conversions." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:38 +msgid "" +"[#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation " +"of the `stdlib_logger` module. It provides a global logger instance for " +"easy use in user applications, as well as a `logger_type` derived type if" +" multiple concurrent loggers are needed. See the [logger " +"specification](https://stdlib.fortran-" +"lang.org/page/specs/stdlib_logger.html) to learn more." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:44 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:85 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:80 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:46 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:84 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:163 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:55 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:109 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:57 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:96 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:144 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:55 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:119 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:55 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:103 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:143 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:83 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:154 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:38 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:123 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:24 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:56 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:113 +msgid "Work in progress:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:46 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:51 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of the `stdlib_bitsets` module. It provides a bitset data type." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:47 +msgid "" +"[#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to " +"the `stdlib_ascii` module" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:51 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:53 +msgid "Otherwise, ongoing discussions continue:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:65 +msgid "" +"This month has seen over a dozen additions and improvements to the " +"Fortran implementation of fpm:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:67 +msgid "" +"[#186](https://github.com/fortran-lang/fpm/issues/186): Implement version" +" string validation and comparison" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:68 +msgid "[#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:69 +msgid "" +"[#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to " +"further development of subcommands" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:70 +msgid "" +"[#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source " +"discovery" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:71 +msgid "" +"[#178](https://github.com/fortran-lang/fpm/issues/178): Add more example " +"packages" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:72 +msgid "" +"[#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective " +"testing of single suites and tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:73 +msgid "" +"[#175](https://github.com/fortran-lang/fpm/issues/175): Updated " +"formatting of Markdown documents" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:74 +msgid "" +"[#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell " +"Stack build in CI" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:75 +msgid "" +"[#171](https://github.com/fortran-lang/fpm/issues/171): Increase test " +"coverage of fpm manifest" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:76 +msgid "" +"[#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing " +"tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:77 +msgid "" +"[#163](https://github.com/fortran-lang/fpm/issues/163): Use different " +"strategy to fetch git dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:78 +msgid "" +"[#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type " +"identification" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:79 +msgid "" +"[#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing " +"guidelines (you can read them [here](https://github.com/fortran-" +"lang/fpm/CONTRIBUTING.md))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:81 +msgid "" +"[#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading" +" of fpm.toml" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:82 +msgid "" +"[#155](https://github.com/fortran-lang/fpm/issues/155): Internal " +"dependencies and build backend" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:87 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path " +"dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:88 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto " +"discovery of executables" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:89 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement " +"`fpm new`" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:108 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in the past month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:111 +msgid "" +"One important merge was support for LLVM 10, which required the use of a " +"new fork, the _classic-flang-llvm-project_ fork of the LLVM monorepo. See" +" [PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:117 +msgid "Other recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:118 +msgid "" +"[PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-" +"compiler/flang/pull/658)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:119 +msgid "" +"[PR#737: TRAILZ function added to the fortran " +"compiler](https://github.com/flang-compiler/flang/pull/737)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:120 +msgid "" +"[PR#756: Fix ICE interf:new_symbol_and_link symbol not " +"found](https://github.com/flang-compiler/flang/pull/756)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:121 +msgid "" +"[PR#888: flang gen-exec does not show routine variables with parameter " +"attribute; there are multiple pull requests that this includes (details " +"below)](https://github.com/flang-compiler/flang/pull/888)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:122 +msgid "" +"[PR#916: Fix off-by-one error in minimum integers](https://github.com" +"/flang-compiler/flang/pull/916)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:123 +msgid "" +"[PR#921: Correction of representation of string (character type) " +"constants](https://github.com/flang-compiler/flang/pull/921)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:125 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, October 7 and 21, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:133 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:136 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS). We " +"continue to work on refactoring necessary to upstream the _fir-dev_ fork " +"into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:142 +msgid "Arm has contributed changes toward a full-fledged driver for flang." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:144 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:140 +msgid "AMD continues to add support for OpenMP semantics and lowering." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:146 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support. This will be the topic of the next Flang Technical " +"Community call on Monday, October 5, 8:30 AM Pacific Time." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:150 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:156 +msgid "59 Merge Requests were merged and 3 issues fixed in September 2020" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:157 +msgid "" +"The FortranCon 2020 LFortran video now " +"[available](https://www.youtube.com/watch?v=tW9tUxVMnzc)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:158 +msgid "" +"LFortran, now imlemented in C++, has surpassed the Python prototype from " +"a year ago" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:160 +msgid "The Jupyter notebook now works as it used to with the Python prototype" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:161 +msgid "" +"A new notebook added showcasing how to visualize AST, ASR and C++ " +"translation in Jupyter " +"([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:163 +msgid "" +"X86 backend to generate direct x86-32 machine code (very fast compilation" +" in Debug mode)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:165 +msgid "Further parser improvements" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:166 +msgid "Initial Fortran modules support" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:167 +msgid "" +"Initial support for using GFortran modules " +"([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:169 +msgid "" +"Better compiler error messages " +"([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:171 +msgid "" +"The interactive prompt (REPL) now understands arrow keys " +"([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:178 +msgid "" +"We had our fourth Fortran Monthly call on September 25. You can watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:9 +msgid "" +"Welcome to the November 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:17 +msgid "This month we've had a few additions and improvements to the website:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:19 +msgid "" +"[#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): New " +"mini-book on setting up the Fortran development environment. You can read" +" it [here](https://fortran-lang.org/learn/os_setup)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:22 +msgid "" +"[#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): " +"Automated posting to @fortranlang Twitter using twitter-together." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:24 +msgid "" +"[#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): Fix " +"for a security vulnerability reported by the GitHub Security Team." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:26 +msgid "" +"The following packages were added to the [Package Index](https://fortran-" +"lang.org/packages): atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, " +"fypp, HANDE, libmbd, libnegf, mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT," +" QMD-PROGRESS, scalapackfx, tapenade, wannier90, and xtb." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:31 +msgid "" +"[#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), " +"[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), " +"[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), " +"[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): Minor " +"fixes and improvements." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:39 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:28 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): " +"In-depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:41 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): " +"Updating the mini-book on building programs." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:49 +msgid "This month progress was made on a few pull requests:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:52 +msgid "" +"[#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation " +"of the `stdlib_stats_distribution` module. It provides probability " +"distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:53 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to" +" support newline characters in the message provided to the logger." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:55 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:51 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:74 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:71 +msgid "Don't hesitate to test and review these pull requests!" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:57 +msgid "Otherwise, ongoing discussions continue;" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:58 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/pull/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:59 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/pull/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:69 +msgid "What's new:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:71 +msgid "" +"[#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm " +"submodule support" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:72 +msgid "" +"[#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to " +"`list_files` and `mkdir` in `fpm_filesystem`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:73 +msgid "" +"[#206](https://github.com/fortran-lang/fpm/issues/206): Add installation " +"script in `install.sh`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:74 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote " +"package dependencies (Fortran fpm can now build itself)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:75 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of" +" executables" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:76 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189), " +"[#204](https://github.com/fortran-lang/fpm/issues/204), " +"[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm " +"new` in Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:82 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:86 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:165 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:111 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:98 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:146 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:121 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:105 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:145 +msgid "" +"[First beta release](https://github.com/fortran-lang/fpm/milestone/1) " +"(WIP): First feature-complete release of the Fortran implementation." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:83 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and " +"executable runner options" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:84 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler " +"and flags" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:85 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove " +"bashism from install.sh" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:86 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add " +"automatic documentation for Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:87 +msgid "" +"[#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create " +"package manifest with toml-f build interface" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:97 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:104 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:182 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:130 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:123 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:164 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:145 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:127 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:161 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:176 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:147 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:212 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:141 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:156 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:169 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:147 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:128 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:140 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:158 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:142 +msgid "" +"The short-term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:105 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in October." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:108 +msgid "Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:109 +msgid "" +"[PR#660: Enable support for simd directives](https://github.com/flang-" +"compiler/flang/pull/660)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:110 +msgid "" +"[PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug " +"metadata](https://github.com/flang-compiler/flang/pull/878)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:111 +msgid "" +"[PR#910: Fix f90_correct tests](https://github.com/flang-" +"compiler/flang/pull/910)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:112 +msgid "" +"[PR#922: Fix private flag overwrite in " +"find_def_in_most_recent_scope()](https://github.com/flang-" +"compiler/flang/pull/922)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:113 +msgid "" +"[PR#927: f90_correct: exclude tests failing with LLVM 10 on " +"OpenPOWER](https://github.com/flang-compiler/flang/pull/927)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:114 +msgid "" +"[PR#930: Fix HTML docs generation](https://github.com/flang-" +"compiler/flang/pull/930)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:115 +msgid "" +"[PR#931: [flang2] Fix segmentation faults (#421)](https://github.com" +"/flang-compiler/flang/pull/931)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:116 +msgid "" +"[PR#932: [flang1] Do not assume unempty derived types](https://github.com" +"/flang-compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:117 +msgid "" +"[PR#938: [flang2] Fixing possible crash due to ivl being NULL in " +"dinit.cpp](https://github.com/flang-compiler/flang/pull/938)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:119 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, November 4 and 18, 8:00 AM Pacific time (note " +"the time change). The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:127 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:129 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:138 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:133 +msgid "" +"Pat McCormick is working on an RFC for the merge of the lowering code in " +"the fir-dev fork into LLVM master. The goal is to expedite this in a way " +"that is acceptable to the Flang community, so we can do further work in " +"the single master branch." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:138 +msgid "" +"Arm continues to contribute changes toward a full-fledged driver for " +"flang." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:145 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC to the point that he can build and test Flang on Windows." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:152 +msgid "9 Merge Requests were merged and 5 issues fixed in October 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:153 +msgid "" +"We gave LFortran " +"[talk](https://cfp.jupytercon.com/2020/schedule/presentation/169" +"/lfortran-interactive-llvm-based-fortran-compiler-for-modern-" +"architectures/) at JupyterCon 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:156 +msgid "" +"A prototype compiler implementation of conditional expressions for the " +"October 2020 Fortran Standards Committee meeting " +"([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:159 +msgid "Better code formatting support (`lfortran fmt`)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:160 +msgid "Improvements to AST" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:161 +msgid "" +"Capture stdout on Windows in a Jupyter notebook " +"([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:168 +msgid "" +"The US Fortran Standards Committee held a virtual meeting from October " +"12-14. You can read the summary and the discussion " +"[here](https://github.com/j3-fortran/fortran_proposals/issues/185) and " +"all the documents [here](https://j3-fortran.org/doc/meeting/222)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:171 +msgid "" +"We had our 5th Fortran Monthly call on October 27. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:184 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:178 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:235 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:194 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:193 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:295 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:232 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:191 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:207 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:229 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:301 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:315 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:257 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:252 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:308 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:271 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:287 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:262 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:490 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:185 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:179 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:236 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:196 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:195 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:297 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:234 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:193 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:209 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:231 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:303 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:317 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:259 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:254 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:310 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:273 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:289 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:264 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:386 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:492 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:186 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:180 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:237 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:197 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:196 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:298 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:235 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:194 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:210 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:232 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:304 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:318 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:260 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:255 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:311 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:274 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:290 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:265 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:387 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:493 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:187 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:181 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:239 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:199 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:198 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:301 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:238 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:197 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:213 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:235 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:307 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:321 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:263 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:258 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:315 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:278 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:294 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:269 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:391 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:497 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:188 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:182 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:240 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:200 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:199 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:302 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:239 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:198 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:214 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:236 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:308 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:322 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:264 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:259 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:316 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:279 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:295 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:270 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:498 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:189 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:183 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:241 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:9 +msgid "" +"Welcome to the December 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:17 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:18 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:17 +msgid "This month we've had a few updates to the website:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:19 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): " +"Updates to the mini-book on building Fortran programs, including the " +"addition of short guides on Meson and CMake. You can read the mini-book " +"[here](https://fortran-lang.org/learn/building_programs)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:23 +msgid "" +"[#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): Add " +"PSBLAS to the package index." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:36 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:49 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:36 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:46 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:47 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:38 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:42 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:46 +msgid "Here's what's new in `stdlib`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:38 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of bitsets in `stdlib_bitsets`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:39 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243), " +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#252](https://github.com/fortran-lang/stdlib/pull/253), " +"[#255](https://github.com/fortran-lang/stdlib/pull/255): Various " +"improvements to `stdlib_logger`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:43 +msgid "" +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to " +"the CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:48 +msgid "" +"(WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): " +"Implementation of the `stdlib_stats_distribution` module. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:49 +msgid "" +"(WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:54 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/issues/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:55 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/issues/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:56 +msgid "" +"[#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to" +" add a logger for debug phases and levels among the different logs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:65 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:101 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:98 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:83 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:104 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:96 +msgid "Here's what's new in `fpm`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:67 +msgid "" +"[#259](https://github.com/fortran-lang/fpm/pull/259): Update the " +"instructions for building from source in README.md." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:68 +msgid "" +"[#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary " +"releases in CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:69 +msgid "" +"[#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with " +"external libraries." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:70 +msgid "" +"[#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference " +"document for the package manifest (fpm.toml)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:71 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/pull/221), " +"[#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for " +"test and app executables." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:73 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler " +"and flags settings in Haskell fpm." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:74 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/pull/209): " +"[#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:76 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/pull/216), " +"[#225](https://github.com/fortran-lang/fpm/pull/225), " +"[#226](https://github.com/fortran-lang/fpm/pull/226), " +"[#229](https://github.com/fortran-lang/fpm/pull/229), " +"[#236](https://github.com/fortran-lang/fpm/pull/236), " +"[#240](https://github.com/fortran-lang/fpm/pull/240), " +"[#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and " +"improvements." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:87 +msgid "" +"(WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261): Specification of " +"the fpm CLI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:89 +msgid "" +"(WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the " +"`extra` section in fpm.toml." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:90 +msgid "" +"(WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor " +"backend for incremental rebuilds." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:91 +msgid "" +"(WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:92 +msgid "" +"(WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the " +"compiler and specifying test or app target." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:93 +msgid "" +"(WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement " +"`fpm install`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:94 +msgid "" +"(WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to " +"test release build." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:96 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:173 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:121 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:114 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:155 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:136 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:118 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:152 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:167 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:138 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:200 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:129 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:144 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:157 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:135 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:116 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:128 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:146 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:130 +msgid "" +"`fpm` is still in early development and we need as much help as we can " +"get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:99 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:176 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:124 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:117 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:158 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:139 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:121 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:155 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:170 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:141 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:203 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:112 +msgid "" +"We continue to evaluate and merge pull requests into Classic Flang. " +"Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:113 +msgid "" +"[PR#883: Flang generated executable does not show result variable of " +"function](https://github.com/flang-compiler/flang/pull/883)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:114 +msgid "" +"[PR#933: Updating X-flag entries for internal command line option \"-x " +"49\"](https://github.com/flang-compiler/flang/pull/933)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:115 +msgid "" +"[PR#939: Publish Arm's internal documentation](https://github.com/flang-" +"compiler/flang/pull/939)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:116 +msgid "" +"[PR#941: [DebugInfo] Internal subprogram variable is not accessible for " +"printing in gdb](https://github.com/flang-compiler/flang/pull/941)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:117 +msgid "" +"[PR#942: Implement UNROLL(n) directive](https://github.com/flang-" +"compiler/flang/pull/942)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:118 +msgid "" +"[PR#943: Enable github Actions for push to master and pull requests to " +"master](https://github.com/flang-compiler/flang/pull/943)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:119 +msgid "" +"[PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-" +"compiler/flang/pull/945)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:120 +msgid "" +"[PR#946: Call check_member() for PD_is_contiguous](https://github.com" +"/flang-compiler/flang/pull/946)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:121 +msgid "" +"[PR#951: Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:123 +msgid "Pull requests merged into the supporting projects:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:124 +msgid "" +"[classic flang LLVM monorepo PR#5: [Driver] Reduce downstream " +"delta](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/5)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:125 +msgid "" +"[classic flang LLVM monorepo PR#6: Removing a few CI " +"pipelines](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/6)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:126 +msgid "" +"[classic flang LLVM monorepo PR#7: Github Actions added to pre-compile " +"artifacts for flang](https://github.com/flang-compiler/classic-flang-" +"llvm-project/pull/7)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:127 +msgid "" +"[llvm mirror PR#87: Enable github actions for llvm](https://github.com" +"/flang-compiler/llvm/pull/87)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:128 +msgid "" +"[flang-driver PR#94: Enable github actions](https://github.com/flang-" +"compiler/flang-driver/pull/94)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:130 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes " +"from previous calls, upcoming agenda and a link to join the call can be " +"found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:136 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime. Significant contributions are being made for OpenMP and OpenACC " +"support." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:140 +msgid "" +"Pat McCormick is (still) working on an RFC for the merge of the lowering " +"code in the fir-dev fork into LLVM master. (This was interrupted by " +"Supercomputing 2020 and other ECP duties.) The goal is to expedite this " +"in a way that is acceptable to the Flang community, so we can do further " +"work in the single master branch." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:143 +msgid "Recent updates include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:144 +msgid "" +"Johannes Doerfert has created a web page at https://flang.llvm.org; you " +"can find call and Slack logistics there" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:145 +msgid "" +"Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-" +"tests project: http://lists.llvm.org/pipermail/llvm-" +"dev/2020-November/146873.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:146 +msgid "" +"Andzrej Warzynski has a flang-dev RFC regarding flang option names: " +"http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:147 +msgid "" +"Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help " +"flang driver become independent of clang: http://lists.llvm.org/pipermail" +"/cfe-dev/2020-November/067263.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:148 +msgid "" +"Changed representation of CHARACTER data in type system to make more " +"consistent with other types (for arrays)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:149 +msgid "" +"Changed COMPLEX expression representation to provide better handling in " +"lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:150 +msgid "More improvements for supporting Fortran 77 programs" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:151 +msgid "Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:152 +msgid "" +"Continued implementation of table-driven runtime for derived types; " +"posted documentation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:153 +msgid "Continued implementation of array expression lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:154 +msgid "Improved error checks on forward references" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:155 +msgid "" +"More updates to flang driver (option handling; -E can now be used to " +"invoke just the Flang preprocessor)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:156 +msgid "OpenACC semantic checks for modifiers on enter/exit data, set directives" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:157 +msgid "" +"OpenACC lowering (enter/exit data, update, init, shutdown, wait " +"directives)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:158 +msgid "" +"OpenMP structure checker updates; semantic checks for copyin clause; " +"schedule class" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:163 +msgid "" +"Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be " +"the new Chair of PL22.3 (J3, US Standards Committee). Brian will serve in" +" his first term until November 2023. Congratulations, Brian!" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:165 +msgid "" +"We had our 6th Fortran Monthly call on November 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:9 +msgid "" +"Happy New Year! Welcome to the January 2021 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:20 +msgid "" +"[#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), " +"[#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): Fix " +"build preview" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:23 +msgid "" +"[#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): Fix " +"word spelling error in quickstart page" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:25 +msgid "" +"[#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), " +"[#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), " +"[#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): Add " +"missing packages from the list of popular Fortran projects to the package" +" index" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:29 +msgid "" +"[#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): Update" +" compilers page following Intel oneAPI release" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:31 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), " +"[#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): In-" +"depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:37 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:26 +msgid "" +"[#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): " +"Correct compiler page and tutorial regarding Intel oneAPI and PGI to " +"NVIDIA" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:39 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:28 +msgid "" +"[#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) " +"(WIP): We are searching for a representative Fortran code snippet for the" +" website and are looking forward to suggestions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:41 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): " +"Add links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:51 +msgid "" +"[#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method " +"`log_debug` to `stdlib_logger`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:52 +msgid "" +"[#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake " +"check for F18 error stop" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:53 +msgid "" +"[#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI" +" Fortran compiler to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:54 +msgid "" +"[#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level " +"option to ignore logging messages" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:55 +msgid "" +"[#263](https://github.com/fortran-lang/stdlib/pull/263), " +"[#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to " +"CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:57 +msgid "" +"[#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 " +"to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:58 +msgid "" +"[#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 " +"systems to Windows CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:59 +msgid "" +"[#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about" +" memory issues when compiling stdlib with the support of arrays to up 15 " +"ranks" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:60 +msgid "" +"[#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the " +"compilation load by splitting submodules" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:65 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:59 +msgid "" +"[#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:66 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:61 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), " +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:71 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required " +"changes to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:72 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:68 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:61 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:57 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:83 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:76 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:73 +msgid "" +"Otherwise, ongoing discussions continue about usability of `stdlib` " +"([#7](https://github.com/fortran-lang/stdlib/issues/7), " +"[#215](https://github.com/fortran-lang/stdlib/issues/215), " +"[#279](https://github.com/fortran-lang/stdlib/issues/279), " +"[#280](https://github.com/fortran-lang/stdlib/issues/280), " +"[#285](https://github.com/fortran-lang/stdlib/issues/285)), and new " +"implementations for `stdlib` ([#135](https://github.com/fortran-" +"lang/stdlib/issues/135), [#212](https://github.com/fortran-" +"lang/stdlib/issues/212), [#234](https://github.com/fortran-" +"lang/stdlib/issues/234), [#241](https://github.com/fortran-" +"lang/stdlib/issues/241), [#258](https://github.com/fortran-" +"lang/stdlib/issues/258), [#259](https://github.com/fortran-" +"lang/stdlib/issues/259), [#262](https://github.com/fortran-" +"lang/stdlib/issues/262), [#268](https://github.com/fortran-" +"lang/stdlib/issues/268), [#277](https://github.com/fortran-" +"lang/stdlib/issues/277))." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:103 +msgid "" +"[Alpha release version 0.1.3](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.1.3)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:104 +msgid "" +"[setup-fpm action](https://github.com/marketplace/actions/setup-fpm): " +"GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and " +"Windows runners" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:106 +msgid "" +"[Discussion board](https://github.com/fortran-lang/fpm/discussions): For " +"questions & answers, sharing of ideas, showing off projects and, of " +"course, discussions around fpm" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:108 +msgid "" +"[#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend " +"for incremental rebuilds" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:110 +msgid "" +"[#266](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management and `fpm update` subcommand" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:112 +msgid "" +"[#255](https://github.com/fortran-lang/fpm/pull/255) Setting the compiler" +" and specifying test or app target" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:114 +msgid "" +"[#262](https://github.com/fortran-lang/fpm/pull/262): Add " +"-fcoarray=single to default gfortran flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:116 +msgid "" +"[#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm " +"install`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:118 +msgid "" +"[#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test " +"release build" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:120 +msgid "" +"[#267](https://github.com/fortran-lang/fpm/pull/267): Fix enumeration of " +"non-library link objects" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:122 +msgid "" +"[#268](https://github.com/fortran-lang/fpm/pull/268): Fix dependency " +"tracking issue in bootstrap version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:124 +msgid "" +"[#271](https://github.com/fortran-lang/fpm/pull/271): Fix Windows run and" +" test commands" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:126 +msgid "" +"[#273](https://github.com/fortran-lang/fpm/pull/273): Update developer " +"documentation (manifest + command line)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:128 +msgid "" +"[#274](https://github.com/fortran-lang/fpm/pull/274): Update README with " +"link to setup-fpm github action." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:130 +msgid "" +"[#280](https://github.com/fortran-lang/fpm/pull/280): Create " +"specification for example section" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:132 +msgid "" +"[#281](https://github.com/fortran-lang/fpm/pull/281): Cleanup: Remove " +"archived Rust prototype" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:134 +msgid "" +"[#284](https://github.com/fortran-lang/fpm/pull/284): Document model and " +"backend for developers" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:136 +msgid "" +"[#285](https://github.com/fortran-lang/fpm/pull/285): CI: update naming " +"of release binaries" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:138 +msgid "" +"[#286](https://github.com/fortran-lang/fpm/pull/286): Implement check for" +" duplicated program names" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:140 +msgid "" +"[#289](https://github.com/fortran-lang/fpm/pull/289): Add support for " +"same compilers as Fortran version to Haskell version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:142 +msgid "" +"[#291](https://github.com/fortran-lang/fpm/pull/291): Initial " +"implementation of `fpm build --show-model`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:144 +msgid "" +"[#292](https://github.com/fortran-lang/fpm/pull/292): Specify the correct" +" help for `fpm run -h`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:146 +msgid "" +"[#293](https://github.com/fortran-lang/fpm/pull/293): Fix: missing error " +"check after `new_package` call" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:148 +msgid "" +"[#294](https://github.com/fortran-lang/fpm/pull/294): Add: support for " +"detecting .f and .F files" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:150 +msgid "" +"[#300](https://github.com/fortran-lang/fpm/pull/300): Remove " +"-coarray=single option from ifort compiler default options" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:152 +msgid "" +"[#303](https://github.com/fortran-lang/fpm/pull/303): Fixes to source " +"parsing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:154 +msgid "" +"[#304](https://github.com/fortran-lang/fpm/pull/304): Remove note on not " +"supported dependencies in program targets" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:156 +msgid "" +"[#307](https://github.com/fortran-lang/fpm/pull/307): Fix: program object" +" file collision" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:158 +msgid "" +"[#315](https://github.com/fortran-lang/fpm/pull/315): Remove: -ffast-math" +" in gfortran default release flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:160 +msgid "" +"[#322](https://github.com/fortran-lang/fpm/pull/322): Group sources by " +"package in the model" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:167 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:113 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Specification" +" of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:170 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:116 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): Update " +"subcommand \"new\" to reflect the addition of support for examples" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:177 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:125 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:118 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:159 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:140 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:122 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:156 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:171 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:142 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:207 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:136 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:151 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:164 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:142 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:123 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:135 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:153 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:137 +msgid "" +"Browse existing *fpm* packages on the [fortran-lang website](https" +"://fortran-lang.org/packages/fpm)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:190 +msgid "There are several pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:192 +msgid "Only one pull request was merged in December:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:194 +msgid "" +"[PR#951 Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:198 +msgid "" +"Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly " +"calls. An invitation was sent to the _flang-dev_ LLVM email list on " +"December 22nd. Call notes will be sent to the _flang-dev_ email list and " +"also recorded [here]( https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:202 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:158 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:198 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:164 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:182 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:221 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:150 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:165 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:177 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:155 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:136 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:148 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:166 +msgid "Recent development updates:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:204 +msgid "Semantic analysis fix for index-names of `FORALL` statements" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:205 +msgid "Continued work on parser support for `ALLOCATE`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:206 +msgid "Build tidying" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:207 +msgid "OpenMP semantic checks: atomic, flush" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:208 +msgid "Continued work on new driver" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:209 +msgid "Fix for list-directed REAL output editing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:210 +msgid "" +"Bug fixes: USE of USE of generic, crash in folding (#48437), crash in " +"OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:211 +msgid "Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:212 +msgid "" +"OpenACC: update serial construct clauses for 3.1, enforce restriction on " +"routine directive and clauses" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:213 +msgid "OpenMP: adding important clauses to OmpClause, task reduction clause" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:217 +msgid "" +"We had our 7th Fortran Monthly call on December 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:225 +msgid "" +"[Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the " +"Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and " +"the recent fortran-lang developments." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:228 +msgid "" +"[First year of Fortran-lang](https://medium.com/modern-fortran/first-" +"year-of-fortran-lang-d8796bfa0067) by Milan Curcic." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:238 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:198 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:197 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:299 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:236 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:195 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:211 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:233 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:305 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:319 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:261 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:256 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:313 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:276 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:292 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:267 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:389 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:495 +msgid "[fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:9 +msgid "" +"Welcome to the February 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:19 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): Add " +"links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:24 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): " +"Fix author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:38 +msgid "" +"[#303](https://github.com/fortran-lang/stdlib/pull/303), " +"[#301](https://github.com/fortran-lang/stdlib/pull/301), " +"[#294](https://github.com/fortran-lang/stdlib/pull/294): Fixes and " +"improvements for the manual Makefile build" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:42 +msgid "" +"[#293](https://github.com/fortran-lang/stdlib/pull/293): Write a more " +"verbose introduction to building stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:44 +msgid "" +"[#291](https://github.com/fortran-lang/stdlib/pull/291): Export package " +"files (CMake and pkg-config)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:46 +msgid "" +"[#290](https://github.com/fortran-lang/stdlib/pull/290): Rename CMake " +"project from stdlib to fortran\\_stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:48 +msgid "" +"[#288](https://github.com/fortran-lang/stdlib/pull/288): Follow GNU " +"install conventions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:50 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284): Required changes" +" to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:52 +msgid "" +"[CMake example](https://github.com/fortran-lang/stdlib-cmake-example): " +"Integration of the Fortran standard library in CMake projects" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:57 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): Add " +"supported compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:100 +msgid "" +"[#342](https://github.com/fortran-lang/fpm/pull/342): Fix broken link in " +"contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:102 +msgid "" +"[#337](https://github.com/fortran-lang/fpm/pull/337): Allow hyphens in " +"fpm project names in \"fpm new\"" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:104 +msgid "" +"[#335](https://github.com/fortran-lang/fpm/pull/335): Fix: performance " +"regression" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:106 +msgid "" +"[#334](https://github.com/fortran-lang/fpm/pull/334): Remove a name clash" +" in the fpm testsuite" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:118 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): Update: " +"fpm\\_backend with dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:138 +msgid "There are a number of pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:140 +msgid "A total of 12 pull requests were merged in January." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:142 +msgid "" +"[PR#932 Do not assume unempty derived types](https://github.com/flang-" +"compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:143 +msgid "" +"[PR#957 Support Prefetch Directive](https://github.com/flang-" +"compiler/flang/pull/957)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:144 +msgid "" +"[PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-" +"compiler/flang/pull/947)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:145 +msgid "" +"[PR#948 Expand CI to run with GCC-9/10 and " +"LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:146 +msgid "" +"[PR#949 USE rename should check if renamed sptr is available in the " +"scope](https://github.com/flang-compiler/flang/pull/949)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:147 +msgid "" +"[PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on " +"codegen](https://github.com/flang-compiler/flang/pull/971)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:148 +msgid "" +"[PR#940 Flang should generate debug location for limited instructions in " +"prolog](https://github.com/flang-compiler/flang/pull/940)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:149 +msgid "" +"[PR#977 Update apt data before installing sphinx](https://github.com" +"/flang-compiler/flang/pull/977)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:150 +msgid "" +"[PR#751 Fix for len intrinsic returning int*8 in some " +"cases](https://github.com/flang-compiler/flang/pull/751)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:151 +msgid "" +"[PR#956 Minor FileCheck pattern fixes](https://github.com/flang-" +"compiler/flang/pull/956)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:152 +msgid "" +"[PR#978 Fix the readme to point to the correct flang-dev " +"list](https://github.com/flang-compiler/flang/pull/978)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:153 +msgid "" +"[PR#979 Rename direct header to avoid windows " +"conflict](https://github.com/flang-compiler/flang/pull/979)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:160 +msgid "" +"OpenMP semantic checks: private, firstprivate, lastprivate, Workshare " +"Construct, `DO` loop restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:161 +msgid "Detect call to abstract interface" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:162 +msgid "" +"OpenMP - add task_reduction clause, make reduction clause part of " +"OmpClause" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:163 +msgid "" +"New Driver - adding support for various options, testing improvements, " +"standard macro pre-definitions, fixed-form detection, CMake improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:164 +msgid "OpenACC - semantic checks to enforce declare directive restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:165 +msgid "Internal subprogram improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:166 +msgid "" +"OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by " +"LabelEnforce" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:167 +msgid "Disallow `INTENT` attribute on procedure dummy arguments" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:168 +msgid "Module file improvements and bug fixes" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:169 +msgid "Add tests for procedure arguments with implicit interfaces" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:171 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:233 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:202 +msgid "" +"Call notes will be sent to the _flang-dev_ email list and also recorded " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:176 +msgid "" +"We had our 8th Fortran Monthly call on January 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:181 +msgid "" +"This year fortran-lang will be applying as a mentor organisation for " +"[Google Summer of Code](https://summerofcode.withgoogle.com/). We have " +"started working on the application and the project ideas; you can join " +"the ongoing discussion [here](https://fortran-lang.discourse.group/t" +"/google-summer-of-code-2021/658). If you'd like to help us flesh out the " +"ideas, or have a project idea of your own, please join our upcoming video" +" calls on February 9 and 16 (call info will be posted in the Discourse " +"thread), or write directly in the Discourse thread. If you're a student, " +"or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:195 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:194 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:296 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:233 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:192 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:208 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:230 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:302 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:316 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:258 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:253 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:309 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:272 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:288 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:263 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:385 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:491 +msgid "" +"[fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang" +"/stdlib-cmake-example)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:201 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:200 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:304 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:241 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:200 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:216 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:238 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:311 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:325 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:267 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:262 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:320 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:283 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:300 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:275 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:397 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:504 +msgid "[j3-fortran/fortran\\_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:9 +msgid "" +"Welcome to the March 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:17 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:17 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:17 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:17 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:17 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:17 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:17 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:17 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:18 +msgid "This month we've had several updates to the website:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:19 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): Fix " +"author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:21 +msgid "" +"[#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): Rename" +" all instances of fortran-lang.github.io to fortran-lang.org" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:23 +msgid "" +"[#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): Update" +" package index" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:25 +msgid "" +"[#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): Fix " +"broken link for LLVM flang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:27 +msgid "" +"[#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): Add " +"more electronic structure and atomistic simulation packages" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:29 +msgid "" +"[#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): Add " +"books to learning section" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:31 +msgid "" +"[#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): Fix " +"package information" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:36 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:37 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:28 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:34 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:30 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:31 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:26 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:38 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) " +"(WIP): Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:48 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271): Probability " +"Distribution and Statistical Functions--PRNG Module" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:50 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304): Add supported " +"compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:52 +msgid "" +"[#310](https://github.com/fortran-lang/stdlib/pull/310): Extend " +"`stdlib_ascii` module for handling character variables" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:54 +msgid "" +"[#324](https://github.com/fortran-lang/stdlib/pull/324): Install " +"setuptools for MinGW builds" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:61 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:63 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:59 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:77 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:67 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:69 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:65 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:75 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:69 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): Implement " +"non-fancy functional string type" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:71 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:71 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:67 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:73 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): Legendre " +"polynomials and Gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:74 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:95 +msgid "Please help improve stdlib by testing and reviewing these pull requests!" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:85 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316): Update subcommand " +"\"new\" to reflect the addition of support for the example/ directory" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:87 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345): Fpm backend with " +"dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:89 +msgid "" +"[#346](https://github.com/fortran-lang/fpm/pull/346): Include root dir in" +" path to default example setup" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:91 +msgid "" +"[#349](https://github.com/fortran-lang/fpm/pull/349): Suggest to move the" +" fpm version in the boostrapping process" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:93 +msgid "" +"[#372](https://github.com/fortran-lang/fpm/pull/372): Unify release mode " +"calling convention" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:100 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Document the " +"specification of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:103 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): Hacky fix for" +" the help test" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:105 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): Install " +"script for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:107 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:148 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:123 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:115 +msgid "" +"[#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): Plugin alpha " +"version" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:109 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): Separate " +"build targets from model structure" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:111 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:131 +msgid "" +"The LFortran team is excited to announce that LFortran is now a [NumFOCUS" +" sponsored project](https://numfocus.org/project/lfortran). Please " +"consider donating to LFortran to accelerate its development." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:133 +msgid "" +"4 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Rohit Goswami](https://rgoswami.me/), " +"[Ondřej Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:138 +msgid "Recent Merge Requests highlights:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:139 +msgid "" +"Complex type support (thanks to [Gagandeep " +"Singh](https://github.com/czgdp1807)): " +"[!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), " +"[!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), " +"[!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), " +"[!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), " +"[!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), " +"[!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). " +"[!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:147 +msgid "" +"Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): " +"[!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), " +"[!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), " +"[!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), " +"[!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:152 +msgid "" +"Initial support for runtime math functions: " +"[!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), " +"[!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673)," +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:155 +msgid "" +"[!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): " +"Implement --show-stacktrace" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:156 +msgid "" +"[!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): " +"Refactor ImplicitCast nodes handling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:158 +msgid "" +"[!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed " +"floating point printing" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:165 +msgid "" +"We had our 9th Fortran Monthly call on February 25. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:170 +msgid "" +"This year Fortran-lang applied as a mentor organization for [Google " +"Summer of Code](https://summerofcode.withgoogle.com/). Accepted mentor " +"organizations will be announced on March 9. If you're a student, or know " +"students who are [eligible to participate](https://developers.google.com" +"/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:174 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee is held virtually" +" from February 22 to March 2 (Monday and Tuesday only). Main topics of " +"dicussion are the planned changes for the Fortran 202X revision of the " +"Standard:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:179 +msgid "[List](https://j3-fortran.org/doc/meeting/223) of all submitted papers" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:180 +msgid "" +"[Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"which papers were discussed each day and voting results" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:182 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:279 +msgid "" +"If you have ideas for new improvements to the language, please propose " +"them [here](https://github.com/j3-fortran/fortran_proposals)." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:9 +msgid "" +"We are excited to announce that Fortran-lang has been accepted as a " +"[Google Summer of Code (GSoC) 2021 mentoring " +"organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)!" +" 🎉" +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:11 +msgid "" +"You can review our project ideas [here](https://github.com/fortran-lang" +"/fortran-lang.org/wiki/GSoC-2021-Project-ideas), and if you have any " +"ideas that are not mentioned, please let us know." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:15 +msgid "" +"We are looking for students to get in touch with us and to apply. Click " +"[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021" +"-Student-instructions) for instructions on how to do so." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:19 +msgid "" +"Our main communication channel will be the [Fortran Discourse](https" +"://fortran-lang.discourse.group/). There, we will announce a date for " +"GSoC video calls where all prospective students are welcome to join to " +"ask questions, discuss, and brainstorm ideas." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:23 +msgid "We look forward to a productive and fun Google Summer of Code!" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:9 +msgid "" +"Welcome to the April 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:19 +msgid "" +"[#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): " +"Correct value of pi in quickstart mini-book" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:21 +msgid "" +"[#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): Added " +"DelaunaySparse to package list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:23 +msgid "" +"[#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) " +"[#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): GSoC " +"announcement" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:26 +msgid "" +"[#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): Avoid " +"unclear formulation in contributing guide" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:28 +msgid "" +"[#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): Add " +"information about free compiler versions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:30 +msgid "" +"[#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): " +"Improve tags" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:32 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): " +"Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:39 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:49 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320): Implement non-" +"fancy functional string type" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:51 +msgid "" +"[#362](https://github.com/fortran-lang/stdlib/pull/362): Fix wording in " +"style guide for dimension attribute" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:53 +msgid "" +"[#352](https://github.com/fortran-lang/stdlib/pull/352): Added TOC to " +"README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:55 +msgid "" +"[#346](https://github.com/fortran-lang/stdlib/pull/346) " +"[#356](https://github.com/fortran-lang/stdlib/pull/356): Added " +"to\\_lower, to\\_upper, reverse and to\\_title function to " +"stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:73 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:69 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:71 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:89 +msgid "" +"[#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): Provide " +"abstract base class for a string object" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:75 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): Add " +"functions to convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:77 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): Implement " +"strip and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:79 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:71 +msgid "" +"[#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): Simplify " +"test makefile" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:81 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:73 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:87 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:113 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:85 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:134 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:81 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:88 +msgid "" +"[#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): Initial " +"checkin for a module for tolerant comparison of reals" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:83 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:75 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): Implement " +"clip function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:85 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:77 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): Add " +"general contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:87 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): Summarize " +"build toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:89 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:79 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:67 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Add sort " +"to stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:91 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:106 +msgid "" +"[Alpha release version 0.2.0](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.2.0)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:107 +msgid "" +"[Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-" +"feedstock)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:108 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352): Hacky fix for the " +"help test" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:110 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357): Install script for " +"Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:112 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369): Separate build " +"targets from model structure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:114 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:116 +msgid "" +"[#377](https://github.com/fortran-lang/fpm/pull/377): Add explicit " +"include-dir key to manifest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:118 +msgid "" +"[#378](https://github.com/fortran-lang/fpm/pull/378): Add ford-compatible" +" documentation to fpm\\_strings.f90" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:120 +msgid "" +"[#386](https://github.com/fortran-lang/fpm/pull/386): Replace deprecated " +"flags in debug\\_fortran option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:122 +msgid "" +"[#390](https://github.com/fortran-lang/fpm/pull/390) " +"[#407](https://github.com/fortran-lang/fpm/pull/407): Implement --flag " +"option for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:125 +msgid "" +"[#397](https://github.com/fortran-lang/fpm/pull/397): Add Conda install " +"instructions to the README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:127 +msgid "" +"[#398](https://github.com/fortran-lang/fpm/pull/398): Minor fix: for " +"setting executable link libraries" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:129 +msgid "" +"[#402](https://github.com/fortran-lang/fpm/pull/402): Add fpm description" +" and reorganize the README intro" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:131 +msgid "" +"[#404](https://github.com/fortran-lang/fpm/pull/404): Correct join for " +"null input" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:133 +msgid "" +"[#409](https://github.com/fortran-lang/fpm/pull/409): Give Programs " +"Access to Code in Subdirectories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:135 +msgid "" +"[#414](https://github.com/fortran-lang/fpm/pull/414): Add few important " +"links to README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:137 +msgid "" +"[#412](https://github.com/fortran-lang/fpm/pull/412): Duplicate module " +"definitions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:139 +msgid "" +"[#413](https://github.com/fortran-lang/fpm/pull/413): Add: omp\\_lib to " +"intrinsic modules list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:141 +msgid "" +"[#419](https://github.com/fortran-lang/fpm/pull/419): Split workflow for " +"Haskell and Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:150 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): Phase out " +"Haskell fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:152 +msgid "" +"[fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): " +"Separate repository for the Haskell fpm version" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:172 +msgid "A total of 10 pull requests were merged in February." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:174 +msgid "" +"[PR#996 tests: one test case supporting PR #966](https://github.com" +"/flang-compiler/flang/pull/996)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:175 +msgid "" +"[PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue" +" #673)](https://github.com/flang-compiler/flang/pull/968)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:176 +msgid "" +"[PR#955 Do not issue an error when character kind 2 is " +"used](https://github.com/flang-compiler/flang/pull/955)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:177 +msgid "" +"[PR#975 Add the option to build release_11x branch of llvm with Github " +"Actions](https://github.com/flang-compiler/flang/pull/975)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:178 +msgid "" +"[PR#974 Fix hash collision handling routine that didn't work due to a " +"fatal mistake (issue #960).](https://github.com/flang-" +"compiler/flang/pull/974)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:179 +msgid "" +"[PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-" +"compiler/flang/pull/1000)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:180 +msgid "" +"[PR#952 Array debugging support with upgraded " +"DISubrange](https://github.com/flang-compiler/flang/pull/952)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:181 +msgid "" +"[PR#1002 Fix for regression introduced by PR #922 (issue " +"#995)](https://github.com/flang-compiler/flang/pull/1002)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:182 +msgid "[PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:183 +msgid "" +"[PR#966 Fixes to address cp2k compilation and runtime " +"issues](https://github.com/flang-compiler/flang/pull/966)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:185 +msgid "A total of 8 pull requests were merged in March." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:187 +msgid "" +"[PR#963 Fix errors on array initialisation with an implied do " +"loop](https://github.com/flang-compiler/flang/pull/963)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:188 +msgid "" +"[PR#1007 fix for issue #1006: stop passing unused uninitialized " +"value](https://github.com/flang-compiler/flang/pull/1007)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:189 +msgid "" +"[PR#1004 Nested implied do loop fix for real numbers](https://github.com" +"/flang-compiler/flang/pull/1004)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:190 +msgid "" +"[PR#710 Test case for capturing procedure pointers to OpenMP parallel " +"regions](https://github.com/flang-compiler/flang/pull/710)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:191 +msgid "" +"[PR#561 flang2: corrected fix for #424](https://github.com/flang-" +"compiler/flang/pull/561)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:192 +msgid "" +"[PR#778 Fixing NCAR test problems with error tolerance lower than " +"E-12.](https://github.com/flang-compiler/flang/pull/778)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:193 +msgid "" +"[PR#1010 LLVM 12 upgrade](https://github.com/flang-" +"compiler/flang/pull/1010)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:194 +msgid "" +"[PR#1012 Remove release_90 from Github Actions](https://github.com/flang-" +"compiler/flang/pull/1012)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:200 +msgid "New Driver:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:201 +msgid "Add options for -fdefault\\* and -flarge-sizes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:202 +msgid "Refine tests for module search directories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:203 +msgid "Add -fdebug-dump-parsing-log" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:204 +msgid "Add -fdebug-module-writer option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:205 +msgid "Add debug dump, measure-parse-tree and pre-fir-tree options" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:206 +msgid "Add -Xflang and make -test-io a frontend-only flang" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:207 +msgid "Add -J and -module-dir to f18 driver" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:208 +msgid "Fix -fdefault\\* family bug" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:209 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:189 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:227 +msgid "FIR (Fortran IR - a dialect of MLIR):" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:210 +msgid "Add diagnostic tests for FIR ops verifier" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:211 +msgid "Add FIR Types parser diagnostic tests" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:212 +msgid "" +"Upstream the pre-FIR tree changes (The PFT has been updated to support " +"Fortran 77)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:213 +msgid "Update flang test tool support classes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:214 +msgid "Add zero_bits, array value, and other operations" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:215 +msgid "" +"Upstream utility function valueHasFirAttribute() to be used in subsequent" +" merges" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:216 +msgid "OpenMP - add semantic checks for:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:217 +msgid "OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:218 +msgid "Occurrence of multiple list items in aligned clause for simd directive" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:219 +msgid "Flang OpenMP 4.5 - 2.15.3.6 Reduction clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:220 +msgid "2.15.4.2 - Copyprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:221 +msgid "2.15.3.4 - Firstprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:222 +msgid "2.15.3.5 - Lastprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:223 +msgid "Update character tests to use gtest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:224 +msgid "Adaptations to MLIR API changes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:225 +msgid "Fix call to CHECK() on overriding an erroneous type-bound procedure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:226 +msgid "Handle type-bound procedures with alternate returns" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:227 +msgid "Runtime: implement INDEX intrinsic function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:228 +msgid "Fix compilation on MinGW-w64" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:229 +msgid "Extension: forward refs to dummy args under IMPLICIT NONE" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:230 +msgid "Detect circularly defined interfaces of procedures" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:231 +msgid "Implement the related character intrinsic functions SCAN and VERIFY" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:237 +msgid "" +"LFortran is participating in GSoC under the NumFOCUS and Fortran-lang " +"umbrella, if you are interested, please apply: " +"[https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:238 +msgid "" +"7 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Himanshu " +"Pandey](https://github.com/hp77-creator), [Thirumalai " +"Shaktivel](https://github.com/Thirumalai-Shaktivel), [Scot " +"Halverson](https://github.com/scothalverson), [Rohit " +"Goswami](https://rgoswami.me/), [Ondřej " +"Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:246 +#, python-format +msgid "" +"114 Merge Requests were " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged)" +" in the past month, highlights" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:247 +msgid "" +"macOS support (both Intel and ARM), compilation and development of " +"LFortran itself (stacktraces work also)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:249 +msgid "" +"Initial implentation of: modules (modfiles, dependencies, ...), " +"interfaces, integer/real kinds, public/private attribute, derived types, " +"strings, variable initializations, pointers, modules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:252 +msgid "Many other fixes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:254 +msgid "" +"LFortran is still in pre-alpha stage, but we are making rapid progress " +"towards getting it to compile more Fortran features. We are looking for " +"contributors, if you are interested, please get in touch and we will help" +" you get started. We can be contacted at Zulip Chat, mailinglist or " +"GitLab issues (see https://lfortran.org for links to all three)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:262 +msgid "" +"We had our 10th Fortran Monthly call on March 24. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:267 +msgid "" +"This year Fortran-lang is a mentor organization for [Google Summer of " +"Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/)." +" If you're a student, or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know. The student application window opened on March 29 and will " +"close on April 13 at 14:00 Eastern Time." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:271 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee concluded on " +"March 2. Main topics of dicussion were the planned changes for the " +"Fortran 202X revision of the Standard. Here's the [list of all submitted " +"papers](https://j3-fortran.org/doc/meeting/223), and the " +"[summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"the papers discussed and voting results. The committee also welcomed a " +"new member, Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), who is the voting " +"alternate to Gary Klimowicz " +"([@gklimowicz](https://github.com/gklimowicz))." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:282 +msgid "" +"Registration is open for the upcoming free webinar on [Fortran for High " +"Performance " +"Computing](https://register.gotowebinar.com/register/7343048137688004108)." +" The webinar is organized by [Excellerat](https://www.excellerat.eu/) and" +" will be presented by Wadud Miah " +"([@wadudmiah](https://github.com/wadudmiah)) from the University of " +"Southampton." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:300 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:237 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:196 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:212 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:234 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:306 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:320 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:262 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:257 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:314 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:277 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:293 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:268 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:390 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:496 +msgid "[fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:303 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:240 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:199 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:215 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:237 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:309 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:323 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:265 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:260 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:317 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:280 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:296 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:271 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:393 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:499 +msgid "" +"[fortran-lang/fortran-forum-article-template](https://github.com/fortran-" +"lang/fortran-forum-article-template)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:9 +msgid "" +"In April 2020 we created a website for the Fortran language at [fortran-" +"lang.org](https://fortran-lang.org/). In exactly one year, it grew to be " +"the first result when you search \"Fortran\" in Bing, Yahoo, DuckDuckGo, " +"Ecosia, Qwant, SearchEncrypt and the second result in Google (after the " +"Wikipedia page for Fortran)." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:15 +msgid "" +"The goal of the website is to maintain a neutral place where any Fortran " +"user (expert or novice), compiler vendor (open source or commercial), " +"Fortran Standards Committee member, enthusiast, supporter or anybody else" +" interested is welcome to participate. Fortran was invented in 1956, and " +"we aim to be the stewards of the language and we welcome you to join us." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:21 +msgid "Here are some of the ways that you can participate:" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:23 +msgid "" +"[Fortran Discourse](https://fortran-lang.discourse.group/) discussion " +"forum" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:24 +msgid "" +"Contribute to [fpm](https://github.com/fortran-lang/fpm/), " +"[stdlib](https://github.com/fortran-lang/stdlib/), the [Fortran " +"website](https://github.com/fortran-lang/fortran-lang.org) or any other " +"project" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:28 +msgid "Join our monthly Fortran call (see announcements at Discourse)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:29 +msgid "Contribute to the Fortran monthly newsletter" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:30 +msgid "" +"Follow our Fortran Twitter account " +"[@fortranlang](https://twitter.com/fortranlang)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:33 +msgid "" +"Thank you everybody for your support so far. We are looking forward for " +"the second year!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:9 +msgid "" +"Welcome to the May 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:19 +msgid "" +"[#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): Add a " +"first year announcement" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:21 +msgid "" +"[#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): Add " +"dl\\_poly\\_4 to package index" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:23 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:30 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:32 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org “Fortran Best Practise” into a mini-book" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:40 +msgid "" +"[#391](https://github.com/fortran-lang/stdlib/pull/391): Add issue " +"templates" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:42 +msgid "" +"[#388](https://github.com/fortran-lang/stdlib/pull/388): Changed " +"filenames for bitset tests" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:44 +msgid "" +"[#384](https://github.com/fortran-lang/stdlib/pull/384): Implement " +"starts\\_with and ends\\_with functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:46 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:48 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360): Summarize build " +"toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:50 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343): Implement strip " +"and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:52 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336): Add functions to" +" convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:81 +msgid "" +"[#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): Correct " +"implementation of to\\_title" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:83 +msgid "" +"[#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): Start the " +"addition of the module stdlib\\_sorting" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:87 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:87 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:109 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:130 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:101 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:151 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:95 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:101 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:128 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:81 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:75 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:89 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:107 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:97 +#, python-format +msgid "" +"Please help improve stdlib by testing and [reviewing pull " +"requests](https://github.com/fortran-" +"lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:98 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420): Phase out Haskell " +"fpm" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:100 +msgid "[#468](https://github.com/fortran-lang/fpm/pull/468): Identify OpenBSD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:102 +msgid "[#465](https://github.com/fortran-lang/fpm/pull/465): Fix typo in README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:104 +msgid "" +"[#442](https://github.com/fortran-lang/fpm/pull/442): Use lib instead of " +"ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:106 +msgid "" +"[#440](https://github.com/fortran-lang/fpm/pull/440): Minor edits to " +"README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:108 +msgid "" +"[#438](https://github.com/fortran-lang/fpm/pull/438): Add external-" +"modules key to build table for non-fpm modules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:110 +msgid "" +"[#437](https://github.com/fortran-lang/fpm/pull/437): Remove coarray " +"single from default Intel flags" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:112 +msgid "" +"[#433](https://github.com/fortran-lang/fpm/pull/433): Fix to allow " +"compiling C with Intel CC" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:114 +msgid "" +"[#431](https://github.com/fortran-lang/fpm/pull/431): Use different " +"compiler flags on differnt platforms for Intel" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:116 +msgid "" +"[#429](https://github.com/fortran-lang/fpm/pull/429): Use wget if curl is" +" missing in install.sh" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:125 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): Use default " +"instead of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:127 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:113 +msgid "" +"[#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): Allow to find" +" include files / modules in CPATH environment variable" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:129 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:111 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): Response " +"files with ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:131 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): Remove " +"coarray flag from intel debug settings" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:133 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:109 +msgid "" +"[#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): Refactor: use" +" objects to represent compilers and archiver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:153 +msgid "A total of 5 pull requests were merged in April." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:155 +msgid "" +"[PR#1021 Switch to new LLVM License](https://github.com/flang-" +"compiler/flang/pull/1021)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:156 +msgid "" +"[PR#1025 runtime: register atfork handler to re-initialize internal " +"flangrti locks at fork](https://github.com/flang-" +"compiler/flang/pull/1025)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:157 +msgid "" +"[PR#1026 Test case update for #895](https://github.com/flang-" +"compiler/flang/pull/1026)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:158 +msgid "" +"[PR#1030 Update README.md](https://github.com/flang-" +"compiler/flang/pull/1030)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:159 +msgid "" +"[PR#1034 Github Action use the prebuilt clang to build " +"flang](https://github.com/flang-compiler/flang/pull/1034)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:166 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:192 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:230 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:158 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:163 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:190 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:197 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:201 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:162 +msgid "OpenMP" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:167 +msgid "[OPENMP5.1]Initial support for novariants clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:168 +msgid "[OPENMP5.1]Initial support for nocontext clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:169 +msgid "" +"Add functionality to check \"close nesting\" of regions, which can be " +"used for Semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:170 +msgid "[OpenMP5.1] Initial support for masked directive and filter clause" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:171 +msgid "" +"Modify semantic check for nesting of `ordered` regions to include `close`" +" nesting check." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:172 +msgid "Remove `OmpEndLoopDirective` handles from code." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:173 +msgid "Add General Semantic Checks for Allocate Directive" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:174 +msgid "New Driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:175 +msgid "Add options for -Werror" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:176 +#, python-format +msgid "" +"Modify the existing test cases that use -Mstandard in f18, to use " +"-pedantic and %flang_fc1 to share with the new driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:177 +msgid "Add support for `-cpp/-nocpp`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:178 +msgid "Fix `-fdebug-dump-provenance`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:179 +msgid "Add debug options not requiring semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:180 +#, python-format +msgid "Remove `%flang-new` from the LIT configuration" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:181 +msgid "Update the regression tests to use the new driver when enabled" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:182 +msgid "Add support for `-fget-definition`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:183 +msgid "Move .f77 to the list of fixed-form file extensions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:234 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:152 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:190 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:227 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:195 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:219 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:174 +msgid "Runtime" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:185 +msgid "Implement reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:186 +msgid "Implement numeric intrinsic functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:187 +msgid "TRANSFER() intrinsic function" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:188 +msgid "RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:189 +msgid "Implement IPARITY, PARITY, and FINDLOC reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:190 +msgid "Fix unit test failure on POWER" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:191 +msgid "Improve constant folding for type parameter inquiries" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:192 +msgid "Check for conflicting BIND(C) names" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:193 +msgid "Enforce a limit on recursive PDT instantiations" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:194 +msgid "Accept & fold IEEE_SELECTED_REAL_KIND" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:195 +msgid "Define missing & needed IEEE_ARITHMETIC symbols" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:196 +msgid "Handle instantiation of procedure pointer components" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:197 +msgid "Fix checking of argument passing for parameterized derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:198 +msgid "Fix spurious errors from runtime derived type table construction" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:199 +msgid "Check for attributes specific to dummy arguments" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:200 +msgid "Handle structure constructors with forward references to PDTs" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:206 +msgid "98 Merge Requests merged in April" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:207 +msgid "" +"Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy " +"app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)):" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:208 +msgid "" +"Code can be parsed to AST and transformed back to source code which " +"compiles with other compilers and works" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:209 +msgid "" +"About 3rd of the files can be transformed from AST to ASR and the modules" +" saved" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:210 +msgid "Other improvements:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:211 +msgid "Runtime library (more functions work)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:212 +msgid "Nested functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:213 +msgid "Derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:217 +msgid "" +"We had our 11th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:222 +msgid "" +"Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the " +"University of Southampton presented a webinar on Fortran for High " +"Performance Computing, organized by " +"[Excellerat](https://www.excellerat.eu/). You can find the slides and the" +" recording [here](https://services.excellerat.eu/viewevent/39)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:9 +msgid "" +"We're happy to announce six students that will work on Fortran projects " +"under the Google Summer of Code 2021 program:" +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:12 +msgid "" +"[Aman Godara](https://github.com/aman-godara) will work on strings in the" +" [Fortran Standard Library](https://github.com/fortran-lang/stdlib). " +"Aman's mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and " +"[Milan Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:16 +msgid "" +"[Rohit Goswami](https://github.com/haozeke) will work on the " +"[LFortran](https://lfortran.org) compiler, specifically toward the " +"capability to compile a complex physics package. Rohit's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:20 +msgid "" +"[Jakub Jelínek](https://github.com/kubajj) will work on handling compiler" +" arguments in the [Fortran Package Manager](https://github.com/fortran-" +"lang/fpm). Jakub's mentors will be [Laurence " +"Kedward](https://github.com/lkedward) and [Brad " +"Richardson](https://github.com/everythingfunctional)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:25 +msgid "" +"[Chetan Karwa](https://github.com/chetankarwa) will work on the linked " +"list support in the [Fortran Standard Library](https://github.com" +"/fortran-lang/stdlib). Chetan's mentors will be [Arjen " +"Markus](https://github.com/arjenmarkus) and [Milan " +"Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:30 +msgid "" +"[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work" +" on the Abstract Syntax Tree generation in the " +"[LFortran](https://lfortran.org) compiler. Thirumalai's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:34 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) will work on the support " +"of arrays and allocatables in the [LFortran](https://lfortran.org) " +"compiler. Gagandeep's mentor will be [Ondřej " +"Čertík](https://github.com/certik). Gagandeep was accepted under the " +"NumFOCUS application to GSoC." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:39 +msgid "" +"This is the first year that Fortran-lang applied for Google Summer of " +"Code, and we're beyond excited that our project was allocated this many " +"student slots. You can follow students' progress in their weekly reports " +"in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:43 +msgid "Thank you, Google, for your support of Fortran and open source software!" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:9 +msgid "" +"Welcome to the June 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:19 +msgid "" +"[#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): " +"Grammar and typo fixes in main page and quickstart minibook" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:21 +msgid "" +"[#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): Script" +" for summarizing PRs" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:23 +msgid "" +"[#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): " +"MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package " +"index" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:25 +msgid "" +"[#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): Fixed " +"grammar in Easy to learn section" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:30 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:44 +msgid "" +"[#417](https://github.com/fortran-lang/stdlib/pull/417): Add GCC-11 to " +"workflow" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:46 +msgid "" +"[#415](https://github.com/fortran-lang/stdlib/pull/415): Corrected Ubuntu" +" version" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:48 +msgid "" +"[#407](https://github.com/fortran-lang/stdlib/pull/407): Changed " +"to\\_title to to\\_sentence and implemented correct to\\_title" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:50 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359): Add general " +"contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:52 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355): Implement clip " +"function" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:57 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:83 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:59 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:61 +msgid "" +"[#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): Improved " +"support for NAG" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:63 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): " +"Implemented intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:65 +msgid "" +"[#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): Addition " +"of the stdlib\\_sorting module" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:96 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:120 +msgid "Here is what is new in *fpm*:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:98 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450): Remove coarray flag" +" from intel debug settings" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:100 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423): Use default instead" +" of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:107 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): Allow fpm to " +"change the working directory" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:136 +msgid "" +"39 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:137 +msgid "Features that can now be compiled (in the LLVM backend):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:138 +msgid "More nested functions and callbacks (the context is properly propagated)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:139 +msgid "Runtime: size, lbound, ubound" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:140 +msgid "Return statement" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:141 +msgid "More array operations and declarations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:142 +msgid "Array initializer expressions" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:143 +msgid "Features in ASR only (semantics):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:144 +msgid "Runtime intrinsics: min, max, allocated" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:145 +msgid "Features in AST only (syntax):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:146 +msgid "Co-arrays" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:147 +msgid "Methods" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:148 +msgid "Enumerations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:149 +msgid "Attributes in `use`" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:150 +msgid "BOZ constants" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:151 +msgid "Forall" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:152 +msgid "More interfaces" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:153 +msgid "Import" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:154 +msgid "Implicit statements" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:155 +msgid "Select type" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:157 +msgid "The following people contributed code in May 2021:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:159 +msgid "Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:160 +msgid "" +"Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com" +"/Thirumalai-Shaktivel))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:161 +msgid "Ondřej Čertík ([@certik](https://github.com/certik))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:162 +msgid "Dominic Poerio ([@dpoe](https://gitlab.com/dpoe))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:167 +msgid "" +"We had our 12th Fortran Monthly call on May 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:172 +msgid "" +"Google Summer of Code program has announced the allocation of students to" +" each project. Fortran-lang received six studens (one through " +"[NumFOCUS](https://numfocus.org/)) who will work across three " +"subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to " +"students [Aman Godara](https://github.com/aman-godara), [Rohit " +"Goswami](https://github.com/haozeke), [Jakub " +"Jelínek](https://github.com/kubajj), [Chetan " +"Karwa](https://github.com/chetankarwa), [Thirumalai " +"Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and [Gagandeep " +"Singh](https://github.com/czgdp1807). Read the full post [here](https" +"://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:9 +msgid "" +"Welcome to the July 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:19 +msgid "" +"[#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): Add " +"LATTE tight-binding molecular dynamics code to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:21 +msgid "" +"[#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): Add " +"crest program to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:23 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:25 +msgid "" +"[#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): Add " +"the SNaC package to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:27 +msgid "" +"[#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): Add " +"QUICK to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:32 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): " +"Add projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:34 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): " +"Add convert_FORTRAN_case formatter to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:36 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:48 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:28 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:38 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:54 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Draft: Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:48 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313): Legendre " +"polynomials and gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:50 +msgid "[#432](https://github.com/fortran-lang/stdlib/pull/432): Outer product" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:52 +msgid "" +"[#439](https://github.com/fortran-lang/stdlib/pull/439): Reduce time " +"spent on sorting tests" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:54 +msgid "" +"[#440](https://github.com/fortran-lang/stdlib/pull/440): Make maximum " +"rank an option" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:56 +msgid "" +"[#433](https://github.com/fortran-lang/stdlib/pull/433): Implemented low " +"level find function for string matching" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:58 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414): Implemented " +"intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:60 +msgid "" +"[#428](https://github.com/fortran-lang/stdlib/pull/428): Fix issue with " +"stdlib_sorting" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:62 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:64 +msgid "" +"[#430](https://github.com/fortran-lang/stdlib/pull/430): Remove support " +"for GCC 7 and 8" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:66 +msgid "" +"[#424](https://github.com/fortran-lang/stdlib/pull/424): Add separate " +"logical kind parameters" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:71 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): Add `disp`" +" function to display your data" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:73 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` to format other type to string" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:75 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): Implement " +"pad function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:77 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:109 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:81 +msgid "" +"[#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): [FPM] add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:79 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): Implement " +"low-level replace_all function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:81 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): Addition " +"of a subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:85 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:111 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:83 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:132 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:79 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:86 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:117 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:72 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:66 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:80 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:98 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:86 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Sorting " +"string's characters according to their ASCII values" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:91 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): String " +"list new" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:93 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:115 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:87 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:136 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:83 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:90 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:119 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:74 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:68 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:82 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:100 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:88 +msgid "" +"[#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): " +"Probability Distribution and Statistical Functions -- Beta Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:95 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:117 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:89 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:138 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:85 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:92 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:121 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:76 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:70 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:84 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:102 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:90 +msgid "" +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Probability Distribution and Statistical Functions -- Gamma Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:97 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:119 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:91 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:140 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:87 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:94 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:123 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): " +"Probability Distribution and Statistical Functions -- Exponential " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:99 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:121 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:93 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:142 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:89 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:96 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): " +"Probability Distribution and Statistical Functions -- Normal Distribution" +" Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:101 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:123 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:95 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:144 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): " +"Probability Distribution and Statistical Functions -- Uniform " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:103 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:125 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:97 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:146 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:91 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:98 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:125 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:78 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:72 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:86 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:104 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:92 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of COO / CSR sparse format" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:105 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:127 +msgid "" +"[#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): Update " +"CMAKE files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:118 +msgid "" +"__Alpha release update:__ Last month saw the release of __v0.3.0__ for " +"*fpm* which includes a number of [new features and bug " +"fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:122 +msgid "" +"[#504](https://github.com/fortran-lang/fpm/pull/504): install.sh, " +"README.md: Update version number, single source file extension" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:124 +msgid "" +"[#501](https://github.com/fortran-lang/fpm/pull/501): Bump version for " +"new release" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:126 +msgid "" +"[#491](https://github.com/fortran-lang/fpm/pull/491): Catch " +"execute_command_line errors and print useful messages" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:128 +msgid "" +"[#500](https://github.com/fortran-lang/fpm/pull/500): Allow reading " +"version number from file" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:130 +msgid "" +"[#497](https://github.com/fortran-lang/fpm/pull/497): correct for equal " +"sign in flag options to fix #495" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:132 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449): Response files with" +" ar on Windows" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:134 +msgid "" +"[#490](https://github.com/fortran-lang/fpm/pull/490): Minor fix to module" +" parsing" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:136 +msgid "" +"[#489](https://github.com/fortran-lang/fpm/pull/489): Redirect output " +"when searching for archiver" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:138 +msgid "" +"[#484](https://github.com/fortran-lang/fpm/pull/484): Add support for " +"invoking simple plugins" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:140 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483): Allow fpm to change" +" the working directory" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:147 +msgid "" +"[#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): quiet mode " +"for #502" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:149 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:164 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Draft - " +"Compiler flags profiles" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:170 +msgid "" +"49 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:171 +msgid "Highlights" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:172 +msgid "" +"Improvements to array support in the LLVM backend and at the ASR level: " +"array sections, allocatable arrays, and other improvements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:174 +msgid "" +"Many parser fixes (`lfortran fmt` works on more projects): block data, " +"common block, equivalence, custom operator declaration, flush, critical " +"and event statements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:177 +msgid "More runtime functions: minval, maxval, real, sum, abs" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:178 +msgid "Optional human readable mod files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:183 +msgid "" +"We had our 13th Fortran Monthly call on June 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:188 +msgid "" +"Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually " +"from June 21-30 (Mondays and Wednesdays only). You can find all the " +"papers that were discussed " +"[here](https://j3-fortran.org/doc/meeting/224). Highlights from the " +"meeting:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:189 +msgid "" +"Conditional expressions syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:190 +msgid "" +"Protected components specifications and syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-168.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:191 +msgid "" +"The generics feature planned for Fortran 202Y was discussed at depth " +"([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:192 +msgid "" +"Jeff Hammond (NVidia Corporation) is the new J3 member as a voting " +"alternate to Bryce Adelstein-Lelbach." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:193 +msgid "Target year for Fortran 202X is 2023, subject to change." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:195 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:197 +msgid "" +"Work has started for our Google Summer of Code program. You read about " +"our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:9 +msgid "" +"Welcome to the August 2021 edition of the monthly Fortran newsletter. The" +" newsletter comes out at the beginning of every month and details Fortran" +" news from the previous month." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:19 +msgid "" +"[#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): July " +"newsletter" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:21 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): Add " +"`convert_FORTRAN_case` formatter to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:23 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): Add " +"projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:25 +msgid "" +"[#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): PRs " +"script updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:27 +msgid "" +"[#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): " +"Installation process for GFortran on OpenBSD" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:29 +msgid "" +"[#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): Add " +"Flatiron institute multipole libraries to the package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:31 +msgid "" +"[#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): Small " +"fix in packages index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:33 +msgid "" +"[#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): Bump " +"addressable from 2.7.0 to 2.8.0" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:35 +msgid "" +"[#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): add " +"Apogee and Edinburgh compilers" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:37 +msgid "" +"[#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): Add " +"arrayfire-fortran to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:39 +msgid "" +"[#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): " +"compilers: use more objective tone" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:41 +msgid "" +"[#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): my " +"software with at least 5 stars" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:43 +msgid "" +"[#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): Fix " +"insecure workflow." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:58 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:38 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:66 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:44 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:37 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:46 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:37 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:37 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:43 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:61 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:47 +msgid "Here's what's new in stdlib:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:60 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436): implemented low-" +"level `replace_all` function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:62 +msgid "" +"[#454](https://github.com/fortran-lang/stdlib/pull/454): added " +"`stdlib_math` to specs/index.md" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:64 +msgid "" +"[#453](https://github.com/fortran-lang/stdlib/pull/453): implemented " +"count function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:66 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441): implemented pad " +"function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:68 +msgid "" +"[#456](https://github.com/fortran-lang/stdlib/pull/456): slice function's" +" documentation made user friendly" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:70 +msgid "" +"[#459](https://github.com/fortran-lang/stdlib/pull/459): Fix CMake " +"variable usage" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:72 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:74 +msgid "[#468](https://github.com/fortran-lang/stdlib/pull/468): Update CI" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:76 +msgid "" +"[#469](https://github.com/fortran-lang/stdlib/pull/469): CMake: " +"corrections and updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:78 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426): Addition of a " +"subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:80 +msgid "" +"[#474](https://github.com/fortran-lang/stdlib/pull/474): Bug fix: " +"Allocatable argument 'x' is not allocated #472" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:85 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): " +"[`stdlib_linalg`] Update eye function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:87 +msgid "" +"[#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): " +"[`stdlib_math`] Add seq function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:89 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[`stdlib_linalg`] Add zeros, ones, ex function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:91 +msgid "" +"[#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): " +"[`stdlib_linalg`] Add empty function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:93 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to character type with fypp" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:95 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:73 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:126 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:77 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:84 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:115 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:70 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:64 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:78 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:96 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:84 +msgid "" +"[#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): Error stop" +" improvements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:97 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): Revival " +"string list" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:99 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): " +"implemented `move_alloc` for `string_type`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:101 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"`stdlib_hash`: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:103 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:77 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:130 +msgid "" +"[#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): " +"Implementation of a map data type" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:105 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): [feature] " +"`disp`(display your data) & `format_string`(format other type to string, " +"see #444)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:107 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:139 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:110 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:160 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:104 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:110 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:137 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:90 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:84 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:98 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:116 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:106 +msgid "Here's what's new in fpm:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:141 +msgid "" +"[#507](https://github.com/fortran-lang/fpm/pull/507): optimize file " +"listing" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:143 +msgid "" +"[#511](https://github.com/fortran-lang/fpm/pull/511): check name used for" +" package, executable, test, or example" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:145 +msgid "" +"[#516](https://github.com/fortran-lang/fpm/pull/516): initialize " +"allocatable strings before using in a comparison" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:147 +msgid "[#517](https://github.com/fortran-lang/fpm/pull/517): Fix run" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:149 +msgid "" +"[#522](https://github.com/fortran-lang/fpm/pull/522): remove warnings and" +" fix truncated help text" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:151 +msgid "" +"[#523](https://github.com/fortran-lang/fpm/pull/523): Fix compilation " +"error in ifort" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:156 +msgid "" +"[#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): proposal to " +"close #525 by generating build/.gitignore" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:158 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): Add objects " +"for handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:160 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): expand tabs" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:162 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Draft: " +"initial implementation of `implicit_none`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:184 +msgid "Updates for July 2021:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:186 +msgid "" +"90 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" MRs, this month we have crossed 1000 total merged MRs, 12 total " +"contributors" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:187 +msgid "" +"Parser: we asked the community to test it, several people have reported " +"about 15 bugs, we have fixed all of them (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:189 +msgid "Initial fixed form parser (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:190 +msgid "Classes and class procedures (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:191 +msgid "Many common array usage now works, including allocatable (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:192 +msgid "Associate construct (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:193 +msgid "Compile time evaluation of constant expressions (ASR)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:194 +msgid "7 people contributed code:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:195 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:217 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:275 +msgid "Ondřej Čertík" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:196 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:218 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:278 +msgid "Thirumalai Shaktivel" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:197 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:220 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:276 +msgid "Gagandeep Singh" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:198 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:219 +msgid "Rohit Goswami" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:199 +msgid "Dominic Poerio" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:200 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:221 +msgid "Andrew Best" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:201 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:280 +msgid "Sebastian Ehlert" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:203 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)!" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:209 +msgid "" +"We had our 14th Fortran Monthly call on July 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:214 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The first call" +" for abstracts is due August 1, and the second is due September 1. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:219 +msgid "" +"Work is well under way started for our Google Summer of Code program. " +"Read about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:9 +msgid "" +"Welcome to the September 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:19 +msgid "" +"[#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): Add " +"NJOY to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:22 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:127 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:171 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:94 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:188 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:29 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:51 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:117 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:22 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:56 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:133 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:33 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:93 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:142 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:24 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:50 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:112 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:24 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:42 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:101 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:28 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:109 +msgid "Work in progress" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:24 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): " +"Update Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:26 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): " +"Add QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:40 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467): Implemented " +"move_alloc for string_type" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:42 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470): Revival string " +"list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:44 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481): [stdlib_linalg] " +"Update eye function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:46 +msgid "" +"[#493](https://github.com/fortran-lang/stdlib/pull/493): Update copyright" +" and remove old artifact" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:48 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444): Add " +"format_string routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:50 +msgid "" +"[#483](https://github.com/fortran-lang/stdlib/pull/483): Remove GCC " +"Fortran MinGW 8.4.0 from known to work list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:55 +msgid "" +"[#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): Minor " +"updates to README.md" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:57 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:114 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:65 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:74 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:59 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:116 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:76 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:61 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:118 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:63 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:120 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:71 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): Add " +"testing module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:65 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:122 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:73 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:80 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:113 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:68 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:62 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:76 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:94 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:82 +msgid "" +"[#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): Stdlib " +"linked list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:67 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:124 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:82 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:69 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[stdlib_linalg] Add zeros, ones function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:71 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:75 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:128 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"stdlib_hash: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:79 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): " +"[stdlib_io] `disp`(display your data)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:112 +msgid "" +"[Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0):" +" Alpha release update" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:114 +msgid "" +"[#546](https://github.com/fortran-lang/fpm/pull/546): Update version for " +"release 0.4.0" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:116 +msgid "" +"[#548](https://github.com/fortran-lang/fpm/pull/548): Fix build on " +"MacOS/ARM64" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:118 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527): Add objects for " +"handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:120 +msgid "" +"[#536](https://github.com/fortran-lang/fpm/pull/536): Always call `git " +"init` in fpm new when backfilling" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:122 +msgid "" +"[#533](https://github.com/fortran-lang/fpm/pull/533): Allow extra section" +" in package manifest" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:124 +msgid "" +"[#528](https://github.com/fortran-lang/fpm/pull/528): Generate " +"`build/.gitignore`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:129 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:194 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:123 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:139 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:152 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:126 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:109 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:123 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:141 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:125 +msgid "" +"[#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): Add parent " +"packages into dependency tree" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:131 +msgid "" +"[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): Expand tabs " +"in source parsing" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:133 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Initial " +"implementation of implicit_none" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:135 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:196 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:125 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:141 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:154 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:128 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:111 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:125 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:143 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:127 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Compiler " +"flags profiles" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:151 +msgid "FFTPACK" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:153 +msgid "" +"Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík " +"([@certik](https://github.com/certik)) started maintaining the public " +"domain project FFTPACK under the Fortran-lang namespace. The project is " +"readily available for usage in with fpm." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:156 +msgid "Here is what is new in FFTPACK:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:158 +msgid "" +"[#10](https://github.com/fortran-lang/fftpack/pull/10): Add " +"`(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:160 +msgid "" +"[#7](https://github.com/fortran-lang/fftpack/pull/7): Add " +"`dzffti/dzfftf/dzfftb` interfaces" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:162 +msgid "" +"[#4](https://github.com/fortran-lang/fftpack/pull/4): Improve fft " +"interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:164 +msgid "" +"[#6](https://github.com/fortran-lang/fftpack/pull/6): Add " +"`(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:166 +msgid "" +"[#5](https://github.com/fortran-lang/fftpack/pull/5): Add " +"`fftshift/ifftshift`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:168 +msgid "[#3](https://github.com/fortran-lang/fftpack/pull/3): Add CI: fpm.yml" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:173 +msgid "" +"[#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): Add " +"`(i)dct/dcosti/dcost` interfaces." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:176 +msgid "Feedback and ideas for this project are welcome." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:180 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:219 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:148 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:163 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:175 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:153 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:134 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:146 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:164 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:148 +msgid "Flang" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:223 +msgid "New Driver and CMake integration:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:185 +msgid "The new driver has replaced the old, hence f18 has been deleted." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:186 +msgid "" +"flang-new (aka. the new driver) now drives the flang bash script before " +"an external compiler is called." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:187 +msgid "Code-generation work is ongoing." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:188 +msgid "" +"Work is now proceeding to enable CMake to recognize the compiler and set " +"the appropriate options for build configurations." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:190 +msgid "" +"Fortran 95 lowering and runtime support is nearing completion, " +"particularly of intrinsics" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:191 +msgid "Code upstreaming will begin again in earnest once F95 is deemed complete" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:193 +msgid "Nesting of region semantic checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:194 +msgid "enter_data MLIR to LLVM IR lowering" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:195 +msgid "Semantic checks for allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:196 +msgid "Lowering for various modifiers for the schedule clause" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:197 +msgid "Pretty printer and parser for omp.target operation" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:198 +msgid "Semantic checks for linear, nested barrier, allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:199 +msgid "Progress with firstprivate, critical, collapse, ordered, reduction" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:200 +msgid "Lift -Werror checks into local functions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:201 +msgid "Document the flang wrapper script" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:202 +msgid "Fix the extent calculation when upper bounds are less than lower bounds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:203 +msgid "Fix list-directed plural repeated null values at end of record" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:204 +msgid "Fix build failure on MacOS involving std::clock_t" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:205 +msgid "Fix error messages on Windows." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:206 +msgid "Disable Plugins in out-of-tree builds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:207 +msgid "Correct off-by-one error in SET_EXPONENT" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:209 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:265 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:216 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:212 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:267 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:194 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:249 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:235 +msgid "" +"Call notes are recorded and available upon request " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-" +"Holby at aperry@lanl.gov for document access." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:213 +msgid "" +"168 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in August 2021" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:216 +msgid "The following people have contributed code to LFortran in August:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:222 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:277 +msgid "Carlos Une" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:223 +msgid "Sebastian Ehlert got LFortran working with fpm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:224 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:282 +msgid "Many people have reported bugs (thank you all!)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:225 +msgid "" +"Our 3 Google Summer of Code (GSoC) students have successfully finished " +"their projects. Here are their final reports:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:227 +msgid "" +"Gagandeep Singh: " +"[https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:228 +msgid "" +"Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-" +"Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com" +"/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:229 +msgid "" +"Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-" +"reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:231 +msgid "LFortran 0.12.0 was released on August 15" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:233 +msgid "Changes since the last release." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:235 +msgid "Fixed all issues in the parser that were reported (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:236 +msgid "multiple loop single end do" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:237 +msgid "arithmetic if" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:238 +msgid "" +"Comments and empty lines are now represented in AST and formatted " +"correctly (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:239 +msgid "" +"The formatter (`lfortran fmt`) now uses the minimal amount of parentheses" +" in expressions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:240 +msgid "Initial fixed-form parser (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:241 +msgid "Initial class support (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:242 +msgid "Allocate / deallocate, allocatable arrays (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:243 +msgid "Associate block (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:244 +msgid "Runtime library refactoring (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:245 +msgid "Split into builtin, pure and impure" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:246 +msgid "`iso_fortran_env`, `iso_c_binding` intrinsic modules added" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:247 +msgid "Compile time evaluation (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:249 +msgid "Commits (`git shortlog -ns v0.11.0..v0.12.0`):" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:260 +msgid "Updates in master since the last release:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:262 +msgid "LFortran can now compile binaries on Windows" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:263 +msgid "C interoperation works on all platforms (including Windows and MSVC)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:264 +msgid "Runtime library improvements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:265 +msgid "Complex intrinsics fixed on all platforms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:266 +msgid "" +"All trigonometric functions now use the Fortran `impure` interface in the" +" runtime library" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:267 +msgid "More intrinsics implemented" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:268 +msgid "Initial implementation of classes and methods" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:269 +msgid "" +"LFortran now works with `fpm` and compiles the hello world project and a " +"few other example projects" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:270 +msgid "Parser improvements: team and sync statements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:271 +msgid "" +"Improved handling of character types as function arguments and return " +"values" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:274 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)! We would be happy to do a " +"video call with you to get you started." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:281 +msgid "" +"We had our 15th Fortran Monthly call on August 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:285 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The second " +"call for abstracts is due September 1. For more information, visit the " +"[FortranCon website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:290 +msgid "" +"Our Google Summer of Code program for 2021 is coming to a close. Read " +"about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:310 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:324 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:266 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:261 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:318 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:281 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:297 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:272 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:394 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:500 +msgid "[fortran-lang/fftpack](https://github.com/fortran-lang/fftpack)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:9 +msgid "" +"Welcome to the October 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:19 +msgid "" +"[#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): " +"September newsletter draft" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:21 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): Add " +"QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:23 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): Update" +" Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:25 +msgid "" +"[#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): Fixed " +"typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:27 +msgid "" +"[#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): remove" +" excess 'mpi' tag from fortran2018-examples" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:29 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:31 +msgid "" +"[#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): " +"grammar and spelling from issue #313" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:33 +msgid "" +"[#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): more " +"grammar, spelling, and rewording for Fortran Best Practices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:35 +msgid "" +"[#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): " +"replaced \"be found be found\" with \"be found\"" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:37 +msgid "" +"[#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): " +"Alternative approach to avoiding integer division" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:39 +msgid "" +"[#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): Add " +"incompact3d to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:41 +msgid "" +"[#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): Add " +"fparser to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:43 +msgid "" +"[#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): Adding" +" two more packages to the index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:45 +msgid "" +"[#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): Add " +"pFlogger to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:47 +msgid "" +"[#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): One " +"more package" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:52 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:68 +msgid "[#509](https://github.com/fortran-lang/stdlib/pull/509): fixed typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:70 +msgid "" +"[#503](https://github.com/fortran-lang/stdlib/pull/503): refactor " +"documentation regarding consistency" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:72 +msgid "" +"[#511](https://github.com/fortran-lang/stdlib/pull/511): Correctly set " +"CMAKE_INSTALL_MODULEDIR cache variable" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:74 +msgid "" +"[#513](https://github.com/fortran-lang/stdlib/pull/513): Update issue " +"templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:76 +msgid "" +"[#523](https://github.com/fortran-lang/stdlib/pull/523): Rename " +"config.yaml -> config.yml" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:78 +msgid "" +"[#508](https://github.com/fortran-lang/stdlib/pull/508): github-ci: add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:80 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475): Generating " +"sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:82 +msgid "" +"[#525](https://github.com/fortran-lang/stdlib/pull/525): Add files " +"generated by tests to gitignore" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:84 +msgid "" +"[#529](https://github.com/fortran-lang/stdlib/pull/529): Add maintainer " +"entry to fpm manifest" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:86 +msgid "" +"[#530](https://github.com/fortran-lang/stdlib/pull/530): Make it clearer " +"how the user can control compiler optimization" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:88 +msgid "" +"[#528](https://github.com/fortran-lang/stdlib/pull/528): Reduce " +"redundancy caused by optional arguments" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:90 +msgid "" +"[#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) " +"(`stdlib-cmake-example`): Add example integration with test-drive" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:96 +msgid "" +"[#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): Fix string" +" concat" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:98 +msgid "" +"[#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): Add " +"function gcd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:100 +msgid "" +"[#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): Bump " +"stdlib version to 0.1.0" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:102 +msgid "" +"[#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): Add a " +"changelog for the current features of stdlib" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:104 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:57 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:66 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:105 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:60 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:54 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:86 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:74 +msgid "" +"[#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): Fix " +"conversion warnings" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:106 +msgid "" +"[#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): Ensure " +"module output directory is generated in configure stage" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:108 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display your data)." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:110 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:70 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:109 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:64 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:58 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:72 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:90 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:78 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC_TEMPLATE.md #504" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:112 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:63 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:72 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:111 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:66 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:60 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:74 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:92 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:80 +msgid "" +"[#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): pop, drop " +"& get with basic range feature for stringlist" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:162 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521): expand tabs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:164 +msgid "" +"[#557](https://github.com/fortran-lang/fpm/pull/557): Update installer " +"script to update subprojects first" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:166 +msgid "[#558](https://github.com/fortran-lang/fpm/pull/558): Add issue templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:168 +msgid "" +"[#565](https://github.com/fortran-lang/fpm/pull/565): Default branch " +"renaming aftermath" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:170 +msgid "" +"[#562](https://github.com/fortran-lang/fpm/pull/562): Add new " +"distributions where fpm is available to README" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:172 +msgid "" +"[#563](https://github.com/fortran-lang/fpm/pull/563): Add workflow to " +"create single source fpm version" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:174 +msgid "" +"[#564](https://github.com/fortran-lang/fpm/pull/564): Separate upload " +"stage in CI testing" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:176 +msgid "" +"[#572](https://github.com/fortran-lang/fpm/pull/572): Build no tests by " +"default" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:178 +msgid "" +"[#549](https://github.com/fortran-lang/fpm/pull/549): Allow setting, " +"archiver, C compiler flags and linker flags from commandline" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:180 +msgid "" +"[#578](https://github.com/fortran-lang/fpm/pull/578): help text was " +"truncated" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:182 +msgid "" +"[#579](https://github.com/fortran-lang/fpm/pull/579): Fix dir not getting" +" removed after testing fpm" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:184 +msgid "" +"[#584](https://github.com/fortran-lang/fpm/pull/584): Actually read " +"environment variables" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:190 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): Enable " +"multiple build output directories" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:192 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:121 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): Add workflow " +"for continuous delivery" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:224 +msgid "" +"flang-omp-report plugin - first full fledged frontend plugin has been " +"contributed" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:225 +msgid "CMake integration - waiting on a new PR" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:226 +msgid "" +"Code-generation work is ongoing - task list has been presented to the " +"community for discussion and approval" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:228 +msgid "Fortran 95 lowering and runtime support is nearing completion" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:229 +msgid "Code upstreaming has begun again" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:231 +msgid "Merged: Critical, collapse clause, Fixes for SNAP." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:232 +msgid "" +"In review: Firstprivate, Ordered, MLIR definitions for a few target side " +"constructs, semantic checks for atomic, critical, sections, simd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:233 +msgid "OpenMP 5.0 metadirective" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:235 +msgid "Change complex type define in runtime for clang-cl" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:236 +msgid "Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:237 +msgid "" +"GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, " +"STATUS and ERRMSG parameters." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:238 +msgid "COMMAND_ARGUMENT_COUNT runtime implementation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:239 +msgid "Add POSIX implementation for SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:240 +msgid "Fix WRITE after BACKSPACE on variable-length file" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:241 +msgid "Implement Posix version of DATE_AND_TIME runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:242 +msgid "Ported test scripts to Python, enables testing on Windows" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:243 +msgid "More precise checks for NULL() operands" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:244 +msgid "Enforce array conformance in actual arguments to ELEMENTALs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:245 +msgid "" +"Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, " +"UNPACK, and TRANSPOSE" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:246 +msgid "Make this_image() an intrinsic function" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:247 +msgid "Revamp C1502 checking of END INTERFACE [generic-spec]" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:248 +msgid "Accept SIZE(assumed-rank, DIM=n)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:249 +msgid "Validate SIZE(x,DIM=n) dimension for assumed-size array x" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:250 +msgid "Catch errors with intrinsic array inquiry functions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:251 +msgid "Correct overflow detection in folding of real->integer conversions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:252 +msgid "Upgrade warning to error in case of PURE procedure" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:253 +msgid "Enforce fixed form rules about END continuation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:254 +msgid "Enforce specification function rules on callee, not call" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:255 +msgid "Catch error: base of DATA statement object can't be a pointer" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:256 +msgid "Represent parentheses around derived types" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:257 +msgid "Enforce constraint: defined ass't in WHERE must be elemental" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:258 +msgid "Catch branching into FORALL/WHERE constructs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:259 +msgid "Implement semantic checks for ELEMENTAL subprograms" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:260 +msgid "Signal EOR in non advancing IO and move to next record" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:261 +msgid "Extension: reduced scope for some implied DO loop indices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:262 +msgid "Take result length into account in ApplyElementwise folding" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:263 +msgid "Apply double precision KindCode in specific proc interface" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:269 +msgid "" +"81 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in September 2021" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:272 +msgid "" +"LFortran Minimum Viable Product (MVP) " +"[released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-" +"product-mvp/)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:273 +msgid "LFortran 0.13.0, 0.13.1 and 0.14.0 released in September" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:274 +msgid "The following people have contributed code to LFortran in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:279 +msgid "Harris M. Snyder" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:281 +msgid "Mengjia Lyu" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:283 +msgid "Main features implemented in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:284 +msgid "Operator overloading (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:285 +msgid "Goto (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:286 +msgid "Runtime library improvements: `iand`, `len`, `trim`, `len_trim`" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:287 +msgid "" +"Interactive mode: get complex numbers, intrinsic functions working " +"(Windows, macOS, Linux)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:289 +msgid "New driver options: --fast, --symtab-only, --target" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:292 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:227 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:228 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:281 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:247 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:259 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:367 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:468 +msgid "" +"We are looking for new contributors. Please do not hesitate to contact us" +" if you are interested. We will help you get up to speed." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:298 +msgid "" +"We had our 16th Fortran Monthly call on September 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:302 +msgid "" +"The second international Fortran Conference (FortranCon) 2021 was held " +"virtually on September 23-24 Video recordings of the talks will be made " +"available soon. For more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:9 +msgid "" +"Welcome to the November 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:20 +msgid "" +"[#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): Fix " +"title in learning resources" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:22 +msgid "" +"[#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): Add " +"Cantera to package index" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:24 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:26 +msgid "" +"[#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): Minor " +"fixes in Best Practices" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:46 +msgid "" +"[0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): " +"Initial version of the Fortran standard library" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:48 +msgid "[#543](https://github.com/fortran-lang/stdlib/pull/543): Fix string concat" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:53 +msgid "" +"[#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): Hash " +"functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:55 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): Fix bug in" +" stringlist" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:59 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib\\_io] add `disp` (display your data)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:61 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC\\_TEMPLATE.md" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:67 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib\\_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:69 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib\\_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:75 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib\\_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:106 +msgid "" +"[#597](https://github.com/fortran-lang/fpm/pull/597): Add LFortran " +"optimization flag to release profile" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:108 +msgid "" +"[#595](https://github.com/fortran-lang/fpm/pull/595): List names without " +"suffix (mainly for Windows)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:110 +msgid "" +"[#590](https://github.com/fortran-lang/fpm/pull/590): Change link command" +" on Windows with `ifort` or `ifx`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:112 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575): Enable multiple " +"build output directories" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:114 +msgid "" +"[#587](https://github.com/fortran-lang/fpm/pull/587): Bootstrapping " +"instructions version update" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:119 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): Update " +"README.md compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:132 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:147 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/main/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:153 +msgid "Front-end and runtime support for CALL EXIT and ABORT" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:154 +msgid "Fix formatted real input regression w/ spaces" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:155 +msgid "Add runtime interface for GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:156 +msgid "More work on SYSTEM_CLOCK runtime API and implementation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:157 +msgid "Implement GET_ENVIRONMENT_VARIABLE(LENGTH)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:159 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for sections " +"construct and test case for simd construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:160 +msgid "" +"Added test case for OpenMP 5.0 specification based semantic checks for " +"parallel sections construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:161 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for CRITICAL " +"construct name resolution" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:162 +msgid "Checks for THREADPRIVATE and DECLARE TARGET Directives" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:163 +msgid "Initial parsing/sema for append_args clause for 'declare variant'" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:164 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:170 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:179 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:157 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:138 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:150 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:168 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:150 +msgid "FIR" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:165 +msgid "" +"Add typeparams to fir.array_update, fir.array_fetch and " +"fir.array_merge_store operations. Add optional slice operands to " +"fir.array_merge_store op." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:166 +msgid "" +"Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, " +"fir.alloca, fir.field_index, fir.freemem, fir.store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:167 +msgid "" +"Move the parsers, printers and builders from the TableGen file to the " +".cpp file" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:168 +msgid "Update fir.alloca op - Add pinned attributes and specific builders" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:169 +msgid "Add ops: fir.char_convert and fir.array_modify" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:170 +msgid "" +"Add passes: external name interop, affine promotion, affine demotion, " +"character conversion, abstract result conversion, cfg conversion" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:171 +msgid "Add fir.convert canonicalization patterns" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:172 +msgid "Add the DoLoopHelper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:173 +msgid "Add IfBuilder and utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:174 +msgid "Add FIRBuilder utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:175 +msgid "Add character utility functions in FIRBuilder" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:176 +msgid "Add Character helper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:177 +msgid "Add utility function to FIRBuilder and MutableBox" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:178 +msgid "Add substring to fir.slice operation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:179 +msgid "" +"Avoid slice with substr in fir.array_load, fir.array_coor and " +"fir.array_merge_store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:180 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:185 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:193 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:196 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:153 +msgid "Driver" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:181 +msgid "Error if uuidgen is not installed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:182 +msgid "Fix erroneous `&`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:183 +msgid "Add actions that execute despite semantic errors" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:184 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:192 +msgid "flang-omp-report" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:185 +msgid "replace std::vector's with llvm::SmallVector" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:186 +msgid "Switch from std::string to StringRef (where possible)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:187 +msgid "replace std::map with llvm::DenseMap" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:188 +msgid "Make builtin types more easily accessible; use them" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:189 +msgid "Fix test regression from SQRT folding" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:190 +msgid "Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:191 +msgid "Take into account SubprogramDetails in GetInterfaceSymbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:192 +msgid "Add debug dump method to evaluate::Expr and semantics::Symbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:193 +msgid "Add a wrapper for Fortran main program" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:194 +msgid "Improve runtime interface with C99 complex" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:195 +msgid "Better error recovery for missing THEN in ELSE IF" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:196 +msgid "Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:197 +msgid "Catch mismatched parentheses in prescanner" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:198 +msgid "Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:199 +msgid "Document behavior for nonspecified/ambiguous cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:200 +msgid "Add two negative tests for needExternalNameMangling" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:201 +msgid "Expunge bogus semantic check for ELEMENTAL without dummies" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:202 +msgid "Admit NULL() in generic procedure resolution cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:203 +msgid "Fix bogus folding error for ISHFT(x, negative)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:204 +msgid "Emit unformatted headers & footers even with RECL=" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:205 +msgid "Enforce rest of semantic constraint C919" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:206 +msgid "Extension to distinguish specific procedures" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:207 +msgid "Support NAMELIST input of short arrays" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:208 +msgid "Fix generic resolution case" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:209 +msgid "Speed common runtime cases of DOT_PRODUCT & MATMUL" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:210 +msgid "Fix crash on empty formatted external READs" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:211 +msgid "Extension: allow tabs in output format strings" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:212 +msgid "Fix DOT_PRODUCT for logical" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:213 +msgid "Fix NAMELIST input bug with multiple subscript triplets" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:214 +msgid "Support legacy usage of 'A' edit descriptors for integer & real" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:220 +msgid "155 Merge Requests merged in October 2021" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:221 +msgid "AST to ASR transformation simplified and unified" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:222 +msgid "Many new intrinsics added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:223 +msgid "Rust style error messages, add first warnings and style suggestions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:224 +msgid "Fixed bugs in location information" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:225 +msgid "C preprocessor added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:233 +msgid "We have adopted two new Fortran-lang guidelines:" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:234 +msgid "" +"[Governance document](https://github.com/fortran-" +"lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang " +"projects are managed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:235 +msgid "" +"[Administration, moderation, and editing guide](https://fortran-" +"lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-" +"and-editing-3) for Fortran Discourse Both documents are part of an effort" +" to increase transparency between Fortran-lang administrators and the " +"rest of the community." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:237 +msgid "" +"The US Fortran Standards Committee (J3) held the meeting 225 October " +"18-27, 2021. The meeting was virtual and on Mondays and Wednesdays only. " +"Discussions focused on resolving any outstanding issues to the Fortran " +"202X features. Here are the links to the meeting " +"[agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), " +"[minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), and " +"[papers](https://j3-fortran.org/doc/meeting/225). See also the [Fortran-" +"lang and LFortran liaison report to " +"J3](https://j3-fortran.org/doc/year/21/21-206.txt) submitted by Ondřej " +"Čertík and Milan Curcic." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:245 +msgid "" +"We had our 19th Fortran Monthly call on October 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:9 +msgid "" +"Welcome to the December 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:17 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:18 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:17 +msgid "Here's what's new and ongoing in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:19 +msgid "" +"[#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): Fix " +"typo in author field" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:24 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:35 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:26 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:26 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:32 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:50 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:36 +msgid "" +"[#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): " +"Fortran Intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:39 +msgid "" +"[#558](https://github.com/fortran-lang/stdlib/pull/558): Pin specific fpm" +" version" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:41 +msgid "" +"[#556](https://github.com/fortran-lang/stdlib/pull/556): fix some FORD " +"links" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:43 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494): Add testing " +"module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:45 +msgid "" +"[#562](https://github.com/fortran-lang/stdlib/pull/562): Minor update " +"`pure/elemental` in `string_type` module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:47 +msgid "" +"[#565](https://github.com/fortran-lang/stdlib/pull/565): Make support for" +" quadruple precision optional" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:49 +msgid "" +"[#566](https://github.com/fortran-lang/stdlib/pull/566): Create a call " +"for reviewers pull request template" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:51 +msgid "" +"[#578](https://github.com/fortran-lang/stdlib/pull/578): Update error in " +"case fypp preprocessor is not found" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:53 +msgid "" +"[#579](https://github.com/fortran-lang/stdlib/pull/579): Add module for " +"handling version information of stdlib" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:58 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): Add " +"routines for saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:60 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:101 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:56 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:50 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:64 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:82 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:70 +msgid "" +"[#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): Add " +"terminal and color escape sequences" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:62 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): Revised " +"Hash functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:64 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:103 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:58 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:52 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:66 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:84 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:72 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): fixed bug " +"in stringlist" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:68 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:107 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:62 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:70 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:88 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:76 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display variable values formatted)." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:112 +msgid "" +"[v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): Alpha " +"release update" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:114 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598): Update README.md " +"compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:116 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569): Add workflow for " +"continuous delivery" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:118 +msgid "" +"[#602](https://github.com/fortran-lang/fpm/pull/602): fix(fpm_compiler): " +"intel windows release flag was incorrect" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:120 +msgid "" +"[#607](https://github.com/fortran-lang/fpm/pull/607): Repair --list " +"option and correct obsolete descriptions of the --list option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:122 +msgid "" +"[#612](https://github.com/fortran-lang/fpm/pull/612): Fix modules listing" +" (for install)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:124 +msgid "" +"[#613](https://github.com/fortran-lang/fpm/pull/613): Add: critical " +"section to mkdir in backend" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:126 +msgid "" +"[#616](https://github.com/fortran-lang/fpm/pull/616): Add: workflow to " +"make installer on push and release" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:128 +msgid "" +"[#614](https://github.com/fortran-lang/fpm/pull/614): Bump version to " +"0.5.0" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:130 +msgid "" +"[setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): Fix " +"Latest Option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:135 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:148 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:122 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): Cleanup the " +"backend output" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:137 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:150 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:124 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:107 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:121 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:139 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:123 +msgid "" +"[#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): --env switch " +"lets you specify the prefix of the compiler-related environment variables" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:168 +msgid "Use the ultimate symbol in a call to the IsPointer function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:169 +msgid "Add parsing/sema/serialization for 'bind' clause." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:171 +msgid "Add base of the FIR to LLVM IR pass" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:172 +msgid "Add various FIR to LLVM IR conversion patterns:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:173 +msgid "fir.unreachable" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:174 +msgid "fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:175 +msgid "fir.zero_bits" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:176 +msgid "fir.select and fir.select_rank" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:177 +msgid "fir.extract_value and fir.insert_value" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:178 +msgid "types - fir.box, fir.logical, fir.char, fir.ptr" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:179 +msgid "fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:180 +msgid "fir.convert" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:181 +msgid "fir.call" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:182 +msgid "fir.store and fir.load" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:183 +msgid "Add substr information to fircg.ext_embox and fircg.ext_rebox operations" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:184 +msgid "Use notifyMatchFailure in fir.zero_bits conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:185 +msgid "Restrict array type on fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:186 +msgid "Add test for FIR types conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:187 +msgid "Use contralized values for indexing box" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:188 +msgid "Add complex operations conversion from FIR LLVM IR" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:189 +msgid "Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:191 +msgid "Read environment variables directly" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:193 +msgid "Removed unnecessary comments in flang-omp-report plugin tests" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:194 +msgid "Remove the loop workarounds for nowait clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:195 +msgid "Add flang-omp-report summarising script" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:196 +msgid "Checks for pointers to intrinsic functions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:197 +msgid "Fold SPREAD" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:198 +msgid "Improve error message for misuse of NULL(mold) as data statement constant" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:199 +msgid "Fix crash on \"call system_clock(count_max=j)\"" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:200 +msgid "Fix combined folding of FINDLOC/MAXLOC/MINLOC" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:201 +msgid "Implement GET_ENVIRONMENT_VARIABLE(VALUE)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:202 +msgid "" +"Remove builder that takes SSA value instead of Attribute on " +"ExtractValueOp, InsetValueOp, and InsertOnRangeOp" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:203 +msgid "Remove getModel in DescriptorModel.h" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:204 +msgid "Set the addendum when establishing pointer section in descriptor" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:205 +msgid "Fix error in characteristics check at procedure pointer assignment" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:206 +msgid "Initial parsing/sema for 'align' clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:207 +msgid "Don't reference non-invariant symbols in shape expressions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:208 +msgid "Make subscript list argument a nullable pointer" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:209 +msgid "Distinguish error/warning cases for bad jumps into constructs" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:210 +msgid "Fix folding of EPSILON()" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:216 +msgid "32 Merge Requests merged in November 2021" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:217 +msgid "Support for same name interface and subroutine/function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:218 +msgid "Compile-time evaluation for bit intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:219 +msgid "Implement the `repeat` and `shape` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:220 +msgid "Variadic support for `min` and `max` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:221 +msgid "Implement the scalar `random_number` function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:222 +msgid "Fixes and improved error message for `read` and `write` statements" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:223 +msgid "Support the `final`, `intrinsic`, and `private` attributes" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:224 +msgid "Implement the `ieee_arithmetic` intrinsic module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:225 +msgid "Support for the `abstract` class" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:226 +msgid "Support for `assignment(=)` on `use` statement" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:234 +msgid "" +"Sebastian Ehlert presented the Fortran Package Manager at the " +"PackagingCon 2021 conference. You can watch the recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:237 +msgid "" +"Recordings of all FortranCon 2021 presentations are now available to view" +" in the [FortranCon YouTube " +"Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +" Enjoy!" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:240 +msgid "" +"We had our 20th Fortran Monthly call on November 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:9 +msgid "" +"With another year behind us, let's review the progress that the Fortran-" +"lang community has made. If you're new to Fortran-lang, here's a quick " +"intro: We're an open source community that aims to develop modern Fortran" +" tooling and nurture a rich ecosystem of libraries, as well as to provide" +" a friendly, helpful, and inclusive space for newcomers and experienced " +"Fortran programmers to work together. We started in late 2019 and have " +"been going ever since. If you're first discovering (or re-discovering) " +"Fortran through this article, welcome, and we hope it inspires you to try" +" Fortran for one of your projects. In this article we summarize new " +"developments from 2021, from flagship and new projects to community " +"development and outreach." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:24 +msgid "Standard Library (stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:26 +msgid "" +"To date, [33 people](https://github.com/fortran-" +"lang/stdlib/graphs/contributors) have contributed code to stdlib, and " +"more than 100 people have participated in discussions. More than a dozen " +"new modules have been added in 2021:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:31 +msgid "" +"`stdlib_array`: Provides `trueloc` and `falseloc` which allow you to " +"index an array based on a logical condition in a functional style" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:33 +msgid "`stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:34 +msgid "`stdlib_math`: Provides a number of common mathematical functions" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:35 +msgid "`stdlib_random`: Pseudo-random integer number generation" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:36 +msgid "" +"`stdlib_selection`: Selection procedures for selecting elements from an " +"array given a desired range" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:38 +msgid "" +"`stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm " +"and introsort by David Musser" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:40 +msgid "" +"`stdlib_specialfunctions`: Provides the Legendre function and its " +"derivative in support of the Gaussian quadrature procedures" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:42 +msgid "" +"`stdlib_stats_distribution_normal`: Functions to sample values from a " +"normal distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:44 +msgid "" +"`stdlib_stats_distribution_uniform`: Functions to sample values from a " +"uniform distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:46 +msgid "" +"`stdlib_string_type`: Provides a `string_type` derived type that " +"alleviates some limitations of the variable-length `character` variables." +" `string_type` is compatible with all intrinsic procedures that operate " +"on `character`." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:49 +msgid "" +"`stdlib_stringlist_type`: A derived type that is a 1-dimensional list of " +"strings" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:51 +msgid "" +"`stdlib_strings`: Provides a number of inquiry and manipulation " +"procedures that complement the intrinsic set" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:53 +msgid "`stdlib_version`: Allows querying the version of the stdlib library build" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:55 +msgid "" +"which brings us to a total of 23 modules in stdlib. You can read about " +"these modules in more detail on the [stdlib API docs " +"website](https://stdlib.fortran-lang.org)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:59 +msgid "" +"Besides the new modules, procedures, and derived types, there have been a" +" few key improvements in terms of stdlib delivery:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:62 +msgid "" +"You can now use stdlib as a dependency in your fpm projects, see " +"[here](https://github.com/fortran-lang/stdlib#build-with-fortran-" +"langfpm). This significantly lowers the bar for getting started with " +"stdlib." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:65 +msgid "" +"We had our first stdlib release (0.1.0) on October 4. As of now we don't " +"have a set release schedule, and plan to publish a new release when there" +" is significant new functionality. As stdlib matures and becomes more " +"widely used, we expect releases to become more frequent." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:70 +msgid "" +"We now maintain a [change log](https://github.com/fortran-" +"lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is " +"documented. This is a useful document to reference when you want to know " +"what's been added to the stdlib since the latest release." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:75 +msgid "" +"If you haven't tried stdlib yet, please do and let us know what you think" +" and how we can improve it. Our vision for stdlib is to provide basic " +"utilities that most Fortran projects use, as well as wider numerical " +"capabilities with the scope of NumPy and SciPy." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:80 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:82 +msgid "" +"Fortran Package Manager (fpm) is the package manager and build system for" +" Fortran. Its key goal is to make developing, distributing, and reusing " +"Fortran libraries and applications as easy and as fun as possible. In " +"2020, the big change for fpm was the transition from the prototype " +"implemented in Haskell to a pure Fortran implementation. Fpm has since " +"been used in increasingly more and ever larger Fortran projects." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:90 +msgid "" +"To date, [22 people](https://github.com/fortran-" +"lang/fpm/graphs/contributors) have contributed code to fpm. In 2021 fpm " +"has advanced from v0.1.3 to v0.5.0. Key additions this year include " +"(release version in parentheses):" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:95 +msgid "CLI arguments for linker, archiver, and C compiler (0.5.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:96 +msgid "Support for MPI and LFortran (0.4.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:97 +msgid "" +"Support for installed library modules via `external-modules` in the " +"manifest (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:99 +msgid "Automatic discovery of manifest files in parent directories (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:100 +msgid "Support for reading package version from file (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:101 +msgid "Support for include directories (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:102 +msgid "Support for `--flag` CLI option to specify compiler flags (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:103 +msgid "" +"`fpm build --show-model` displays the internal representation of a " +"package (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:105 +msgid "Allow hyphen in new package names (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:106 +msgid "" +"`fpm new` now supports `--full` and `--bare` to specify level of " +"scaffolding (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:109 +msgid "Check out also these fpm plugins:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:111 +msgid "" +"[fpm-search](https://github.com/brocolis/fpm-search): Adds the `fpm " +"search` command for searching for registered fpm packages from the " +"command line." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:114 +msgid "" +"[fpm-man](https://github.com/urbanjost/fpm-man): Adds the `fpm man` " +"command for displaying man-style help pages about Fortran intrinsics and " +"other language features." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:118 +msgid "" +"At the time of writing, there are almost 200 projects now using fpm. If " +"you haven't tried fpm yet, please do! It has truly been a game-changing " +"tool for many of us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:122 +msgid "We have many ideas that we want to pursue, such as:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:124 +msgid "" +"First-class integration with other package managers such as Spack and " +"Conda" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:125 +msgid "First-class integration with build systems like CMake and Meson" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:126 +msgid "" +"Improving [fpm's package registry](https://github.com/fortran-lang/fpm-" +"registry), etc." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:128 +msgid "" +"We are always looking for new contributors. If any of these projects " +"interest you, please join us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:139 +msgid "" +"Though not technically a Fortran-lang project, " +"[LFortran](https://lfortran.org) has been growing close to the Fortran-" +"lang community and projects largely thanks to its creator and lead " +"developer [Ondřej Čertík](https://github.com/certik) also being one of " +"the founding members of Fortran-lang. LFortran has been developing " +"rapidly this year and was released as a [Minimum Viable Product " +"(MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-" +"mvp/) in September. LFortran currently parses all of Fortran 2018 and " +"compiles a significant subset of the language. 16 people have contributed" +" code so far, and many more have reported bugs or participated in " +"discussions. If you haven't tried LFortran yet, please do and let us know" +" how it can best improve for your use case. You can help speed up " +"LFortran's development by contributing code and/or documentation " +"directly, or by donating funds to the project via " +"[NumFOCUS](https://numfocus.org/project/lfortran)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:155 +msgid "" +"Follow LFortran on Twitter at " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:157 +msgid "fortran-lang.org, Discourse, and social media" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:159 +msgid "" +"A major addition to the Fortran website this year is the [Fortran Best " +"Practices mini-book](https://fortran-lang.org/learn/best_practices). This" +" is a port and an update to the well-known " +"[fortran90.org](https://www.fortran90.org) by [Ondřej " +"Čertík](https://github.com/certik). It provides a plethora of tips on how" +" to write simple and idiomatic Fortran for numerical tasks, and how to " +"avoid some common gotchas. Give it a read and let us know how it can be " +"improved." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:168 +msgid "" +"The [Fortran Discourse](https://fortran-lang.discourse.group) is as " +"active as ever, with new users joining daily. There are currently 338 " +"active users out of a total of 537 registered users. The Fortran " +"Discourse is a great place to ask for help with Fortran code, post a " +"Fortran job opening, and discuss anything Fortran-related." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:174 +msgid "" +"We also continue to release the monthly newsletter where we document the " +"progress month-by-month, as well as post about any notable events in the " +"Fortran world. This newsletter is a great way to stay up to date with " +"Fortran-lang. If you're also on Twitter, follow our account " +"[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news " +"and updates, as well as the new " +"[@FortranTip](https://twitter.com/FortranTip) account, managed by " +"[Beliavsky](https://github.com/beliavsky), which brings daily Fortran " +"tips to your Twitter feed." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:184 +msgid "" +"Finally, we meet on monthly video calls to discuss issues and topics " +"related to all Fortran-lang projects. The calls are advertised on Fortran" +" Discourse and are open to everyone. Don't hesitate to join the call to " +"meet other Fortran-lang participants and take part in different " +"discussions." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:189 +msgid "New projects" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:191 +msgid "" +"In addition to the flagship projects summarized above, a few new projects" +" started or were adopted by Fortran-lang this year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:194 +msgid "fftpack" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:196 +msgid "" +"[fftpack](https://github.com/fortran-lang/fftpack) is a classic " +"collection of subroutines to perform the Fast Fourier Transform on real " +"and complex data. It is based on the classic [FFTPACK library from " +"Netlib](http://www.netlib.org/fftpack/). fftpack was adopted by Fortran-" +"lang in an effort to provide:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:202 +msgid "A community-maintained FFT library" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:203 +msgid "Bug fixes to the existing codebase" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:204 +msgid "Modern interfaces on top of the existing API" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:205 +msgid "fpm package for easy use as a dependency." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:207 +msgid "test-drive" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:209 +msgid "" +"[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and" +" easy-to-use testing framework developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). It follows a simple functional style " +"to collect and run your tests in parallel and print a minimal and clean " +"diagnostic printout to the standard output. Test-drive is currently used" +" by both stdlib and fpm for their own test suites. Give test-drive a test" +" drive for your next Fortran project!" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:217 +msgid "fpm-docs" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:219 +msgid "" +"[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user " +"documentation website for fpm, developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). Its key aim is to provide community-" +"maintained documentation across four target audiences/use cases:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:225 +msgid "**Tutorials**: for learning how to use fpm for Fortran development" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:226 +msgid "**How-to guides**: recipes for specific and concrete problems" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:227 +msgid "" +"**Design documents**: resources that document the design of various " +"aspects of fpm" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:229 +msgid "**References**: specification documents of fpm components" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:237 +msgid "" +"As the fpm user docs are now hosted at [fpm.fortran-lang.org](https://fpm" +".fortran-lang.org), the API docs are now located at [fortran-" +"lang.github.io/fpm/](https://fortran-lang.github.io/fpm/)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:241 +msgid "Google Summer of Code 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:243 +msgid "" +"2021 has been the first year for Fortran-lang to participate in the " +"[Google Summer of Code](https://summerofcode.withgoogle.com/) program. " +"Together with NumFOCUS and LFortran, Fortran-lang had six students who " +"worked on a variety of projects:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:248 +msgid "" +"[Aman Godara](https://github.com/Aman-Godara) (Improving strings in " +"stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:249 +msgid "[Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:250 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables " +"in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:251 +msgid "[Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:252 +msgid "[Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:253 +msgid "" +"[Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST " +"generation in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:255 +msgid "" +"You can read in more detail about their projects " +"[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:258 +msgid "" +"A big thank you to all students, mentors, and administrators, for their " +"great work, and of course, to the Google Summer of Code program for " +"making possible for students to participate." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:262 +msgid "" +"We plan to apply for Google Summer of Code in 2022 as well. The program " +"is no longer limited to students and anybody 18 or older can apply to " +"work on an open source project and get paid for it. If you're interested " +"participating in the program in 2022 with Fortran-lang, don't hesitate to" +" contact us and we'll guide you toward applying." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:268 +msgid "Conferences and papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:270 +msgid "FortranCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:272 +msgid "" +"Like in 2020, the Fortran event of this year was [FortranCon " +"2021](https://tcevents.chem.uzh.ch/event/14/), the international Fortran " +"conference, held on September 23-24. The keynote speaker this year was " +"[Damian Rouson](https://github.com/rouson), the head of the [Computer " +"Languages and Systems Software " +"(CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/)" +" group at the Lawrence Berkeley National Lab. Fortran-lang had a " +"dedicated session (a Fortran-lang minisymposium) on the second day of the" +" conference, with the talks about specific Fortran-lang projects as well " +"as the Google Summer of Code student presentations. FortranCon was hosted" +" at the University of Zurich (UZH), and organized by [Tiziano " +"Müller](https://github.com/dev-zero) from UZH and [Alfio " +"Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. " +"You can watch all FortranCon 2021 talks " +"[here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:287 +msgid "PackagingCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:289 +msgid "" +"Another big event for Fortran-lang was [PackagingCon 2021](https" +"://packaging-con.org/), a conference dedicated to package management " +"software and its community of developers. [Sebastian " +"Ehlert](https://github.com/awvwgk) presented fpm--you can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:299 +msgid "Papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:301 +msgid "" +"This year two papers have been written about Fortran-lang projects. The " +"first paper documents the motivation and goals of Fortran-lang: \"Toward " +"Modern Fortran Tooling and a Thriving Developer Community\" by Milan " +"Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, Laurence " +"Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas " +"([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382))." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:314 +msgid "" +"If Fortran-lang has been helpful in your work and if you want to cite " +"this paper, here's the citation info:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:333 +msgid "" +"We have also submitted a paper draft to IEEE's [Computing in Science & " +"Engineering " +"(CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) " +"journal, titled \"The State of Fortran\" and led by [Laurence " +"Kedward](https://github.com/lkedward). For this paper, we have [publicly " +"invited on Discourse](https://fortran-lang.discourse.group/t/fortran-" +"lang-community-paper/1232) anybody in the Fortran-lang community to " +"participate. Once published, this will be another paper that you can " +"cite. Stay tuned for its publication." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:343 +msgid "Summary" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:345 +msgid "2021 is behind us as another productive year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:346 +msgid "" +"Fortran-lang flagship projects such as [stdlib](https://github.com" +"/fortran-lang/stdlib), [fpm](https://github.com/fortran-lang/fpm), " +"[fortran-lang.org](https://fortran-lang.org), and " +"[LFortran](https://lfortran.org) continue to grow and gain traction." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:351 +msgid "" +"New Fortran-lang projects include [fftpack](https://github.com/fortran-" +"lang/fftpack), [test-drive](https://github.com/fortran-lang/test-drive), " +"and [fpm-docs](https://github.com/fortran-lang/fpm-docs)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:355 +msgid "" +"Fortran-lang participated in the [Google Summer of " +"Code](https://summerofcode.withgoogle.com/) program for the first time, " +"and had 6 students working on projects across stdlib, fpm, and LFortran." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:359 +msgid "" +"We had several presentations of Fortran-lang projects at [FortranCon " +"2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)" +" and [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:362 +msgid "" +"New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and " +"another is in review." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:365 +msgid "Thanks" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:367 +msgid "" +"We thank all people who contributed to Fortran-lang projects and " +"discussions on GitHub, Fortran Discourse, Fortran-lang mailing list, " +"Twitter, and elsewhere. It wouldn't have been possible without you all." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:9 +msgid "" +"Happy New Year and welcome to the January 2022 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:20 +msgid "" +"[#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): " +"Newsletter draft for December 2021" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:22 +msgid "" +"[#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): " +"Updated CaNS item so that it shows the version" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:24 +msgid "" +"[#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): Add " +"MCST LCC C, C++ and Fortran compiler" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:26 +msgid "" +"[#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): Use " +"HEAD to reference default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:28 +msgid "" +"[#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): 2021 " +"review article draft" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:30 +msgid "" +"[#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): " +"Adding Fortran Error Handler to packages index" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:48 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:50 +msgid "" +"[#586](https://github.com/fortran-lang/stdlib/pull/586): Update of " +"stdlib_stats.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:52 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581): Add routines for" +" saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:54 +msgid "[#590](https://github.com/fortran-lang/stdlib/pull/590): Update changelog" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:56 +msgid "" +"[#588](https://github.com/fortran-lang/stdlib/pull/588): Error on no " +"tests in CTest" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:58 +msgid "" +"[#585](https://github.com/fortran-lang/stdlib/pull/585): " +"stdlib_selection: correction of typos and addition of some checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:60 +msgid "" +"[#591](https://github.com/fortran-lang/stdlib/pull/591): Fix compilation " +"errors with makefiles due to command-line variable assignments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:62 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273): Probability " +"Distribution and Statistical Functions -- Normal Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:64 +msgid "" +"[#584](https://github.com/fortran-lang/stdlib/pull/584): Replace the call" +" to sort by select in stdlib_stats_median" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:66 +msgid "" +"[#593](https://github.com/fortran-lang/stdlib/pull/593): Probability " +"Distribution and Statistical Functions -- Uniform Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:68 +msgid "" +"[#594](https://github.com/fortran-lang/stdlib/pull/594): Minor update to " +"makefile installation instructions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:70 +msgid "" +"[#596](https://github.com/fortran-lang/stdlib/pull/596): Rename " +"references to default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:72 +msgid "" +"[#600](https://github.com/fortran-lang/stdlib/pull/600): Fix iomsg " +"allocation in save_npy" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:74 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488): [stdlib_math] " +"add `is_close` routines." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:76 +msgid "" +"[#597](https://github.com/fortran-lang/stdlib/pull/597): Add getline to " +"read whole line from formatted unit" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498): [stdlib_math] " +"add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:80 +msgid "" +"[#603](https://github.com/fortran-lang/stdlib/pull/603): Implement " +"trueloc/falseloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:82 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573): Revised Hash " +"functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:84 +msgid "" +"[#609](https://github.com/fortran-lang/stdlib/pull/609): Consistent spec " +"titles" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:86 +msgid "" +"[#610](https://github.com/fortran-lang/stdlib/pull/610): Fixed tables in " +"stdlib_hash_procedures.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:88 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499): [stdlib_linalg] " +"matrix property checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:90 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:43 +msgid "" +"[#613](https://github.com/fortran-lang/stdlib/pull/613): Ignore hash " +"testing binaries and logs" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:95 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:52 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:46 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:60 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:78 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:66 +msgid "[#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): Hash maps" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:97 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): " +"[stdlib_math] Add function `diff`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:99 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:54 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:48 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:62 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:80 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:68 +msgid "" +"[#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): Add " +"get_argument, get_variable and set_variable" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:139 +msgid "" +"[#634](https://github.com/fortran-lang/fpm/pull/634): Better extraction " +"of the Fortran compiler from the MPI wrapper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:144 +msgid "" +"[#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): Replace " +"polymorphic assignment with move_alloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:146 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): allow " +"backfilling of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:160 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:138 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:119 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:131 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:149 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:133 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://fpm.fortran-lang.org/en/tutorial) to learn how to build " +"your package with fpm, and the [manifest reference](https://fpm.fortran-" +"lang.org/en/spec/manifest.html) to learn what are all the things that you" +" can specify in the fpm.toml file." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:180 +msgid "Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:181 +msgid "Add !fir.vector type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:182 +msgid "Add type conversion for `fir.boxchar`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:183 +msgid "Add !fir.alloca conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:184 +msgid "Add placeholder conversion pattern for disptach operations" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:185 +msgid "Add fir.select_case conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:186 +msgid "Add !fir.field type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:187 +msgid "Transform `IsPresentOpConversion` and `AbsentOpConversion`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:188 +msgid "Add type conversion for FIR heap type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:189 +msgid "Add type conversion for FIR integer kind" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:190 +msgid "Add !fir.len type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:191 +msgid "Transform `fir.emboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:192 +msgid "Add fir.select_type conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:193 +msgid "Remove extra return in SelectTypeOpConversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:194 +msgid "Transform `fir.unboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:195 +msgid "Add fir.global_len conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:196 +msgid "Add the FIR LLVMPointer Type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:197 +msgid "Add fir.cmpc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:198 +msgid "Add fir.gentypedesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:199 +msgid "Transform `fir.boxchar_len` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:200 +msgid "Add missing `HasParent` in `fir_DTEntryOp`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:201 +msgid "Add fir.string_lit conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:202 +msgid "Add conversion patterns for slice, shape, shapeshift and shift ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:203 +msgid "Add fir.box_tdesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:204 +msgid "!fir.tdesc type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:205 +msgid "Add fir.constc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:206 +msgid "Add fir.embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:207 +msgid "Notify conversion failure for Proc ops, types" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:208 +msgid "Add tests for mlir::ComplexType conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:209 +msgid "Add `fir.end` conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:210 +msgid "Transform `fir.field_index` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:211 +msgid "Add a factory class for creating Complex Ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:212 +msgid "Add fir.no_reassoc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:213 +msgid "Set !fir.len_param_index conversion to unimplemented" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:214 +msgid "Add base for runtime builder unittests" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:215 +msgid "Add fir transformational intrinsic builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:216 +msgid "Add assignment runtime API builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:217 +msgid "Add data flow optimization pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:218 +msgid "Add array value copy pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:219 +msgid "Add fir reduction builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:220 +msgid "Add fir numeric intrinsic runtime call builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:221 +msgid "Add fircg.ext_embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:222 +msgid "Add fir derived type runtime builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:223 +msgid "Add fir character builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:224 +msgid "Add fircg.ext_array_coor conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:225 +msgid "Upstream conversion of the XRebox Op" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:226 +msgid "" +"Convert fir.allocmem and fir.freemem operations to calls to malloc and " +"free, respectively" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:228 +msgid "Fix vector cshift runtime with non zero lower bounds" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:229 +msgid "Respect NO_STOP_MESSAGE=1 in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:230 +msgid "Runtime performance improvements to real formatted input" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:231 +msgid "Allow write after non advancing read in IO runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:232 +msgid "Fix reversed comparison in RESHAPE() runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:233 +msgid "Define & implement a lowering support API IsContiguous() in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:234 +msgid "Don't close stderr in runtime (fixes STOP output)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:235 +msgid "Return arrays in Transfer runtime with SIZE argument" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:236 +msgid "Fix INQUIRE(FILE=,NAME=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:237 +msgid "Add ragged array runtime functions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:238 +msgid "Allow exterior branch to outermost WHERE construct statement" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:239 +msgid "Fix ORDER= argument to RESHAPE" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:240 +msgid "Fix rounding edge case in F output editing" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:241 +msgid "Handle ENTRY names in IsPureProcedure() predicate" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:242 +msgid "Allow implicit procedure pointers to associate with explicit procedures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:243 +msgid "Fix a bug in INQUIRE(IOLENGTH=) output" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:244 +msgid "Remove default argument from function template specialization" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:245 +msgid "Check ArrayRef base for contiguity in IsSimplyContiguousHelper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:246 +msgid "Deal with negative character lengths in semantics" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:247 +msgid "Fix INQUIRE(PAD=) and (POSITION=) for predefined units" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:248 +msgid "Add a semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:249 +msgid "Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:250 +msgid "Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:251 +msgid "Fix printing of constc and parsing of #fir.real" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:252 +msgid "Predefine unit 0 connected to stderr" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:253 +msgid "Add -fno-automatic, refine IsSaved()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:254 +msgid "Correct the argument keyword for AIMAG(Z=...)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:255 +msgid "Inclusive language: remove instances of master" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:256 +msgid "Return true in IsSymplyContiguous for allocatables" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:257 +msgid "Fix usage & catch errors for MAX/MIN with keyword= arguments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:258 +msgid "Re-fold bounds expressions in DATA implied DO loops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:259 +msgid "Correct INQUIRE(POSITION= & PAD=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:260 +msgid "Rearrange prototype & code placement of IsCoarray()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:261 +msgid "Replace notifyMatchFailure with TODO hard failures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:262 +msgid "TargetRewrite: Rewrite fir.address_of(func)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:263 +msgid "Fix folding of EXPONENT() intrinsic function" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:264 +msgid "OPEN(RECL=) handling for sequential formatted I/O" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:265 +msgid "Avoid potential deadlock in CloseAll()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:271 +msgid "" +"Beginning of refactoring of ASR (Abstract Semantic Representation) into a" +" standalone library" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:272 +msgid "New intrinsics: mvbits, bge, bgt, ble, blt, ibits" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:273 +msgid "generic procedure resolution fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:274 +msgid "FreeBSD fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:275 +msgid "Implement `.xor.` (LFortran as well as GFortran extension)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:276 +msgid "Fixes to large integers (BigInt) handling" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:277 +msgid "Added support for `private`, `final` attributes in derived types/classes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:279 +msgid "" +"The following people contributed code in December 2021: Ondřej Čertík, " +"Gagandeep Singh, Harris Snyder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:286 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:251 +msgid "" +"fpm has a new documentation website hosted at [fpm.fortran-" +"lang.org](https://fpm.fortran-lang.org/). This website will provide user-" +"oriented tutorials and how-to guides, as well as developer-oriented " +"reference documents and specifications. We welcome all contributions to " +"the fpm documentation, including translations to other languages. Please " +"visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to " +"get started." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:294 +msgid "" +"We had our 21st Fortran Monthly call on December 14. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:297 +msgid "" +"We also wrote a review of the Fortran-lang projects in 2021. Read it " +"[here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-" +"review/)." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:312 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:275 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:291 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:266 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:388 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:494 +msgid "[fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:319 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:282 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:299 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:274 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:396 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:502 +msgid "[fortran-lang/test-drive](https://github.com/fortran-lang/test-drive)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:9 +msgid "" +"Welcome to the February 2022 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:19 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:19 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:33 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:21 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:21 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:19 +msgid "" +"[#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): Fix " +"time calculation in the PRs script" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:39 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276): Probability " +"Distribution and Statistical Functions -- Exponential Distribution Module" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:41 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605): [stdlib_math] " +"Add function `diff`" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:45 +msgid "" +"[#617](https://github.com/fortran-lang/stdlib/pull/617): Made format " +"constant public" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:47 +msgid "" +"[#622](https://github.com/fortran-lang/stdlib/pull/622): Fix Gauss " +"quadrature" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:92 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630): allow backfilling " +"of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:94 +msgid "" +"[#646](https://github.com/fortran-lang/fpm/pull/646): Respect user " +"provided main-files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:96 +msgid "" +"[#645](https://github.com/fortran-lang/fpm/pull/645): Update module " +"output directory command for flang-new/f18" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:98 +msgid "" +"[fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) [fpm-" +"docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) [fpm-" +"docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) [fpm-" +"docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) [fpm-" +"docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) [fpm-" +"docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): French " +"translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:105 +msgid "" +"[fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): Add " +"testing workflow for source examples" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:107 +msgid "" +"[fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): Update " +"Spanish translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:109 +msgid "" +"[fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): zh_CN: " +"Update Chinese translations" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:114 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): Ignore hidden" +" source files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:116 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:105 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:119 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:137 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:121 +msgid "" +"[#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): Enable " +"profiles in toml" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:118 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): Get user name" +" and email using got config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:120 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): Add note " +"about relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:130 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): " +"Dutch translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:132 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): " +"Chinese translation improvements" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:158 +msgid "Keep runtime function name in comment" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:159 +msgid "Add a conversion for !fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:160 +msgid "Add a new memory allocation rewrite pass." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:161 +msgid "Correct and reenable test that was removed by MLIR." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:162 +msgid "Fix overallocation by fir-to-llvm-ir pass" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:164 +msgid "Add some semantic checks for threadprivate and declare target directives" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:165 +msgid "Simplify RaggedArrayHeader and make it plain C struct" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:166 +msgid "Fix folding of ac-implied-do indices in structure constructors" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:167 +msgid "Avoid code duplication in mixed expressions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:168 +msgid "Add test with shape for allocmem and freemem" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:169 +msgid "Make the frontend driver error out when requesting multiple actions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:170 +msgid "Add semantics tests for co_reduce, co_min, and co_max" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:171 +msgid "Use GNUInstallDirs to support custom installation dirs." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:172 +msgid "Enable support for conversion of recursive record types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:173 +msgid "Separate temporary and user-specified object files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:174 +msgid "update to reflect MLIR LLVM::GEPOp changes" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:175 +msgid "Do not lose call in shape inquiry on function reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:176 +msgid "Fix the documentation on how to build flang" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:177 +msgid "Add tests for converting arrays and refs to arrays" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:178 +msgid "Make the \"flang\" wrapper script check the Bash version" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:179 +msgid "Fix handling of space between # and name in preprocessor stringification" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:180 +msgid "RESHAPE(PAD=) can be arbitrary array rank" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:181 +msgid "" +"Any type can appear in a structure constructor for an unlimited " +"polymorphic allocatable component" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:182 +msgid "Implement semantics for DEC STRUCTURE/RECORD" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:183 +msgid "Extension: initialization of LOGICAL with INTEGER & vice versa" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:184 +msgid "Allow initialization in blank COMMON" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:185 +msgid "Support extension intrinsic function variations on ABS" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:186 +msgid "Allow pointers to non-sequence types in sequence types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:187 +msgid "\"CFI\" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:188 +msgid "Legacy extension: non-character formats" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:189 +msgid "Signal runtime error on WRITE after ENDFILE" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:190 +msgid "Don't blank-fill remaining lines in internal output" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:191 +msgid "Accept ENTRY names in generic interfaces" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:192 +msgid "Support substring references in NAMELIST input" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:198 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:311 +msgid "**Compiling `stdlib` with `lfortran`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:200 +msgid "" +"[stdlib: Implement `AINT` intrinsic " +"Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:201 +msgid "" +"[Draft: Sprint Bug fixing to compile stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:203 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:317 +msgid "**Addition of ASR Optimization Passes**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:205 +msgid "" +"[Added pass for converting division to multiplication " +"operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:206 +msgid "" +"[Adding LLVM backend for flip " +"sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:208 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:323 +msgid "**`libasr`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:210 +msgid "" +"[Move more header files into " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:211 +msgid "" +"[Move exception.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:212 +msgid "" +"[Move string_utils.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:213 +msgid "" +"[Move location.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:214 +msgid "" +"[Move stacktrace.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:215 +msgid "" +"[Move colors.h and asr_scopes.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:216 +msgid "" +"[Move bwriter.h and modfile.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:217 +msgid "" +"[Move config.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:218 +msgid "" +"[CI: do not run parent cmake in libasr " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:219 +msgid "" +"[Split " +"serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:220 +msgid "" +"[Nullify in ASR, LLVM, scalar " +"types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:221 +msgid "" +"[Remove unused " +"SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:222 +msgid "" +"[Separate evaluators into LFortran and libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:223 +msgid "" +"[utils.h and parser.h split into lfortran/libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:224 +msgid "" +"[Expose rl_path from " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:225 +msgid "" +"[CI: build libasr in an isolated " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:226 +msgid "" +"[Use the libasr's CMakeLists in LFortran's " +"one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:227 +msgid "" +"[Refactored `libasr/pass` framework and some bug " +"fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:229 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:348 +msgid "**Miscellaneous**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:231 +msgid "" +"[fixes for windows compilation (defining NOMINMAX), installation-" +"instructions for Windows/Visual " +"Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:232 +msgid "" +"[Update " +"gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:233 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:234 +msgid "" +"[Abstracting out, visit_Program, visit_Subroutine, visit_Function, state " +"variables from " +"passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:235 +msgid "" +"[Draft: Add a test for " +"pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:236 +msgid "" +"[Fix order deps " +"ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:237 +msgid "" +"[link to static zlib to avoid runtime " +"dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:361 +msgid "**Contributors**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:364 +msgid "[Ondřej Čertík](https://gitlab.com/certik)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:242 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:363 +msgid "[Gagandeep Singh](https://gitlab.com/czgdp18071)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:243 +msgid "[Dominic Poerio](https://gitlab.com/dpoe)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:244 +msgid "[Tobias Loew](https://gitlab.com/tobias-loew)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:245 +msgid "[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:259 +msgid "" +"We had our 22st Fortran Monthly call on January 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:9 +msgid "" +"Welcome to the March edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:17 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:17 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:17 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:17 +msgid "Here's what's new in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:39 +msgid "" +"[#624](https://github.com/fortran-lang/stdlib/pull/624): [stdlib_math] " +"Minor update to `stdlib_math` module and document" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:44 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:58 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:76 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:64 +msgid "" +"[#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): Gamma " +"special function" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:86 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652): get user name and " +"email using git config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:88 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654): Ignore hidden " +"source files" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:90 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622): Cleanup the backend" +" output" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:92 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648): Add note about " +"relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:94 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): Dutch " +"translation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:96 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): Chinese " +"translation improvements" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:98 +msgid "" +"[fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): Update " +"plugin tutorial" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:103 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:117 +msgid "" +"[#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): add clean " +"command" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:113 +msgid "" +"[fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): " +"Add page about fpm logo" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:139 +msgid "Initial lowering for empty program" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:140 +msgid "Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:141 +msgid "Add lowering placeholders" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:142 +msgid "Add lowering for basic empty SUBROUTINE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:143 +msgid "Upstream partial lowering of EXIT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:144 +msgid "Lower basic STOP statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:145 +msgid "Lower PAUSE statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:146 +msgid "Add lowering for integer constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:147 +msgid "Lower integer constant code for STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:148 +msgid "Add fir.array_access op" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:149 +msgid "Add fir.array_amend operation definition" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:150 +msgid "Handle logical constant value for quiet in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:151 +msgid "Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:152 +msgid "Basic local variable lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:153 +msgid "Add lowering for ASCII character constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:154 +msgid "Handle character constant for error code in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:155 +msgid "Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:156 +msgid "Add missing CFI case for REAL and COMPLEX" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:157 +msgid "Add support for lowering the goto statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:158 +msgid "Add type conversion for !fir.box" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:159 +msgid "Add FIRInlinerInterface" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:160 +msgid "Lower simple RETURN statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:161 +msgid "" +"Upstream fix to allocmem codegen to deal with missing dimensions for " +"sequence of character types" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:162 +msgid "Lower basic function with scalar integer/logical return value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:163 +msgid "Enable scalar real type in lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:164 +msgid "Enable complex type in function lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:165 +msgid "Handle lowering of ranked array" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:166 +msgid "Lower simple scalar assignment" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:167 +msgid "Lower scalar negation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:168 +msgid "Lower basic binary operation for scalars" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:169 +msgid "Initial patch to lower a Fortran intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:170 +msgid "Lower real constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:171 +msgid "Lower complex constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:172 +msgid "Lower function and subroutine calls" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:173 +msgid "Handle allocatable dummy arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:174 +msgid "Lower allocatable assignment for scalar" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:175 +msgid "Simple array assignment lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:176 +msgid "Lower simple character return" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:177 +msgid "Lower Fortran intrinsic to a runtime call/llvm intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:178 +msgid "Lower integer comparison operation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:179 +msgid "Lower real comparison operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:180 +msgid "Lower logical comparison and logical operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:181 +msgid "Lower power operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:182 +msgid "Add complex operations lowering tests" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:183 +msgid "Lower basic IO statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:184 +msgid "Handle dynamic array lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:186 +msgid "Add support for `-emit-mlir`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:187 +msgid "Add support for `-emit-llvm`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:188 +msgid "Make `flang-new` always generate run-time type info" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:189 +msgid "Add support for `--target`/`--triple`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:191 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for atomic update " +"construct" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:192 +msgid "The device expression must evaluate to a non-negative integer value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:193 +msgid "" +"Remove clauses from OpenMP Dialect that are handled by the flang frontend" +" instead:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:194 +msgid "private, firstprivate, lastprivate, shared, default, copyin, copyprivate" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:196 +msgid "Implement a runtime routine to report fatal errors with source position" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:197 +msgid "Rename the runtime routine that reports a fatal user error" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:198 +msgid "runtime perf: larger I/O buffer growth increments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:199 +msgid "Add runtime interface for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:200 +msgid "Upstream runtime changes for inquiry intrinsics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:201 +msgid "Improve error message (initialized variable in pure subprogram)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:202 +msgid "Accept BOZ literals for some actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:203 +msgid "Accept sparse argument keyword names for MAX/MIN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:204 +msgid "Accept INDEX(..., BACK=array)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:205 +msgid "Fix OPEN/WRITE(SIGN='SUPPRESS')" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:206 +msgid "Handle FLUSH(unknown unit)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:207 +msgid "Allow explicit '+' in NAMELIST input subscripts" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:208 +msgid "Extension: skip over NAMELIST groups" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:209 +msgid "Add array operations documentation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:210 +msgid "Fix crash from USE-associated defined I/O subprograms" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:211 +msgid "Allow INQUIRE() on a child unit in user-defined I/O procedure" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:212 +msgid "Don't drop format string for external child I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:213 +msgid "Support DECIMAL='COMMA' mode in namelist I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:214 +msgid "Update tco tool pipline and add translation to LLVM IR" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:215 +msgid "Add MemoryAllocation pass to the pipeline" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:216 +msgid "Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:217 +msgid "Add a custom target for the \"flang\" wrapper script." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:218 +msgid "split character procedure arguments in target-rewrite pass" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:219 +msgid "Expand the semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:220 +msgid "Correct interpretation of RECL=" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:221 +msgid "Distinguish intrinsic from non-intrinsic modules" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:222 +msgid "" +"Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit " +"numbers" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:223 +msgid "Modify right modes for READ/WRITE vs OPEN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:224 +msgid "Add a semantics test for co_broadcast" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:225 +msgid "catch implicit interface incompatibility with global scope symbol" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:226 +msgid "Add an assert to guard against nullptr dereferencing" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:227 +msgid "Fix FlangOptimizerTests link on Solaris" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:228 +msgid "Handle \"type(foo) function f\" when foo is defined in f" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:229 +msgid "Refine pointer/target test for ASSOCIATED intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:230 +msgid "Allow mixed association of procedure pointers and targets" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:231 +msgid "Fix edge case in USE-associated generics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:232 +msgid "Fail at link time if derived type descriptors were not generated" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:233 +msgid "Allow for deferred-length character in EstablishDescriptor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:234 +msgid "Allow DATA initialization of derived types w/ allocatable components" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:235 +msgid "" +"Accept NULL(mold=x) as constant component value in constant structure " +"constructor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:236 +msgid "Ensure a characterized ENTRY in a PURE subprogram is also marked PURE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:237 +msgid "Accept structure constructor value for polymorphic component" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:238 +msgid "Remove deprecated parser/printer/verifier utilities" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:239 +msgid "Accept pointer assignment w/ remapping to function result" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:240 +msgid "Allow extension cases of EQUIVALENCE with optional warnings" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:241 +msgid "Handle CALL C_F_POINTER(without SHAPE=)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:242 +msgid "Make source location more accurate for actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:243 +msgid "Add Win32 to the list of supported triples" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:244 +msgid "Allow tabs as white space in formats" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:245 +msgid "Do not print format tabs" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:246 +msgid "Catch I/O of bad derived type at compile time" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:247 +msgid "Allow more concurrently open NEWUNIT= values, with recycling" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:253 +#, python-format +msgid "" +"LFortran is participating in GSoC, please see [GSoC 2022 Student " +"Instructions for " +"LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions)" +" for instructions how to apply" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:254 +msgid "19 Merge Requests merged" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:255 +msgid "New ASR optimizations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:256 +msgid "Addes support for fma (fused-multiply add) in LLVM" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:257 +msgid "Semantic improves to compile more of stdlib" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:263 +msgid "" +"Fortran-lang has been selected as a mentoring organization for Google " +"Summer of Code 2022! Thanks to everybody who helped prepare the " +"application. [GSoC](https://summerofcode.withgoogle.com/) is Google's " +"global, online program that allows newcomers to open-source to work on a " +"project and get paid for it. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. " +"Applications for contributors open **April 4** and close **April 19**. To" +" learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate as a contributor or a mentor, please let us know in this " +"thread and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:270 +msgid "" +"Fortran-lang community now maintains a modernized fork of the classic " +"library [minpack](https://github.com/fortran-lang/minpack). Give it a " +"try!" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:272 +msgid "" +"We had our 23rd Fortran Monthly call on February 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:275 +msgid "" +"US Fortran Standards Committee meeting #226 started on February 28. See " +"the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt)" +" and the submitted papers [here](https://j3-fortran.org/doc/meeting/226)." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:298 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:273 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:395 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:501 +msgid "[fortran-lang/minpack](https://github.com/fortran-lang/minpack)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:9 +msgid "" +"Welcome to the April edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:19 +msgid "" +"[#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): " +"Newsletter for March 2022" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:21 +msgid "" +"[#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): " +"Updated VS Code extensions" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:23 +msgid "" +"[#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): add " +"string array to learn" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:25 +msgid "" +"[#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): " +"Resolves typos #377" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:30 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:45 +msgid "" +"[#632](https://github.com/fortran-lang/stdlib/pull/632): doc: fix some " +"typos" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:47 +msgid "" +"[#629](https://github.com/fortran-lang/stdlib/pull/629): option to " +"disable testing by setting BUILD_TESTING to OFF" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:49 +msgid "" +"[#631](https://github.com/fortran-lang/stdlib/pull/631): Preparation for " +"0.2.0 release" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:51 +msgid "" +"[#637](https://github.com/fortran-lang/stdlib/pull/637): Only set Fortran" +" arguments for Fortran compiler" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:53 +msgid "" +"[#642](https://github.com/fortran-lang/stdlib/pull/642): Fix linking " +"issue with shared libraries" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:100 +msgid "" +"[#675](https://github.com/fortran-lang/fpm/pull/675): Fix for backtrace " +"error when file not found in: src/fpm_source_parsing.f90" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:102 +msgid "" +"[#677](https://github.com/fortran-lang/fpm/pull/677): Fix issue with " +"backend pretty output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:104 +msgid "" +"[#684](https://github.com/fortran-lang/fpm/pull/684): fix: remove remove " +"unnecessary space in fpm new cmd" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:106 +msgid "" +"[#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): " +"Update to v4 in usage example in README" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:111 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:131 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:119 +msgid "" +"[#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): fix: function" +" for getting executable path" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:113 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:133 +msgid "" +"[#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): Tree shaking " +"for modules" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:115 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:135 +msgid "" +"[#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): Add `library-" +"dir` to support `-Lpath`" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:151 +msgid "Lower IO open and close statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:152 +msgid "Lower basic IO file statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:153 +msgid "Lower inquire statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:154 +msgid "Handle module in lowering pass" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:155 +msgid "Lower more cases of assignments on allocatable variables" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:156 +msgid "Add lowering for host association" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:157 +msgid "Lower allocate and deallocate statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:158 +msgid "Lower sum intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:159 +msgid "Lower computed and assigned goto" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:160 +msgid "Lower associate construct" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:161 +msgid "Update ArrayValueCopy to support array_amend and array_access" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:162 +msgid "Lower more array character cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:163 +msgid "Lower basic derived types" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:164 +msgid "Lower where statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:165 +msgid "Lower general forall statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:166 +msgid "Lower pointer component in derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:167 +msgid "Lower of elemental calls in array expression" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:168 +msgid "Add tests for allocatable global" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:169 +msgid "Add support for linkonce_odr in FIR" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:170 +msgid "Lower elemental calls" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:171 +msgid "Lower ALL intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:172 +msgid "Lower common block" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:173 +msgid "Lower format statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:174 +msgid "Write a pass to annotate constant operands on FIR ops" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:175 +msgid "Lower ANY intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:176 +msgid "Add support for lowering the dot_product intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:177 +msgid "Add support for lowering the dim intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:178 +msgid "Add support for lowering of the ibits intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:179 +msgid "Lower more pointer assignments/disassociation cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:180 +msgid "Lower entry statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:181 +msgid "Lower alternate return" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:182 +msgid "Lower allocated intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:183 +msgid "" +"Add lowering for the following character related intrinsics: len, " +"len_trim, lge, lgt, lle and llt" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:184 +msgid "Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:185 +msgid "Lower random_[init|number|seed] intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:186 +msgid "Lower date_and_time and cpu_time intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:187 +msgid "Lower system_clock intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:188 +msgid "Add support for lowering of the ibset intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:189 +msgid "Lower transfer instrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:190 +msgid "Lower adjustl and adjustr intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:191 +msgid "Lower count intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:192 +msgid "Add lowering for the set_exponent intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:194 +msgid "Add support for -debug-dump-pft" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:195 +msgid "Add support for -S and implement -c/-emit-obj" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:196 +msgid "Add support for -mllvm" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:198 +msgid "[mlir]Generating enums in accordance with the guidelines" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:199 +msgid "Added basic connect to lower OpenMP constructs" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:200 +msgid "Support for dump OpenMP/OpenACC declarative directives PFT in module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:201 +msgid "Add OpenMP and OpenACC flags to bbc" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:202 +msgid "Allow data transfer stmt control list errors to be caught" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:203 +msgid "Extension: don't require commas between most edit descriptors in formats" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:204 +msgid "Fix result type of \"procedure(abs) :: f\"" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:205 +msgid "Catch READ/WRITE on direct-access file without REC=" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:206 +msgid "Honor RECL= in list-directed/namelist output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:207 +msgid "Accommodate module subprograms defined in the same module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:208 +msgid "Extend ProvenanceRange::Suffix() to handle crash case" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:209 +msgid "Remove bogus messages for actual/dummy procedure argument compatibility" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:210 +msgid "Support PDT type descriptors in codegen" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:211 +msgid "Handle optional TARGET associate in ASSOCIATED runtime" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:212 +msgid "Generate PDT runtime type info in the type definition scope" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:213 +msgid "Accommodate arrays with a zero-extent dimension in location folding" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:214 +msgid "Avoid crash case in provenance mapping" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:215 +msgid "Make per-argument intrinsic error messages more localized" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:216 +msgid "Use faster path for default formatted character input" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:217 +msgid "Runtime validation of SPREAD(DIM=dim) argument" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:218 +msgid "" +"Make uninitialized allocatable components explicitly NULL() in structure " +"constructors" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:219 +msgid "Fix module file missing USE for shadowed derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:220 +msgid "Add nonfatal message classes" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:221 +msgid "Distinguish usage and portability warning messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:222 +msgid "Use unix logical representation for fir.logical" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:223 +msgid "Fix extent computation in finalization" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:224 +msgid "Fix processing ModuleLikeUnit evaluationList" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:225 +msgid "Do not return true for pointer sub-object in IsPointerObject" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:226 +msgid "Fix DYLIB builds" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:227 +msgid "Improve runtime crash messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:228 +msgid "Add runtime support for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:229 +msgid "IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:230 +msgid "LBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:231 +msgid "Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:232 +msgid "fulfill -Msave/-fno-automatic in main programs too" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:233 +msgid "Relax fir.rebox verifier with characters" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:243 +msgid "" +"The \"State of Fortran\" paper by Kedward et al. has been accepted for " +"publication in the IEEE journal Computing in Science and Engineering " +"(CiSE). You can read the pre-print on " +"[arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early " +"Access on the [CiSE " +"website](https://ieeexplore.ieee.org/document/9736688)." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:245 +msgid "" +"The contributor application window for this year's [Google Summer of " +"Code](https://summerofcode.withgoogle.com) is approaching fast. It opens " +"**April 4** and closes **April 19**. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. To " +"learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate, please let us know and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:250 +msgid "" +"We had our 24th Fortran Monthly call on March 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:9 +msgid "" +"Welcome to the May edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:21 +msgid "" +"[#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): " +"Newsletter for April 2022" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:23 +msgid "" +"[#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): Add " +"librsb to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:25 +msgid "" +"[#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): Add " +"Elk to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:27 +msgid "" +"[#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): Add " +"pencil-code to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:29 +msgid "" +"[#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): Add " +"PROPACK to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:31 +msgid "" +"[#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): Add " +"feed link to HTML head element" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:35 +msgid "" +"[#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): fix " +"dependency of include files under `learn/building_programs` mini-book" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:40 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:26 +msgid "" +"[#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): " +"Add NUFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:42 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:28 +msgid "" +"[#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): " +"Add OpenFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:44 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:30 +msgid "" +"[#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): " +"Add 2DECOMP&FFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:46 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:32 +msgid "" +"[#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): " +"Add SLICOT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:48 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:34 +msgid "" +"[#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): " +"Add FATODE to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:63 +msgid "" +"[#646](https://github.com/fortran-lang/stdlib/pull/646): Export symbols " +"on Windows and set PIC flag for Unix" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:65 +msgid "" +"[#651](https://github.com/fortran-lang/stdlib/pull/651): Bugfix release " +"version 0.2.1" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:70 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): Add hint " +"for building error with make" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:72 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): fixed " +"32-bit integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:74 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:62 +msgid "" +"[#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): Feature: " +"loadtxt skiprows and max_rows" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:118 +msgid "" +"[#688](https://github.com/fortran-lang/fpm/pull/688): Small fix for " +"fpm_model" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:120 +msgid "[#665](https://github.com/fortran-lang/fpm/pull/665): add clean command" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:125 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): Fix show-" +"model option" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:127 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:129 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:117 +msgid "" +"[#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): fix: remove " +"extra space from help-test cmd" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:169 +msgid "Lower various intrinsics:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:170 +msgid "" +"character related intrinsics, array related intrinsics, index intrinsics," +" present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, " +"command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, " +"sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, " +"log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:171 +msgid "Add IO lowering test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:172 +msgid "Add more lowering tests for dummy arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:173 +msgid "Add equivalence lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:174 +msgid "Add array constructor lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:175 +msgid "Lower more array expressions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:176 +msgid "Lower statement function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:177 +msgid "Lower length on character storage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:178 +msgid "Lower select case statement" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:179 +msgid "Add OpenMP Conversion patterns" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:180 +msgid "Lower procedure designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:181 +msgid "Lower boxed procedure" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:182 +msgid "Flush and master constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:183 +msgid "Add lowering C interoperability test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:184 +msgid "Add misc lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:185 +msgid "Handle zero extent case in LBOUND" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:186 +msgid "Lower some coarray statements to their runtime function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:187 +msgid "Options to lower math intrinsics to relaxed, precise variants" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:188 +msgid "Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:189 +msgid "Added lowering support for atomic read and write constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:190 +msgid "fix LBOUND lowering with KIND and no DIM arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:191 +msgid "Keep fully qualified !fir.heap type for fir.freemem op" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:192 +msgid "Update the conversion code for fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:193 +msgid "Set lower bounds of array section fir.embox to one" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:194 +msgid "Fix fir.embox codegen with constant interior shape" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:195 +msgid "Do not fold fir.box_addr when it has a slice" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:197 +msgid "Make --version and -version consistent with clang" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:198 +msgid "Add support for -mmlir" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:199 +msgid "Make the plugin API independent of the driver internals" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:200 +msgid "Add support for generating executables" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:202 +msgid "Lowering critical construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:203 +msgid "Added assembly format for omp.wsloop and remove parseClauses" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:204 +msgid "Added lowering support for sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:205 +msgid "Added ReductionClauseInterface" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:206 +msgid "Added parallel sections translation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:207 +msgid "" +"Revert \"[Flang][OpenMP] Add semantic check for OpenMP Private, " +"Firstprivate and Lastprivate clauses.\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:208 +msgid "Added allocate clause translation for OpenMP block constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:209 +msgid "Support export/import OpenMP Threadprivate Flag" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:210 +msgid "Add implementation of privatisation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:211 +msgid "Add checks and tests for hint clause and fix empty hint" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:212 +msgid "OpenACC" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:213 +msgid "Lower enter data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:214 +msgid "Lower exit data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:215 +msgid "Lower init/shutdown directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:216 +msgid "Lower update directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:217 +msgid "Lower data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:218 +msgid "Lower wait directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:220 +msgid "Error recovery improvement in runtime (IOMSG=)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:221 +msgid "Initial UTF-8 support in runtime I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:222 +msgid "Ensure PointerDeallocate actually deallocate pointers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:223 +msgid "Add runtime API to catch unit number out of range" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:224 +msgid "Prefer process time over thread time in CPU_TIME" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:225 +msgid "Raise FP exceptions from runtime conversion to binary" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:226 +msgid "Preserve effect of positioning in record in non-advancing output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:227 +msgid "Don't skip input spaces when they are significant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:228 +msgid "Fix ENDFILE for formatted stream output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:229 +msgid "Don't emit empty lines for bad writes" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:230 +msgid "Ignore leading spaces even in BZ mode" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:231 +msgid "Fix edge-case FP input bugs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:232 +msgid "Enforce some limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:233 +msgid "Signal record read overrun when PAD='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:234 +msgid "Fix KIND=16 real/complex component I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:235 +msgid "Fix total MAXLOC/MINLOC for non-integer data" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:236 +msgid "Handle allocatable components when creating array temps" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:237 +msgid "[Parser] Add a node for individual sections in sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:238 +msgid "Add explanatory messages to grammar for language extensions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:239 +msgid "" +"Convert RUNTIME_CHECK to better error for user errors in " +"transformational.cpp" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:240 +msgid "Accept legacy aliases for intrinsic function names" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:241 +msgid "Expose error recovery cases in external I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:242 +msgid "Fix crash: ENTRY with generic interface of the same name" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:243 +msgid "Fold DBLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:244 +msgid "Single construct translation from PFT to FIR" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:245 +msgid "UBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:246 +msgid "Make not yet implemented messages more consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:247 +msgid "Fix LBOUND rewrite on descriptor components" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:248 +msgid "Ensure descriptor lower bounds are LBOUND compliant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:249 +msgid "Fix cycle-catcher in procedure characterization" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:250 +msgid "Fix bogus error from assignment to CLASS(*)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:251 +msgid "Mark C_ASSOCIATED specific procedures as PURE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:252 +msgid "Catch bad OPEN(STATUS=) cases" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:253 +msgid "Fold NEAREST() and its relatives" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:254 +msgid "Prevent undefined behavior in character MAXLOC folding" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:255 +msgid "Fix invalid overflow check" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:256 +msgid "Skip D when including D debug line" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:257 +msgid "Allow user to recover from bad edit descriptor with INTEGER" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:258 +msgid "Fold instantiated PDT character component length when needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:259 +msgid "Add one semantic check for allocatable/pointer argument association" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:260 +msgid "[cmake] Make CMake copy \"omp_lib.h\" into the build directory" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:261 +msgid "Handle dynamically optional argument in EXIT" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:262 +msgid "Fix semantic analysis for \"forall\" targeted by \"label\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:263 +msgid "Emit a portability warning for padding in COMMON" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:264 +msgid "Expand the num_images test coverage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:265 +msgid "Fold IBITS() intrinsic function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:266 +msgid "Error handling for out-of-range CASE values" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:267 +msgid "Respect left tab limit with Tn editing after ADVANCE='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:268 +msgid "Allow IMPLICIT NONE(EXTERNAL) with GenericDetails" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:269 +msgid "Do not ICE on out-of-range data statement designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:270 +msgid "Fix ICE for sqrt(0.0) evaluation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:271 +msgid "Fix float-number representation bug" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:272 +msgid "Fix intrinsic interface for DIMAG/DCONJG" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:273 +msgid "Improve appearance of message attachments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:274 +msgid "Fix combining cases of USE association & generic interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:275 +msgid "Defer all function result type processing" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:276 +msgid "Always encode multi-byte output in UTF-8" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:277 +msgid "Fix shape analysis of RESHAPE result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:278 +msgid "Use full result range for clock_gettime implementation of SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:279 +msgid "Correct interaction between generics and intrinsics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:280 +msgid "Make F0.1 output editing of zero edge case consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:281 +msgid "Inner INTRINSIC must not shadow host generic" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:282 +msgid "Local generics must not shadow host-associated generics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:283 +msgid "Fix TYPE/CLASS IS (T(...)) in SELECT TYPE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:284 +msgid "Allow modification of construct entities" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:285 +msgid "Defer NAMELIST group item name resolution" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:286 +msgid "Accept TYPE(intrinsic type) in declarations only for non-extension type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:287 +msgid "Finer control over error recovery with GetExpr()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:288 +msgid "Handle parameter-dependent types in PDT initializers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:289 +msgid "Upgrade short actual character arguments to errors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:290 +msgid "Allow POINTER attribute statement on procedure interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:291 +msgid "Accept KIND type parameter inquiries on RE, IM, etc." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:292 +msgid "Add & use a better visit()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:293 +msgid "Fix regression with recent work on intrinsic/generic interactions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:294 +msgid "Do not pass derived type by descriptor when not needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:295 +msgid "Fix LBOUND() folding for constant arrays" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:296 +msgid "Set LBOUND() folding for (x) expression as ones" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:297 +msgid "Semantics limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:298 +msgid "Do not ICE on recursive function definition in function result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:299 +msgid "Fold transformational bessels when host runtime has bessels" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:300 +msgid "Do not create arith.extui with same from/to type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:301 +msgid "Disambiguate F(X)=Y case where F is a function returning a pointer" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:302 +msgid "Avoid global name conflict when BIND(C,NAME=) is used" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:303 +msgid "Accept \"INFINITY\" as real input" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:304 +msgid "Add semantic checks for intrinsic function REDUCE()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:305 +msgid "Fix crash from PDT component init in module file" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:307 +msgid "" +"Call notes are recorded and publicly available " +"[here](https://docs.google.com/document/d/1Z2U5UAtJ-" +"Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit)." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:313 +msgid "" +"[Fixes for intrinsics while compiling `stdlib` using " +"`lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:314 +msgid "" +"[Draft: Stdlib " +"sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:315 +msgid "" +"[Draft: Sprint Compiling stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:319 +msgid "" +"[Implementing dead code elemination " +"optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:320 +msgid "" +"[Supporting duplication of Function/Subroutine " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:321 +msgid "" +"[Implementing loop unrolling optimization for fixed sized " +"loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:325 +msgid "" +"[AST->ASR: Remove " +"current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:326 +msgid "" +"[Added support keyword argument in class " +"procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:327 +msgid "" +"[Implementing ArrayBound node to replace `lbound`, `ubound` as function " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:328 +msgid "" +"[Implementing `Block` and " +"`BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:329 +msgid "" +"[Made scope private in SymbolTable struct and added interface methods to " +"modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:330 +msgid "" +"[Removing dead code which treats size intrinsic as " +"function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:331 +msgid "" +"[Implementing `ArraySize` node to replace function call to " +"`size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:332 +msgid "" +"[Fixing " +"adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:333 +msgid "" +"[Implementing " +"AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:334 +msgid "" +"[Move ASR.asdl into the src/libasr " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:335 +msgid "" +"[Fixing handling of return " +"type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:336 +msgid "" +"[Fill function in FunctionCall of len expr of Character type after " +"completing symbol " +"table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:337 +msgid "" +"[Fixing inline function calls pass to skip " +"intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:338 +msgid "" +"[Draft: ASR: Add all intrinsic operations into ASR " +"itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:341 +msgid "**WASM**" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:343 +msgid "[Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:344 +msgid "" +"[draft: Wasm Intial " +"Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:345 +msgid "" +"[draft: Compiling LFortran to " +"WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:350 +msgid "" +"[bind(c): Fix " +"call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:351 +msgid "" +"[bind(c): Add tests for i64, f32, " +"f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:352 +msgid "" +"[Fix a bug in a " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:353 +msgid "" +"[Add a test for calling Fortran from " +"C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:354 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:355 +msgid "" +"[CI: add git " +"safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:356 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:357 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:358 +msgid "" +"[Adding and Improving " +"tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:359 +msgid "" +"[Remove --target install and CMAKE_INSTALL_PREFIX from " +"build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:365 +msgid "[Ubaid Shaikh](https://gitlab.com/shaikhubaid769)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:371 +msgid "" +"We had our 25th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:374 +msgid "" +"Visual Studio Code's popular [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang" +".linter-gfortran) extension joined the [fortran-lang " +"GitHub](https://github.com/fortran-lang/vscode-fortran-support) " +"organization." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:376 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:482 +msgid "" +"Join and follow the [Fortran Discourse](https://fortran-" +"lang.discourse.group) to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:9 +msgid "" +"Welcome to the June edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:19 +msgid "" +"[#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): " +"Newsletter May 2022" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:21 +msgid "" +"[#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): Add " +"SeisSol to package index" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:49 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656): Add hint for " +"building error with make" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:51 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655): fixed 32-bit " +"integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:53 +msgid "" +"[#657](https://github.com/fortran-lang/stdlib/pull/657): Remove support " +"for manual make builds" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:58 +msgid "" +"[#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): Fix " +"erroneous gaussian quadrature points in gauss_legendre" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:60 +msgid "" +"[#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): Readme " +"update" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:108 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:110 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693): Fix show-model " +"option" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:115 +msgid "" +"[#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): Some cleanups" +" and minor fixes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:151 +msgid "Initial lowering of the Fortran Do loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:152 +msgid "Lower Unstructured do loops" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:154 +msgid "Define the default frontend driver triple" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:155 +msgid "Add support for consuming LLVM IR/BC files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:156 +msgid "Add support for -save-temps" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:157 +msgid "Switch to the MLIR coding style in the driver" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:158 +msgid "Fix driver method names overridden by the plugins" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:159 +msgid "Support parsing response files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:160 +msgid "Make driver accept -module-dir" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:161 +msgid "Add support for generating executables on MacOSX/Darwin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:163 +msgid "Add lowering stubs for OpenMP/OpenACC declarative constructs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:164 +msgid "Added tests for taskwait and taskyield translation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:165 +msgid "Restrict types for omp.parallel args" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:166 +msgid "Add omp.cancel and omp.cancellationpoint." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:167 +msgid "Initial lowering of the OpenMP worksharing loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:168 +msgid "Lowering for task construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:169 +msgid "Support lowering to MLIR for ordered clause" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:170 +msgid "Support for Collapse" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:171 +msgid "Upstream the lowering of the parallel do combined construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:172 +msgid "Fix the types of worksharing-loop variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:173 +msgid "Change the OpenMP atomic read/write test cases" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:175 +msgid "Correct emission & reading of unterminated final records" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:176 +msgid "Support B/O/Z editing of CHARACTER" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:177 +msgid "Use 1-based dim in transformational runtime error msg" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:178 +msgid "Change \"unsupported\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:179 +msgid "Fix input of NAN(...) on non-fast path" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:180 +msgid "Don't pad CHARACTER input at end of record unless PAD='YES'" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:181 +msgid "Enforce restrictions on unlimited format repetition" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:182 +msgid "(G0) for CHARACTER means (A), not (A0)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:183 +msgid "BACKSPACE after non-advancing I/O" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:184 +msgid "Use proper prototypes in Fortran_main. NFCI" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:185 +msgid "Clean up asynchronous I/O APIs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:186 +msgid "INQUIRE(UNIT=666,NUMBER=n) must set n=666" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:187 +msgid "Handle BACKSPACE after reading past EOF" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:188 +msgid "Fix MAXLOC/MINLOC when MASK is scalar .FALSE." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:189 +msgid "Fix UBOUND() constant folding for parentheses expr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:190 +msgid "Support FINDLOC/MAXLOC/MINLOC with scalar mask" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:191 +msgid "Handle common block with different sizes in same file" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:192 +msgid "Add one semantic check for implicit interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:193 +msgid "Fix semantics check for RETURN statement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:194 +msgid "Fix ICE for passing a label for non alternate return arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:195 +msgid "Add ExternalNameConversionPass to pass pipeline" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:196 +msgid "Fix AllocaOp/AllocMemOp type conversion" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:197 +msgid "" +"Support external procedure passed as actual argument with implicit " +"character type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:198 +msgid "Fix internal error with DATA-statement style initializers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:199 +msgid "Upstream support for POINTER assignment in FORALL" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:200 +msgid "Enforce a program not including more than one main program" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:201 +msgid "Retain binding label of entry subprograms" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:202 +msgid "Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:203 +msgid "Fold intrinsic functions SPACING() and RRSPACING()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:204 +msgid "Operands of SIGN() need not have same kind" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:205 +msgid "Correct folding of SPREAD() for higher ranks" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:206 +msgid "Refine handling of short character actual arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:207 +msgid "Ensure that structure constructors fold parameter references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:208 +msgid "" +"Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER " +"functions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:209 +msgid "Allow PDTs with LEN parameters in REDUCE()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:210 +msgid "Allow NULL() actual argument for optional dummy procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:211 +msgid "Allow implicit declaration of DATA objects in inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:212 +msgid "Refine error checking in specification expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:213 +msgid "Reverse a reversed type compatibility check" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:214 +msgid "Accept POINTER followed by INTERFACE" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:215 +msgid "Allow ENTRY function result symbol usage before the ENTRY" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:216 +msgid "Fold real-valued DIM(), MODULO() and MOD()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:217 +msgid "Enforce limit on rank + corank" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:218 +msgid "" +"Allow local variables and function result inquiries in specification " +"expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:219 +msgid "Change \"bad kind\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:220 +msgid "Fold complex component references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:221 +msgid "Fix check for assumed-size arguments to SHAPE() & al." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:222 +msgid "" +"Fix a performance problem with lowering of forall loops and creating too " +"many temporaries" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:223 +msgid "Warn for the limit on name length" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:224 +msgid "Install Fortran_main library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:225 +msgid "test conforming & non-conforming lcobound" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:226 +msgid "Fix use-associated false-positive error" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:227 +msgid "Fix character length calculation for Unicode component" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:228 +msgid "Allow global scope names that clash with intrinsic modules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:229 +msgid "Ignore BIND(C) binding name conflicts of inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:230 +msgid "Allow more forward references to ENTRY names" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:231 +msgid "Extension: Accept Hollerith actual arguments as if they were BOZ" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:232 +msgid "Alternate entry points with unused arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:233 +msgid "Fix crash in semantics after PDT instantiation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:238 +msgid "Gagandeep Singh (106):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:239 +msgid "Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:240 +msgid "Added test for kwargs in class procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:241 +msgid "Added support for kwargs in class procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:242 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:247 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:253 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:258 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:267 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:271 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:273 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:276 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:281 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:286 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:291 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:293 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:298 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:301 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:303 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:306 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:311 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:315 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:321 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:335 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:338 +msgid "Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:243 +msgid "Added support for i32 and i64 in repeat" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:244 +msgid "Added mergechar in merge interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:245 +msgid "Added is_iostat_eor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:246 +msgid "Removed compulsory evaluation of ishft" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:248 +msgid "" +"Use intrinsic type checking in assignment only when operator overloading " +"fails" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:249 +msgid "Perform casting in Compare only when overloaded is not available" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:250 +msgid "Set dest_type and source_type even though casting doesn't happen" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:251 +msgid "Use kind_value to generate type in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:252 +msgid "Added test for verifying SemanticError in case of non-constant kind input" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:254 +msgid "Add AssociateBlock and Block in serialization.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:255 +msgid "Include associate_06 in the integration_tests/CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:256 +msgid "Take into account output kind in LLVM's ArraySize visitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:257 +msgid "Added test for different output kinds in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:259 +msgid "Import procedures for overloaded operators as well" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:260 +msgid "Fixed tests for compiling correctly with gfortran" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:261 +msgid "Mangle name before importing procedures under generic procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:262 +msgid "Merged master into sprint_6" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:263 +msgid "Avoid manual imports while using overloaded symbols" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:264 +msgid "Remove symbol from to_be_imported_later" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:265 +msgid "" +"Added support for keyword arguments in generic procedures and fix total " +"arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:266 +msgid "Added test for generic procedures with keyword arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:268 +msgid "Added intrinsics: congjz, dotproduct and updated: merge" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:269 +msgid "Added matmul, transpose as ASR nodes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:270 +msgid "Added tests for matmul and transpose" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:272 +msgid "Added merge, dotproduct procedures for complex type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:274 +msgid "Add support for source kwarg in allocate" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:275 +msgid "Updated test for verifying source argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:277 +msgid "" +"Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in " +"comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:278 +msgid "Added shiftl, shiftr and count" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:279 +msgid "Added more implementations for abs, mod" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:280 +msgid "Added adjustr, lgt, llt, lle, lge for string type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:282 +msgid "Registered ieee_is_nan in comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:283 +msgid "Added support for pack intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:284 +msgid "Added support for transfer intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:285 +msgid "Use modern Fortran syntax for array constants" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:287 +msgid "ArrayTransfer -> Transfer rename" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:288 +msgid "Added generation code for expression replacer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:289 +msgid "Added ReplaceArgVisitor and generalised handle_return_type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:290 +msgid "Added tests for verifying arg replacer in return types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:292 +msgid "Added cmplx via ComplexConstructor node" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:294 +msgid "Import via use inside Function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:295 +msgid "Added support for matching Derived/ClassType" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:296 +msgid "Added support for falling back to intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:297 +msgid "Added to test verify importing procedures inside function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:299 +msgid "Added support for passing kind parameter to floor intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:300 +msgid "" +"Use CPtr for variables declared with type(c_ptr) 2. Set " +"Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in " +"extract_dimensions_from_ttype" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:302 +msgid "Added LLVM support for CLoc, CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:304 +msgid "Added integration test for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:305 +msgid "Added support for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:307 +msgid "Added error checking for presence of shape argument in c_f_pointer call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:308 +msgid "Fixed ArrayConstant type and raise error is shape is not rank 1" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:310 +msgid "Implemented c_f_pointer for non-array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:312 +msgid "Added test with pointer array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:313 +msgid "Shifted type generation to a function in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:314 +msgid "Corrected llvm::Type* for array pointer variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:316 +msgid "" +"Fixed ArrayBound for array pointers 2. Shifted argument type generation " +"to a function and use recursion for Pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:317 +msgid "Added support for printing Pointer type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:318 +msgid "" +"Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return " +"ArrayBound instead of a function call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:319 +msgid "Use element type in ArrayRef instead of pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:320 +msgid "Syntax improvement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:322 +msgid "Removed warnings" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:323 +msgid "Adjust ArrayBound for ArrayConstant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:324 +msgid "Corrected arrays_13 by making iv, rv as target" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:325 +msgid "Stronger verification checks for CFPointer creation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:326 +msgid "Support for array inputs in CFPointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:327 +msgid "Improved bindc2 for array inputs in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:328 +msgid "" +"Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved " +"CFPointer in LLVM backend to not interfere with already stored array in " +"array pointer variables 3. Improved bindc2.f90 and made it robust to " +"cover more cases. 4. Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:329 +msgid "Fixed unused variable warnings in llvm_utils.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:330 +msgid "Use abstract methods in CFPointer for accessing array descriptor data" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:331 +msgid "Added test for ArrayRef in c_loc" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:332 +msgid "Minor update in bindc2 and bindc3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:333 +msgid "Fixed Complex case in duplicate type and intialise type at declaration" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:334 +msgid "Added support ArrayRef in CLoc in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:336 +msgid "" +"Added support for CPtr in arguments and fixed llvm::Type for intent(out) " +"for CPtr 2. Added support for constant arrays as shape in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:337 +msgid "Updated bindc4 for verifying constant arrays in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:340 +msgid "Naman Gera (1):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:341 +msgid "Update the C runtime library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:343 +msgid "Ondřej Čertík (136):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:344 +msgid "AST->ASR: Remove current_body" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:345 +msgid "Fix a bug in a test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:346 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:351 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:353 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:356 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:360 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:362 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:365 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:374 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:377 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:407 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:410 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:428 +msgid "Update tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:347 +msgid "bind(c): Add tests for i64, f32, f64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:348 +msgid "Update modules_18b.f90 to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:349 +msgid "Add tests for the other types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:350 +msgid "Comment out a non-working case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:352 +msgid "bind(c): Fix call_fortran_i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:354 +msgid "bind(c): Add a test for i32 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:355 +msgid "LLVM: implement value arguments in bind(c) procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:357 +msgid "Make modules_18b.f90 compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:358 +msgid "bind(c): test i64, f32, f64 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:359 +msgid "Update modules_18b to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:361 +msgid "ASR: Bring updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:363 +msgid "ASR: Updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:364 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:427 +msgid "Update the rest of the code to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:366 +msgid "C++ backend: implement ComplexConstructor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:367 +msgid "Add the simplest test for submodules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:368 +msgid "Add Logical to nested_vars" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:369 +msgid "Workaround a cmake bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:370 +msgid "Add a test for bind(c) with pointers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:371 +msgid "Rework the AST->ASR handling of floor()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:372 +msgid "Implement is_intrinsic_symbol()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:373 +msgid "Refactor floor() into lfortran_intrinsic_math3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:375 +msgid "Add a test case for imported derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:376 +msgid "Add value to all expr nodes except Constant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:378 +msgid "Implement expr_type() using ExprTypeVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:379 +msgid "Implement expr_value() using ExprValueVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:380 +msgid "iso_c_binding: add the c_loc() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:381 +msgid "Allow derived types as return values" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:382 +msgid "ASR: Represent c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:383 +msgid "Add ASR test for c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:385 +msgid "ASR: Add string conversion for derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:386 +msgid "Add a CPtr() type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:387 +msgid "Make c_loc() return CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:388 +msgid "LLVM: handle CPtr in convert_args()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:389 +msgid "LLVM: Comment out visit_CFPointer (WIP)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:390 +msgid "CI: pin mkdocs-material and mkdocs versions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:391 +msgid "Fix spelling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:393 +msgid "Shorten the help for --show-wat to fit 80 columns" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:394 +msgid "Git ignore wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:395 +msgid "Move emit_wat out of LLVM ifdef" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:396 +msgid "Generate wasm_visitor.h in ci/build.xsh" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:397 +msgid "Enable WAT tests in run_tests.py" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:398 +msgid "Add a test for WASM" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:399 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:444 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:447 +msgid "Update reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:400 +msgid "Implement FortranEvaluator::get_wasm()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:401 +msgid "Use asr_to_wasm_bytes_stream() in asr_to_wasm" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:402 +msgid "WASM: Add 64 bit BinOp operations" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:403 +msgid "WASM: handle i64 arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:404 +msgid "WASM: Add a test for i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:405 +msgid "Move the wasm_instructions_visitor.py to libasr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:406 +msgid "Update ASR from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:408 +msgid "Bring more ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:409 +msgid "Bring in name mangling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:411 +msgid "Add a test for passing through pointers via C" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:412 +msgid "LLVM: implement debug ASR printing" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:413 +msgid "LLVM: Use `deftype` to implement interfaces" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:414 +msgid "LLVM: Pass type(c_ptr) by value properly" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:415 +msgid "Pass \"n\" by reference for now" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:416 +msgid "Pass arguments by value for bind(c)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:417 +msgid "Only do the load if it is a pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:418 +msgid "LLVM: Use an ASR condition instead of LLVM one" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:419 +msgid "lfortran_intrinsic_string: depend iso_fortran_env" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:420 +msgid "Enable bindc_01 LLVM test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:421 +msgid "Add a test for pointer argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:422 +msgid "Add suffixes 1/2" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:423 +msgid "Add a callback2b test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:424 +msgid "Add a test for callback1b()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:425 +msgid "Get value to reference argument working" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:426 +msgid "Port ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:429 +msgid "ASR sync with LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:431 +msgid "Tapasweni Pathak (9):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:432 +msgid "Add markdown sample for intrinsic:math:asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:433 +msgid "Add doxygen docstring in lfortran intrinsic runtime asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:434 +msgid "Add comments for interface asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:435 +msgid "Add doxygen comment for lfortran_sasin_api" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:436 +msgid "Enhance presentation of information" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:437 +msgid "use retval for return values variable" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:438 +msgid "delete fortran doxygen comments docs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:439 +msgid "mkdocs: LFortran Intrinsics: asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:440 +msgid "add: mkdocs: code syntax highlighting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:442 +msgid "Ubaid (24):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:443 +msgid "Improve ceiling() test case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:445 +msgid "Specifying constants as double precision" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:446 +msgid "Update error condition check as suggested" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:448 +msgid "Code formatting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:449 +msgid "Add and improve namespace ending comments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:450 +msgid "Add wasm_instructions list" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:451 +msgid "Comment out few instructions that have temporary variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:452 +msgid "Add wasm_instructions_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:453 +msgid "" +"Add namespace related info and pass code as function parameter in " +"wasm_insts_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:454 +msgid "Add command in build0.sh to generate wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:455 +msgid "Add utility struct and functions defined in wasm_utils" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:456 +msgid "Add wasm_to_wat converter" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:457 +msgid "Include wasm_to_wat and wasm_utils in CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:458 +msgid "Define vector.resize()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:459 +msgid "Add --show-wat flag and emit_wat() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:460 +msgid "Declare and define get_wat() in fortran_evaluator" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:461 +msgid "" +"Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to" +" memory" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:462 +msgid "Fix warning by adding U and add comment" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:463 +msgid "Fix missing parameters bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:464 +msgid "Switch off WAT_DEBUG macro" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:465 +msgid "Remove debugging cout statements" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:466 +msgid "Move load_file() to top" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:472 +msgid "" +"The Fortran-lang Google Summer of Code 2022 program began on May 23. We " +"welcome five contributors: Arteev Raina, Ashirwad Mishra, Henil Shalin " +"Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. They will be working " +"on exciting projects from fpm and the Fortran website to improving the " +"LFortran compiler. Read more about their projects " +"[here](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang)." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:478 +msgid "We had our 26th Fortran Monthly call on May 16. Watch the recording below:" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:503 +msgid "" +"[fortran-lang/vscode-fortran-support](https://github.com/fortran-lang" +"/vscode-fortran-support)" +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/packages.po b/locale/nl/LC_MESSAGES/packages.po new file mode 100644 index 000000000..12e54eac4 --- /dev/null +++ b/locale/nl/LC_MESSAGES/packages.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/packages.rst:8 +msgid "Packages - The Fortran Programming Language" +msgstr "" + +#: ../../source/packages.rst:13 +msgid "Fortran Packages" +msgstr "" + +#: ../../source/packages.rst:17 ../../source/packages/data-types.rst:7 +#: ../../source/packages/examples.rst:7 ../../source/packages/graphics.rst:7 +#: ../../source/packages/interfaces.rst:7 ../../source/packages/io.rst:7 +#: ../../source/packages/libraries.rst:7 ../../source/packages/numerical.rst:7 +#: ../../source/packages/programming.rst:7 +#: ../../source/packages/scientific.rst:7 ../../source/packages/strings.rst:7 +msgid "A rich ecosystem of high-performance code" +msgstr "" + +#: ../../source/packages.rst:22 +msgid "Find a Package" +msgstr "" + +#: ../../source/packages.rst:37 +msgid "Package index" +msgstr "" + +#: ../../source/packages.rst:41 +msgid "" +"The fortran-lang package index is community-maintained and lists open " +"source Fortran-related projects. This includes large-scale scientific " +"applications, function libraries, Fortran interfaces, and developer " +"tools. |br| See `here `_ for how to get your project listed. " +"|br| Use the box above to search the package index by keyword, package " +"name, or author username." +msgstr "" + +#: ../../source/packages.rst:54 +msgid "Featured topics" +msgstr "" + +#: ../../source/packages.rst:64 +msgid "Browse Packages by Category" +msgstr "" + +#: ../../source/packages.rst:69 +msgid "`Data types and containers `_" +msgstr "" + +#: ../../source/packages.rst:71 ../../source/packages/data-types.rst:17 +msgid "Libraries for advanced data types and container classes" +msgstr "" + +#: ../../source/packages.rst:74 +msgid "`Interface libraries `_" +msgstr "" + +#: ../../source/packages.rst:76 ../../source/packages/interfaces.rst:17 +msgid "Libraries that interface with other systems, languages, or devices" +msgstr "" + +#: ../../source/packages.rst:79 +msgid "`Libraries `_" +msgstr "" + +#: ../../source/packages.rst:81 ../../source/packages/libraries.rst:18 +msgid "Fortran libraries for general programming tasks" +msgstr "" + +#: ../../source/packages.rst:84 +msgid "`Input, output and parsing `_" +msgstr "" + +#: ../../source/packages.rst:86 ../../source/packages/io.rst:17 +#: ../../source/packages/numerical.rst:17 +msgid "Libraries for reading, writing and parsing files and inputs" +msgstr "" + +#: ../../source/packages.rst:89 +msgid "`Graphics, plotting and user interfaces `_" +msgstr "" + +#: ../../source/packages.rst:91 ../../source/packages/graphics.rst:17 +msgid "" +"Libraries for plotting data, handling images and generating user " +"interfaces" +msgstr "" + +#: ../../source/packages.rst:94 +msgid "`Examples and templates `_" +msgstr "" + +#: ../../source/packages.rst:96 ../../source/packages/examples.rst:18 +msgid "Demonstration codes and templates for Fortran" +msgstr "" + +#: ../../source/packages.rst:99 +msgid "`Numerical projects `_" +msgstr "" + +#: ../../source/packages.rst:101 +msgid "Fortran libraries for linear algebra, optimization, root-finding etc." +msgstr "" + +#: ../../source/packages.rst:104 +msgid "`Programming utilities `_" +msgstr "" + +#: ../../source/packages.rst:106 ../../source/packages/programming.rst:17 +msgid "Error handling, logging, documentation and testing" +msgstr "" + +#: ../../source/packages.rst:109 +msgid "`Characters and strings `_" +msgstr "" + +#: ../../source/packages.rst:111 ../../source/packages/strings.rst:17 +msgid "Libraries for manipulating characters and strings" +msgstr "" + +#: ../../source/packages.rst:114 +msgid "`Scientific Codes `_" +msgstr "" + +#: ../../source/packages.rst:116 ../../source/packages/scientific.rst:18 +msgid "" +"Applications and libraries for applied mathematical and scientific " +"problems" +msgstr "" + +#: ../../source/packages/data-types.rst:3 ../../source/packages/examples.rst:3 +#: ../../source/packages/graphics.rst:3 ../../source/packages/interfaces.rst:3 +#: ../../source/packages/io.rst:3 ../../source/packages/libraries.rst:3 +#: ../../source/packages/numerical.rst:3 +#: ../../source/packages/programming.rst:3 +#: ../../source/packages/scientific.rst:3 ../../source/packages/strings.rst:3 +msgid "Featured Open Source Projects" +msgstr "" + +#: ../../source/packages/data-types.rst:9 ../../source/packages/examples.rst:9 +#: ../../source/packages/graphics.rst:9 ../../source/packages/interfaces.rst:9 +#: ../../source/packages/io.rst:9 ../../source/packages/libraries.rst:9 +#: ../../source/packages/numerical.rst:9 +#: ../../source/packages/programming.rst:9 +#: ../../source/packages/scientific.rst:9 ../../source/packages/strings.rst:9 +msgid "license" +msgstr "" + +#: ../../source/packages/data-types.rst:10 +#: ../../source/packages/examples.rst:10 ../../source/packages/graphics.rst:10 +#: ../../source/packages/interfaces.rst:10 ../../source/packages/io.rst:10 +#: ../../source/packages/libraries.rst:10 +#: ../../source/packages/numerical.rst:10 +#: ../../source/packages/programming.rst:10 +#: ../../source/packages/scientific.rst:10 ../../source/packages/strings.rst:10 +msgid "stars" +msgstr "" + +#: ../../source/packages/data-types.rst:11 +#: ../../source/packages/examples.rst:11 ../../source/packages/graphics.rst:11 +#: ../../source/packages/interfaces.rst:11 ../../source/packages/io.rst:11 +#: ../../source/packages/libraries.rst:11 +#: ../../source/packages/numerical.rst:11 +#: ../../source/packages/programming.rst:11 +#: ../../source/packages/scientific.rst:11 ../../source/packages/strings.rst:11 +msgid "forks" +msgstr "" + +#: ../../source/packages/data-types.rst:12 +#: ../../source/packages/examples.rst:12 ../../source/packages/graphics.rst:12 +#: ../../source/packages/interfaces.rst:12 ../../source/packages/io.rst:12 +#: ../../source/packages/libraries.rst:12 +#: ../../source/packages/numerical.rst:12 +#: ../../source/packages/programming.rst:12 +#: ../../source/packages/scientific.rst:12 ../../source/packages/strings.rst:12 +msgid "lastcommit" +msgstr "" + +#: ../../source/packages/data-types.rst:13 +#: ../../source/packages/examples.rst:13 ../../source/packages/graphics.rst:13 +#: ../../source/packages/interfaces.rst:13 ../../source/packages/io.rst:13 +#: ../../source/packages/libraries.rst:13 +#: ../../source/packages/numerical.rst:13 +#: ../../source/packages/programming.rst:13 +#: ../../source/packages/scientific.rst:13 ../../source/packages/strings.rst:13 +msgid "issues" +msgstr "" + +#: ../../source/packages/data-types.rst:14 +#: ../../source/packages/examples.rst:14 ../../source/packages/graphics.rst:14 +#: ../../source/packages/interfaces.rst:14 ../../source/packages/io.rst:14 +#: ../../source/packages/libraries.rst:14 +#: ../../source/packages/numerical.rst:14 +#: ../../source/packages/programming.rst:14 +#: ../../source/packages/scientific.rst:14 ../../source/packages/strings.rst:14 +msgid "release" +msgstr "" + diff --git a/locale/nl/LC_MESSAGES/sphinx.po b/locale/nl/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000..2d0fb74fa --- /dev/null +++ b/locale/nl/LC_MESSAGES/sphinx.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/archives.html:3 +msgid "Archives" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/authors.html:2 +msgid "Authors" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/categories.html:3 +msgid "Categories" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/collection.html:47 +msgid "Read more ..." +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/languages.html:3 +msgid "Languages" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/locations.html:3 +msgid "Locations" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:5 +msgid "Update" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:12 +msgid "Author" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:24 +msgid "Location" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:35 +msgid "Language" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:46 +msgid "Category" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:57 +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/tagcloud.html:2 +msgid "Tags" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:60 +msgid "Tag" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:5 +msgid "Previous" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:15 +msgid "Next" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/recentposts.html:3 +msgid "Recent Posts" +msgstr "" + +#: ../../source/_templates/inpage_toc.html:25 +msgid "On this page" +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/community.po b/locale/zh_CN/LC_MESSAGES/community.po new file mode 100644 index 000000000..2168602ec --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/community.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/community.rst:17 +msgid "Community - The Fortran Programming Language" +msgstr "" + +#: ../../source/community.rst:21 +msgid "Fortran-lang Community" +msgstr "" + +#: ../../source/community.rst:25 +msgid "Collaboration for the advancement of Fortran" +msgstr "" + +#: ../../source/community.rst:30 +msgid "Fortran-lang Community Projects" +msgstr "" + +#: ../../source/community.rst:40 +msgid "Fortran Standard Library (stdlib)" +msgstr "" + +#: ../../source/community.rst:42 +msgid "" +"A community-driven project for a de facto 'standard' library for Fortran." +" The stdlib project is both a specification and a reference " +"implementation, developed in cooperation with the Fortran Standards " +"Committee." +msgstr "" + +#: ../../source/community.rst:44 +msgid "" +"`GitHub `_ `Documentation " +"`_ `Contributing `_" +msgstr "" + +#: ../../source/community.rst:48 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/community.rst:50 +msgid "" +"A prototype project to develop a common build system for Fortran packages" +" and their dependencies." +msgstr "" + +#: ../../source/community.rst:52 +msgid "" +"`GitHub `_ `Documentation " +"`_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:56 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/community.rst:58 +msgid "This website is open source and contributions are welcome!." +msgstr "" + +#: ../../source/community.rst:60 +msgid "" +"`GitHub `_ " +"`Contributing `_" +msgstr "" + +#: ../../source/community.rst:82 +msgid "Get Involved" +msgstr "" + +#: ../../source/community.rst:97 +msgid "Join the Discussion" +msgstr "" + +#: ../../source/community.rst:98 +msgid "" +"The easiest way to join the community and contribute is by commenting on " +"issues and pull requests in the project repositories." +msgstr "" + +#: ../../source/community.rst:102 +msgid "" +"Whether Fortran beginner or seasoned veteran, your feedback and comments " +"are most welcome in guiding the future of Fortran-lang." +msgstr "" + +#: ../../source/community.rst:110 +msgid "Contributor Guide" +msgstr "" + +#: ../../source/community.rst:112 +msgid "" +"Want to contribute code and content? Check out the contributor guides in " +"each repository for information on the project workflow and recommended " +"practices. Contributor guide for stdlib" +msgstr "" + +#: ../../source/community.rst:117 +msgid "" +"`Contributor guide for stdlib `_ |br| `Contributor guide for fpm " +"`_ |br| " +"`Contributor guide for fortran-lang.org `_" +msgstr "" + +#: ../../source/community.rst:132 +msgid "Build and Test" +msgstr "" + +#: ../../source/community.rst:134 +msgid "" +"Get more involved with each project by cloning, building and testing it " +"on your own machine(s) and with your own codes; if something doesn't " +"work, create an issue to let us know! We value user feedback highly, be " +"it a bug report, feature request, or suggestion for documentation." +msgstr "" + +#: ../../source/community.rst:145 +msgid "Community Conduct" +msgstr "" + +#: ../../source/community.rst:147 +msgid "" +"As a community, we strive to make participation in our discussions and " +"projects a friendly and harassment-free experience for everyone. See the " +"full `Code of Conduct `_" +msgstr "" + +#: ../../source/community.rst:156 +msgid "Fortran-lang Contributors" +msgstr "" + +#: ../../source/community.rst:158 +msgid "" +"We are grateful for every contribution made by all members of the " +"community." +msgstr "" + +#: ../../source/community.rst:167 +msgid "source: https://git-contributor.com/" +msgstr "" + +#: ../../source/community.rst:171 +msgid "Contributors:" +msgstr "" + +#: ../../source/community.rst +msgid "card-img-top" +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/compilers.po b/locale/zh_CN/LC_MESSAGES/compilers.po new file mode 100644 index 000000000..eb39a0123 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/compilers.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/compilers.md:10 +msgid "Compilers" +msgstr "" + +#: ../../source/compilers.md:16 +msgid "" +"[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a " +"mature free and open source compiler, part of the GNU Compiler " +"Collection." +msgstr "" + +#: ../../source/compilers.md:19 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler " +"wrapper around gfortran which enables the parallel programming features " +"of Fortran 2018 with gfortran." +msgstr "" + +#: ../../source/compilers.md:25 +msgid "" +"[Flang](https://github.com/llvm/llvm-project/tree/main/flang) is a new " +"front-end for Fortran 2018 that has been recently added to LLVM. It is " +"implemented in modern C++ and uses a Fortran-oriented MLIR dialect for " +"lowering to LLVM IR. This project is under active development." +msgstr "" + +#: ../../source/compilers.md:34 +msgid "" +"[Flang](https://github.com/flang-compiler/flang) is an open source " +"compiler based on the NVIDIA/PGI commercial compiler." +msgstr "" + +#: ../../source/compilers.md:40 +msgid "" +"[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based " +"Fortran compiler." +msgstr "" + +#: ../../source/compilers.md:48 +msgid "" +"[Intel " +"oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi" +"/all-toolkits.html) is Intel's suite of compilers, tools, and libraries " +"for Fortran, C, C++, and Python. Intel oneAPI HPC Toolkit provides [two " +"Fortran " +"compilers](https://software.intel.com/content/www/us/en/develop/articles" +"/intel-oneapi-fortran-compiler-release-notes.html):" +msgstr "" + +#: ../../source/compilers.md:53 +msgid "" +"Intel Fortran Compiler Classic (`ifort`), a mature compiler with full " +"Fortran 2018 support; and" +msgstr "" + +#: ../../source/compilers.md:55 +msgid "" +"Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler that " +"supports Fortran 95 and partially newer versions of the standard." +msgstr "" + +#: ../../source/compilers.md:58 +msgid "" +"Intel oneAPI is available for free. Currently the compiler supports " +"Linux, MacOS and Windows platforms and x86\\_64 architectures. Community " +"support is available for the free version at the [Intel Developer " +"forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p" +"/fortran-compiler)." +msgstr "" + +#: ../../source/compilers.md:65 +msgid "" +"The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) " +"release (7.0) has extensive support for legacy and modern Fortran " +"features including parallel programming with coarrays, as well as " +"additional support for programming with OpenMP." +msgstr "" + +#: ../../source/compilers.md:68 +msgid "" +"The Compiler also provides significant support for Fortran 2018 (atomic " +"operations, events and tasks, plus other smaller features), almost all of" +" Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. " +"All platforms include supporting tools for software development: source " +"file polishers, dependency generator for module and include files, call-" +"graph generator, interface builder and a precision unifier." +msgstr "" + +#: ../../source/compilers.md:77 +msgid "" +"The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and " +"Fortran compilers, former [PGI " +"compilers](https://www.pgroup.com/products/index.htm), support GPU " +"acceleration of HPC modeling and simulation applications with standard " +"C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math " +"libraries maximize performance on common HPC algorithms, and optimized " +"communications libraries enable standards-based multi-GPU and scalable " +"systems programming." +msgstr "" + +#: ../../source/compilers.md:79 +msgid "" +"NVHPC compilers are available free of charge. Currently the compiler " +"supports Linux platforms and x86\\_64, ppc64le and aarch64 architectures." +" Community support is available at the [HPC compiler " +"forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-" +"compilers/nvc-nvc-and-nvfortran/313)." +msgstr "" + +#: ../../source/compilers.md:86 +msgid "" +"The [Cray Compiling Environment " +"(CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-" +"Environment.pdf) is the cornerstone innovation of Cray's adaptive " +"computing paradigm. CCE builds on a well-developed and sophisticated Cray" +" technology base that identifies regions of computation that are either " +"sequential scalar, vector parallel or highly multithreaded. It includes " +"optimizing compilers that automatically exploit the scalar, vector and " +"multithreading hardware capabilities of the Cray system. CCE supports " +"Fortran, C and C++." +msgstr "" + +#: ../../source/compilers.md:96 +msgid "" +"[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-" +"compiler-power) for Linux is an industry standards-based programming tool" +" used to develop large and complex applications in the Fortran " +"programming language. It generates code that leverages the capabilities " +"of the latest POWER9 architecture and maximizes your hardware " +"utilization. IBM XL Fortran for Linux optimizes your infrastructure on " +"IBM Power Systems™ in support of extensive numerical, scientific and " +"high-performance computing." +msgstr "" + +#: ../../source/compilers.md:104 +msgid "" +"A community edition of the IBM XL compilers are available free of charge." +" The compilers support Linux and AIX platforms and ppc64le architectures." +msgstr "" + +#: ../../source/compilers.md:110 +msgid "" +"The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-" +"aocc/) compiler system is a high performance, production quality code " +"generation tool. The AOCC environment provides various options to " +"developers when building and optimizing C, C++, and Fortran applications " +"targeting 32-bit and 64-bit Linux® platforms. The AOCC compiler system " +"offers a high level of advanced optimizations, multi-threading and " +"processor support that includes global optimization, vectorization, " +"inter-procedural analyses, loop transformations, and code generation. AMD" +" also provides highly optimized libraries, which extract the optimal " +"performance from each x86 processor core when utilized. The AOCC Compiler" +" Suite simplifies and accelerates development and tuning for x86 " +"applications." +msgstr "" + +#: ../../source/compilers.md:122 +msgid "" +"The AOCC compilers are available free of charge and support Linux " +"platforms with x86\\_64 architectures." +msgstr "" + +#: ../../source/compilers.md:127 +msgid "" +"[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-" +"software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-" +"compiler). Tailored for HPC and scientific codes, with support for " +"popular Fortran and OpenMP standards and tuned for leading server-class " +"Arm-based platforms. Built on the open source Flang front-end, and the " +"LLVM‑based optimization and code generation back-end. Available as part " +"of the Arm Compiler for Linux package." +msgstr "" + +#: ../../source/compilers.md:135 +msgid "" +"[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran " +"delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, " +"extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical" +" debugger, native tool suite integration, AMDAL HPC scientific and " +"engineering library, and more. Pro Fortran includes Fast Data " +"Visualization, an Absoft exclusive technology for graphical rendering and" +" data output." +msgstr "" + +#: ../../source/compilers.md:144 +msgid "" +"[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-" +"development/technologies/developerstudio-features.html) is highly " +"optimized for Oracle systems, on-premise and in the cloud" +msgstr "" + +#: ../../source/compilers.md:147 +msgid "" +"Advanced code generation technology for the latest Oracle SPARC and x86 " +"based systems" +msgstr "" + +#: ../../source/compilers.md:148 +msgid "" +"Support for the latest industry standards, including C++14, C++11, C11 " +"and OpenMP 4.0 and extensive GCC compatibility features" +msgstr "" + +#: ../../source/compilers.md:149 +msgid "" +"Automatic code analysis during compilation and automatic stack overflow " +"protection at application runtime" +msgstr "" + +#: ../../source/compilers.md:154 +msgid "" +"LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the" +" classic [Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier " +"has full Fortran 95/90/77 compliance with extensive support for the " +"Fortran 2003 and 2008 standards. Lahey/Fujitsu LF95 offers best in class " +"diagnostics. Includes the automatic-parallelizing GFortran compiler, " +"Lahey/Fujitsu Fortran 95 compiler, Visual Studio Fortran support, " +"Winteracter WiSK Graphics package, and more." +msgstr "" + +#: ../../source/compilers.md:163 +msgid "" +"[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 " +"standards compliant compiler, capable of producing fast executables for " +"Win32 and for Microsoft .NET. FTN95 ships with the world's best runtime " +"checking and a great range of supporting software. All standard and many " +"vendor-specific legacy language features are supported, so that Fortran " +"projects may be any combination of Fortran 77, Fortran 90 and Fortran 95." +" Some features of Fortran 2003 and 2008 have been " +"[added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx)." +" Silverfrost Fortran runs on Windows / x86_64. There is a free personal " +"edition." +msgstr "" + +#: ../../source/compilers.md:175 +msgid "" +"[The Fortran " +"compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) " +"conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports " +"many features from Fortran-2008 (ISO/IEC 1539-1:2010)." +msgstr "" + +#: ../../source/compilers.md:181 +msgid "" +"[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of " +"Fortran-95 (ISO/IEC 1539:1997) and partial support of Fortran-2003 " +"(ISO/IEC 1539:2004), Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 " +"(ISO/IEC 1539:2018). Used for russian processor architectures Elbrus " +"(e2k) and SPARC (MCST-R), also a cross-compiler for x86_64 architecture " +"is available." +msgstr "" + +#: ../../source/compilers.md:189 +msgid "" +"The following is a list of Fortran compilers that seem discontinued, so " +"we do not list them above:" +msgstr "" + +#: ../../source/compilers.md:192 +msgid "Apogee" +msgstr "" + +#: ../../source/compilers.md:193 +msgid "Edinburgh Portable Compilers" +msgstr "" + +#: ../../source/compilers.md:194 +msgid "Hewlett Packard" +msgstr "" + +#: ../../source/compilers.md:195 +msgid "Watcom" +msgstr "" + +#: ../../source/compilers.md:196 +msgid "PathScale" +msgstr "" + +#: ../../source/compilers.md:197 +msgid "G95" +msgstr "" + +#: ../../source/compilers.md:198 +msgid "Open64" +msgstr "" + +#: ../../source/compilers.md:199 +msgid "Unisys" +msgstr "" + +#: ../../source/compilers.md:203 +msgid "" +"Please let us know if there is any compiler that is not listed, or if we " +"listed a compiler in the Discontinued section and it is in fact actively " +"maintained." +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/index.po b/locale/zh_CN/LC_MESSAGES/index.po new file mode 100644 index 000000000..ccd9f86c4 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/index.po @@ -0,0 +1,182 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/index.rst:3 ../../source/index.rst:8 +msgid "The Fortran Programming Language" +msgstr "" + +#: ../../source/index.rst:3 +msgid "Fortran, High-performance, parallel programming language" +msgstr "" + +#: ../../source/index.rst:14 +msgid "High-performance parallel programming language" +msgstr "" + +#: ../../source/index.rst:16 +msgid "Get started" +msgstr "" + +#: ../../source/index.rst:24 +msgid "Features" +msgstr "" + +#: ../../source/index.rst:28 +msgid "High performance" +msgstr "" + +#: ../../source/index.rst:30 +msgid "" +"Fortran has been designed from the ground up for computationally " +"intensive applications in science and engineering. Mature and battle-" +"tested compilers and libraries allow you to write code that runs close to" +" the metal, fast." +msgstr "" + +#: ../../source/index.rst:34 +msgid "Statically and strongly typed" +msgstr "" + +#: ../../source/index.rst:36 +msgid "" +"Fortran is statically and strongly typed, which allows the compiler to " +"catch many programming errors early on for you. This also allows the " +"compiler to generate efficient binary code." +msgstr "" + +#: ../../source/index.rst:40 +msgid "Easy to learn and use" +msgstr "" + +#: ../../source/index.rst:42 +msgid "" +"Fortran is a relatively small language that is surprisingly easy to learn" +" and use. Expressing most mathematical and arithmetic operations over " +"large arrays is as simple as writing them as equations on a whiteboard." +msgstr "" + +#: ../../source/index.rst:46 +msgid "Versatile" +msgstr "" + +#: ../../source/index.rst:48 +msgid "" +"Fortran allows you to write code in a style that best fits your problem: " +"imperative, procedural, array-oriented, object-oriented, or functional." +msgstr "" + +#: ../../source/index.rst:52 +msgid "Natively parallel" +msgstr "" + +#: ../../source/index.rst:54 +msgid "" +"Fortran is a natively parallel programming language with intuitive array-" +"like syntax to communicate data between CPUs. You can run almost the same" +" code on a single CPU, on a shared-memory multicore system, or on a " +"distributed-memory HPC or cloud-based system. Coarrays, teams, events, " +"and collective subroutines allow you to express different parallel " +"programming patterns that best fit your problem at hand." +msgstr "" + +#: ../../source/index.rst:58 +msgid "FAQ" +msgstr "" + +#: ../../source/index.rst:62 +msgid "What is the status of Fortran?" +msgstr "" + +#: ../../source/index.rst:64 +msgid "" +"Fortran is still in active development. The latest revision of the " +"language is `Fortran 2018 " +"`_,and" +" the next one, with the working title Fortran 202x, is planned for " +"release in the next few years. Further, open source projects like the " +"`Standard Library `_ and the " +"`Fortran Package Manager `_ are in " +"active development." +msgstr "" + +#: ../../source/index.rst:68 +msgid "What is Fortran used for?" +msgstr "" + +#: ../../source/index.rst:70 +msgid "" +"Fortran is mostly used in domains that adopted computation early--science" +" and engineering. These include numerical weather and ocean prediction, " +"computational fluid dynamics, applied math, statistics, and finance. " +"Fortran is the dominant language of High Performance Computing and is " +"used to `benchmark the fastest supercomputers in the world. " +"`_" +msgstr "" + +#: ../../source/index.rst:74 +msgid "Should I use Fortran for my new project?" +msgstr "" + +#: ../../source/index.rst:76 +msgid "" +"If you're writing a program or a library to perform fast arithmetic " +"computation over large numeric arrays, Fortran is the optimal tool for " +"the job." +msgstr "" + +#: ../../source/index.rst:108 +msgid "Make Fortran better" +msgstr "" + +#: ../../source/index.rst:118 +msgid "Write proposals" +msgstr "" + +#: ../../source/index.rst:119 +msgid "" +"Have an idea about how to improve the language? You can write new " +"proposals or contribute to existing proposals to the Fortran Standard " +"Committee on `GitHub `_ " +"." +msgstr "" + +#: ../../source/index.rst:127 +msgid "Develop tools" +msgstr "" + +#: ../../source/index.rst:128 +msgid "" +"You can also help make Fortran better by contributing to its suite of " +"tools, such as `Standard Library `_ , `Package Manager `_" +" , or `this website `_ " +"." +msgstr "" + +#: ../../source/index.rst:138 +msgid "Write Fortran software" +msgstr "" + +#: ../../source/index.rst:139 +msgid "" +"Or just write Fortran software for your research, business, or " +"schoolwork. You can learn how to `get started here `_ ." +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/learn.po b/locale/zh_CN/LC_MESSAGES/learn.po new file mode 100644 index 000000000..6f2a20c64 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/learn.po @@ -0,0 +1,15847 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/learn.rst:4 +msgid "Learn" +msgstr "" + +#: ../../source/learn.rst:12 +msgid "Learn Fortran" +msgstr "" + +#: ../../source/learn.rst:16 +msgid "Learning resources for beginners and experts alike" +msgstr "" + +#: ../../source/learn.rst:20 +msgid "Getting Started" +msgstr "" + +#: ../../source/learn.rst:33 +msgid "" +"Try the quickstart Fortran tutorial, to get an overview of the language " +"syntax and capabilities. |br|" +msgstr "" + +#: ../../source/learn.rst:35 +msgid "" +" Quickstart tutorial" +msgstr "" + +#: ../../source/learn.rst:53 +msgid "" +"Ask a question in the Fortran-lang discourse - a forum for friendly " +"discussion of all things Fortran. |br|" +msgstr "" + +#: ../../source/learn.rst:55 +msgid "" +" Fortran-lang Discourse" +msgstr "" + +#: ../../source/learn.rst:65 +msgid "Mini-book Tutorials" +msgstr "" + +#: ../../source/learn.rst:92 +msgid "Other Resources" +msgstr "" + +#: ../../source/learn.rst:96 +msgid "On the web" +msgstr "" + +#: ../../source/learn.rst:111 +msgid "Online Courses" +msgstr "" + +#: ../../source/learn.rst:124 +msgid "In print" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:8 +msgid "Allocatable Arrays" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:10 +msgid "" +"The ``allocatable`` attribute provides a safe way for memory handling. In" +" comparison to variables with ``pointer`` attribute the memory is managed" +" automatically and will be deallocated automatically once the variable " +"goes out-of-scope. Using ``allocatable`` variables removes the " +"possibility to create memory leaks in an application." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:16 +msgid "" +"They can be used in subroutines to create scratch or work arrays, where " +"automatic arrays would become too large to fit on the stack." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:24 +msgid "" +"The allocation status can be checked using the ``allocated`` intrinsic to" +" avoid uninitialized access" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:37 +msgid "" +"To allocate variables inside a procedure the dummy argument has to carry " +"the ``allocatable`` attribute. Using it in combination with " +"``intent(out)`` will deallocate previous allocations before entering the " +"procedure:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:48 +msgid "The allocated array can be used afterwards like a normal array" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:55 +msgid "" +"An already allocated array cannot be allocated again without prior " +"deallocation. Similarly, deallocation can only be invoked for allocated " +"arrays. To reallocate an array use" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:64 +msgid "" +"Passing allocated arrays to procedures does not require the " +"``allocatable`` attribute for the dummy arguments anymore." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:87 +msgid "" +"Passing an unallocated array in this context will lead to an invalid " +"memory access. Allocatable arrays can be passed to ``optional`` dummy " +"arguments -- if they are unallocated the argument will not be present. " +"The ``allocatable`` attribute is not limited to arrays and can also be " +"associated with scalars, which can be useful in combination with " +"``optional`` dummy arguments." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:93 +msgid "" +"Allocations can be moved between different arrays with ``allocatable`` " +"attribute using the ``move_alloc`` intrinsic subroutine." +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:125 +msgid "" +"Finally, allocations do not initialize the array. The content of the " +"uninitialized array is most likely just the bytes of whatever was " +"previously at the respective address. The allocation supports " +"initialization using the source attribute:" +msgstr "" + +#: ../../source/learn/best_practices/allocatable_arrays.md:134 +msgid "" +"The ``source`` keyword supports scalar and array valued variables and " +"constants." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:8 +msgid "Arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:10 +msgid "" +"Arrays are a central object in Fortran. The creation of dynamic sized " +"arrays is discussed in the [allocatable arrays " +"section](./allocatable_arrays.html)." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:13 +msgid "To pass arrays to procedures four ways are available" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:15 +msgid "*assumed-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:16 +msgid "*assumed-rank* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:17 +#: ../../source/learn/best_practices/element_operations.md:13 +msgid "*explicit-shape* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:18 +msgid "*assumed-size* arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:20 +msgid "" +"The preferred way to pass arrays to procedures is as *assumed-shape* " +"arrays" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:33 +msgid "Higher-dimensional arrays can be passed in a similar way." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:42 +msgid "The array is simply passed by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:49 +msgid "" +"In this case no array copy is done, which has the advantage that the " +"shape and size information is automatically passed along and checked at " +"compile and optionally at runtime. Similarly, array strides can be passed" +" without requiring a copy of the array but as *assumed-shape* descriptor:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:61 +msgid "" +"This should always be your default way of passing arrays in and out of " +"subroutines. Avoid passing arrays as whole slices, as it obfuscates the " +"actual intent of the code:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:69 +msgid "" +"In case more general arrays should be passed to a procedure the *assumed-" +"rank* functionality introduced in the Fortran 2018 standard can be used" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:84 +msgid "" +"The actual rank can be queried at runtime using the ``select rank`` " +"construct. This easily allows to create more generic functions that have " +"to deal with different array ranks." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:88 +msgid "" +"*Explicit-shape* arrays can be useful for returning data from functions. " +"Most of their functionality can be provided by *assumed-shape* and " +"*assumed-rank* arrays but they find frequent use for interfacing with C " +"or in legacy Fortran procedures, therefore they will be discussed briefly" +" here." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:93 +msgid "" +"To use *explicit-shape* arrays, the dimension has to be passed explicitly" +" as dummy argument like in the example below" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:107 +msgid "For high-dimensional arrays additional indices have to be passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:117 +msgid "The routines can be invoked by" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:125 +msgid "" +"Note that the shape is not checked, so the following would be legal code " +"that will potentially yield incorrect results:" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:134 +msgid "" +"In this case the memory layout is preserved but the shape is changed. " +"Also, *explicit-shape* arrays require contiguous memory and will create " +"temporary arrays in case non-contiguous array strides are passed." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:138 +msgid "To return an array from a function with *explicit-shape* use" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:151 +msgid "" +"Finally, there are *assumed-size* arrays, which provide the least " +"compile-time and run-time checking and can be found frequently in legacy " +"code. They should be avoided in favour of *assumed-shape* or *assumed-" +"rank* arrays. An *assumed-size* array dummy argument is identified by an " +"asterisk as the last dimension, this disables the usage of this array " +"with many intrinsic functions, like ``size`` or ``shape``." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:158 +msgid "" +"To check for the correct size and shape of an *assumed-shape* array the " +"``size`` and ``shape`` intrinsic functions can be used to query for those" +" properties" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:166 +msgid "" +"Note that ``size`` returns the total size of all dimensions. To obtain " +"the shape of a specific dimension add it as second argument to the " +"function." +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:169 +msgid "Arrays can be initialized by using an array constructor" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:176 +msgid "" +"The array constructor can be annotated with the type of the constructed " +"array" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:183 +msgid "Implicit do loops can be used inside an array constructor as well" +msgstr "" + +#: ../../source/learn/best_practices/arrays.md:191 +msgid "In order for the array to start with different index than 1, do:" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:8 +msgid "Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:10 +msgid "" +"A callback is a function that is passed as an argument to another " +"function." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:12 +msgid "" +"The preferred way of creating such a callback is to provide an *abstract " +"interface* declaring the signature of the callback. This allows to use " +"compile time checks for the passed callback." +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:44 +msgid "" +"The function can then be used with a callback by importing the module as " +"shown in the following example" +msgstr "" + +#: ../../source/learn/best_practices/callbacks.md:73 +msgid "" +"Exporting the abstract interface allows you to create procedure pointers " +"with the correct signature and also to extend the callback further as " +"shown here" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:8 +msgid "Element-wise Operations on Arrays" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:10 +msgid "" +"There are three approaches to perform element-wise operations on arrays " +"when using subroutines and functions:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:12 +msgid "`elemental` procedures" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:14 +msgid "" +"implementing the operation for vectors and write simple wrapper " +"subroutines (that use `reshape` internally) for each array shape" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:17 +msgid "" +"In the first approach, one uses the `elemental` keyword to create a " +"function like this:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:28 +msgid "" +"All arguments (in and out) must be scalars. You can then use this " +"function with arrays of any (compatible) shape, for example:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:39 +msgid "The output will be:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:49 +msgid "" +"In the above, typically `n` is a parameter and `x` is the array of an " +"arbitrary shape, but as you can see, Fortran does not care as long as the" +" final operation makes sense (if one argument is an array, then the other" +" arguments must be either arrays of the same shape or scalars). If it " +"does not, you will get a compiler error." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:55 +msgid "" +"The `elemental` keyword implies the `pure` keyword, so the procedure must" +" be pure. It results that `elemental procedures` can only use `pure` " +"procedures and have no side effects." +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:58 +msgid "" +"If the elemental procedure algorithm can be made faster using array " +"operations inside, or if for some reasons the arguments must be arrays of" +" incompatible shapes, then one should use the other two approaches. One " +"can make `nroot` operate on a vector and write a simple wrapper for other" +" array shapes, e.g.:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:89 +msgid "And use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:97 +msgid "This will print:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:105 +msgid "Or one can use *explicit-shape* arrays as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:117 +msgid "Use as follows:" +msgstr "" + +#: ../../source/learn/best_practices/element_operations.md:125 +msgid "The output is the same as before:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:8 +msgid "File Input/Output" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:10 +msgid "" +"In Fortran files are managed by unit identifiers. Interaction with the " +"filesystem mainly happens through the ``open`` and ``inquire`` built-in " +"procedures. Generally, the workflow is to open a file to a unit " +"identifier, read and/or write to it and close it again." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:22 +msgid "" +"By default the file will be created if it is not existing already and " +"opened for both reading and writing. Writing to an existing file will " +"start in the first record (line) and therefore overwrite the file by " +"default." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:26 +msgid "" +"To create a read-only access to a file the ``status`` and ``action`` have" +" to be specified with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:36 +msgid "" +"In case the file is not present a runtime error will occur. To check for " +"the existence of a file prior to opening it the ``inquire`` function can " +"be used" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:47 +msgid "" +"Alternatively, the ``open`` procedure can return an optional *iostat* and" +" *iomsg*:" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:59 +msgid "" +"Note that *iomsg* requires a fixed-length character variable with " +"sufficient storage size to hold the error message." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:62 +msgid "" +"Similarly, writing to a file happens by using the *status* and *action* " +"keyword. To create a new file use" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:72 +msgid "" +"Alternatively, ``status=\"replace\"`` can be used to overwrite an " +"existing file. It is highly recommended to first check for the existence " +"of a file before deciding on the *status* to use. To append to an output " +"file the *position* keyword can be specified explicitly with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:86 +msgid "" +"To reset the position in a file the built-in procedures ``rewind`` and " +"``backspace`` can be used. ``rewind`` will reset to the first record " +"(line), while ``backspace`` will return to the previous record (line)." +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:90 +msgid "" +"Finally, to delete a file the file has to be opened and can be deleted " +"after closing with" +msgstr "" + +#: ../../source/learn/best_practices/file_io.md:103 +msgid "" +"A useful IO feature is scratch files, which can be opened with " +"``status=\"scratch\"``. They are automatically deleted after closing the " +"unit identifier." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:8 +msgid "Floating Point Numbers" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:10 +msgid "" +"The default representation of floating point numbers is using single " +"precision (usually 32 bits / 4 bytes). For most applications a higher " +"precision is required. For this purpose a custom kind parameter can be " +"defined. The recommended way of defining kind parameters is to use" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:19 +msgid "" +"For many purposes it also suffices to directly infer the kind parameter " +"from a literal like here" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:26 +msgid "" +"or to rename the imported kind parameter from the ``iso_fortran_env`` " +"module" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:32 +msgid "" +"For some insightful thoughts on kind parameters see Doctor Fortran in it takes all " +"KINDs." +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:35 +msgid "" +"It is recommended to have a central module to define kind parameters and " +"include them with use as necessary. An example for such a module is given" +" with" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:63 +msgid "" +"Floating point constants should always be declared including a kind " +"parameter suffix:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:72 +msgid "" +"It is safe to assign integers to floating point numbers without losing " +"accuracy:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:79 +msgid "" +"In order to impose floating point division (as opposed to integer " +"division `3/4` equal to `0`), one can convert the integer to a floating " +"point number by:" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:88 +msgid "or simply separate the integer division with multiplication by `1.0_dp`" +msgstr "" + +#: ../../source/learn/best_practices/floating_point.md:95 +msgid "" +"To print floating point numbers without losing precision use the " +"unlimited format specifier ``(g0)`` or the exponential representation " +"``(es24.16e3)``, which will give you 17 significant digits of printout." +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "allocatable arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "file io" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "modules programs" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "floating point" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "multidim arrays" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "callbacks" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "style guide" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "element operations" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "integer division" +msgstr "" + +#: ../../source/learn/best_practices/index.md:17 +msgid "type casting" +msgstr "" + +#: ../../source/learn/best_practices/index.md:9 +msgid "Fortran Best Practices" +msgstr "" + +#: ../../source/learn/best_practices/index.md:11 +msgid "" +"This mini-book collects a modern canonical way of doing things in " +"Fortran. It serves as a style guide and best practice recommendation for " +"popular topics and common tasks. Generally, a canonical solution or " +"pattern is presented and discussed. It is meant for programmers with " +"basic familiarity of the Fortran syntax and programming in general." +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:8 +msgid "Integer Division" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:10 +msgid "" +"Fortran distinguishes between floating point and integer arithmetic. It " +"is important to note that division for integers is always using integer " +"arithmetic. Furthermore, while Fortran uses the standard order-of-" +"operations (e.g. multiplication and division preceed addition and " +"subtraction, in the absence of parenthesis), operations of the same " +"precedence are evaluated from left to right. Consider the following " +"example for integer division of an odd number:" +msgstr "" + +#: ../../source/learn/best_practices/integer_division.md:28 +msgid "" +"Be careful about whether you want to actually use integer arithmetic in " +"this context. If you want to use floating point arithmetic instead make " +"sure to cast to reals before using the division operator, or separate the" +" integers by multiplying by `1.0_dp`:" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:8 +msgid "Modules and Programs" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:10 +msgid "" +"Modules are the preferred way create modern Fortran libraries and " +"applications. As a convention, one source file should always contain only" +" one module, while the module name should match the filepath to allow " +"easy navigation in larger projects. It is also recommended to prefix " +"module names with the library name to avoid name clashes when used as " +"dependency in other projects." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:16 +msgid "An example for such a module file is given here" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:52 +msgid "" +"There are a few things in this example module to highlight. First, every " +"module starts with comments documenting the purpose and content of the " +"module. Similarly, every procedure starts with a comment briefly " +"describing its purpose and the intent of the dummy arguments. " +"Documentation is one of the most important parts of creating long-living " +"software, regardless of language." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:58 +msgid "" +"Second, imports (*use*) and exports (*public*) are explicitly given, this" +" allows on a glance at the module source to check the used and available " +"procedures, constants and derived types. The imports are usually limited " +"to the module scope rather than reimported in every procedure or " +"interface scope. Similarly, exports are made explicitly by adding a " +"*private* statement on a single line and explicitly listing all exported " +"symbols in *public* statements." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:66 +msgid "" +"Finally, the `implicit none` statement works for the whole module and " +"there is no need to repeat it within each procedure." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:69 +msgid "" +"Variables inside a module are static (*implicitly saved*). It is highly " +"recommended to limit the usage of module variables to constant " +"expressions, like parameters or enumerators only or export them as " +"*protected* rather than *public*." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:74 +msgid "" +"Submodules can be used to break long dependency chains and shorten " +"recompilation cascades in Fortran programs. They also offer the " +"possibility to provide specialized and optimized implementations without " +"requiring the use of preprocessor." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:78 +msgid "" +"An example from the Fortran standard library is the quadrature module, " +"which only defines interfaces to module procedures, but no " +"implementations" +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:111 +msgid "" +"While the implementation is provided in separate submodules like the one " +"for the trapezoidal integration rule given here." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:145 +msgid "" +"Note that the module procedures do not have to be implemented in the same" +" submodule. Several submodules can be used to reduce the compilation load" +" for huge modules." +msgstr "" + +#: ../../source/learn/best_practices/modules_programs.md:148 +msgid "" +"Finally, when setting up a program, it is recommended to keep the actual " +"implementations in the program body at minimum. Reusing implementations " +"from modules allows you to write reusable code and focus the program " +"unit on conveying user input to the respective library functions and " +"objects." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:8 +msgid "Multidimensional Arrays" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:10 +msgid "" +"Multidimensional arrays are stored in column-major order. This means the " +"left-most (inner-most) index addresses elements contiguously. From a " +"practical point this means that the array slice ``V(:, 1)`` is " +"contiguous, while the stride between elements in the slice ``V(1, :)`` is" +" the dimension of the columns. This is important when passing array " +"slices to procedures which expect to work on contiguous data." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:17 +msgid "" +"The locality of the memory is important to consider depending on your " +"application, usually when performing operations on a multidimensional the" +" sequential access should always advance in unity strides." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:21 +msgid "" +"In the following example the inverse distance between two sets of points " +"is evaluated. Note that the points are stored contiguously in the arrays " +"``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most " +"index of the matrix ``a``." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:40 +msgid "" +"Another example would be the contraction of the third dimension of a rank" +" three array:" +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:53 +msgid "" +"Contiguous array slices can be used in array-bound remapping to allow " +"usage of higher rank arrays as lower rank arrays without requiring to " +"reshape and potentially create a temporary copy of the array." +msgstr "" + +#: ../../source/learn/best_practices/multidim_arrays.md:57 +msgid "" +"For example this can be used to contract the third dimension of a rank " +"three array using a matrix-vector operation:" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:8 +msgid "Fortran Style Guide" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:10 +msgid "Naming Convention" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:13 +msgid "" +"Ultimately this is a matter of preference. Here is a style guide that we " +"like and that seems to be prevalent in most scientific codes (as well as " +"the Fortran standard library), and you are welcome to follow it." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:17 +msgid "" +"Use lowercase for all Fortran constructs (`do`, `subroutine`, `module`, " +"...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:19 +msgid "" +"Follow short mathematical notation for mathematical variables/functions " +"(`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:21 +msgid "" +"For other names use all lowercase: try to keep names to one or two " +"syllables; if more are required, use underscores to clarify (`sortpair`, " +"`whitechar`, `meshexp`, `numstrings`, `linspace`, `meshgrid`, `argsort`, " +"`spline`, `spline_interp`, `spline_interpolate`, `stoperr`, `stop_error`," +" `meshexp_der`)." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:27 +msgid "" +"For example \"spline interpolation\" can be shortened to " +"`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, " +"but not to `splineint` (\"int\" could mean integration, integer, etc. ---" +" too much ambiguity, even in the clear context of a computational code). " +"This is in contrast to `get_argument()` where `getarg()` is perfectly " +"clean and clear." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:34 +msgid "" +"The above are general guidelines. In general, choosing the right name " +"certainly depends on the word being truncated as to whether the first " +"syllable is sufficient. Usually it is but clearly not always. Thus some " +"thought should go into step \"try to keep names to 2 syllables or less\" " +"since it can really affect the indicativeness and simplicity. Simple " +"consistent naming rules are a real help in this regard -- for both " +"collaboration and for one's own sanity when going back to some old code " +"you haven't seen in while." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:43 +msgid "Indentation" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:46 +msgid "" +"Use a consistent indentation to make your code readable. The amount of " +"indentation is a matter of preference, the most common choices are two, " +"three or four spaces." +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:50 +msgid "Comparison to Other Languages" +msgstr "" + +#: ../../source/learn/best_practices/style_guide.md:53 +msgid "" +"On the other hand, in most of the rest of the programming world, where " +"the main focus is, in one form or another, on defining and using large " +"sets of complex objects, with tons of properties and behaviors, known " +"only in the code in which they are defined (as opposed to defined by the " +"same notation throughout the literature), it makes more sense to use " +"longer, more descriptive names. The naming conventions one sees used in " +"more general-purpose languages such as C++ and Python, therefore, are " +"perfectly consistent with their more general-purpose missions. But " +"Fortran has a different mission (numerical scientific computing)." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:8 +msgid "Type Casting in Callbacks" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:10 +msgid "" +"There are essentially five different ways to do type casting, each with " +"its own advantages and disadvantages." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:13 +msgid "" +"The methods I, II and V can be used both in C and Fortran. The methods " +"III and IV are only available in Fortran. The method VI is obsolete and " +"should not be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:17 +msgid "Work Arrays" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:20 +msgid "" +"Pass a \"work array\" which is packed with everything needed by the " +"caller and unpacked by the called routine. This is the old way -- e.g., " +"how LAPACK does it." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:24 +#: ../../source/learn/best_practices/type_casting.md:95 +#: ../../source/learn/best_practices/type_casting.md:179 +#: ../../source/learn/best_practices/type_casting.md:244 +#: ../../source/learn/best_practices/type_casting.md:296 +msgid "Integrator:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:53 +#: ../../source/learn/best_practices/type_casting.md:133 +#: ../../source/learn/best_practices/type_casting.md:206 +#: ../../source/learn/best_practices/type_casting.md:271 +#: ../../source/learn/best_practices/type_casting.md:326 +#: ../../source/learn/best_practices/type_casting.md:438 +msgid "Usage:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:86 +msgid "General Structure" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:89 +msgid "" +"Define a general structure which encompass the variations you actually " +"need (or are even remotely likely to need going forward). This single " +"structure type can then change if needed as future needs/ideas permit but" +" won't likely need to change from passing, say, real numbers to, say, and" +" instantiation of a text editor." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:166 +msgid "" +"There is only so much flexibility really needed. For example, you could " +"define two structure types for this purpose, one for Schroedinger and one" +" for Dirac. Each would then be sufficiently general and contain all the " +"needed pieces with all the right labels." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:171 +msgid "" +"Point is: it needn't be \"one abstract type to encompass all\" or bust. " +"There are natural and viable options between \"all\" and \"none\"." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:174 +msgid "Private Module Variables" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:177 +msgid "Hide the variable arguments completely by passing in module variables." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:236 +msgid "" +"However it is best to avoid such global variables -- even though really " +"just semi-global -- if possible. But sometimes it may be the simplest " +"cleanest way. However, with a bit of thought, usually there is a better, " +"safer, more explicit way along the lines of II or IV." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:241 +msgid "Nested functions" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:290 +msgid "Using type(c\\_ptr) Pointer" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:293 +msgid "" +"In C, one would use the `void *` pointer. In Fortran, one can use " +"`type(c_ptr)` for exactly the same purpose." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:364 +msgid "" +"As always, with the advantages of such re-casting, as Fortran lets you do" +" if you really want to, come also the disadvantages that fewer compile- " +"and run-time checks are possible to catch errors; and with that, " +"inevitably more leaky, bug-prone code. So one always has to balance the " +"costs and benefits." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:370 +msgid "" +"Usually, in the context of scientific programming, where the main thrust " +"is to represent and solve precise mathematical formulations (as opposed " +"to create a GUI with some untold number of buttons, drop-downs, and other" +" interface elements), simplest, least bug-prone, and fastest is to use " +"one of the previous approaches." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:376 +msgid "transfer() Intrinsic Function" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:379 +msgid "" +"Before Fortran 2003, the only way to do type casting was using the " +"`transfer` intrinsic function. It is functionally equivalent to the " +"method V, but more verbose and more error prone. It is now obsolete and " +"one should use the method V instead." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:384 +msgid "Examples:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:386 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:388 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:390 +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:392 +msgid "Object Oriented Approach" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:395 +msgid "The module:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:432 +msgid "" +"The abstract type prescribes exactly what the integration routine needs, " +"namely a method to evaluate the function, but imposes nothing else on the" +" user. The user extends this type, providing a concrete implementation of" +" the eval type bound procedure and adding necessary context data as " +"components of the extended type." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:477 +msgid "Complete Example of void \\* vs type(c\\_ptr) and transfer()" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:480 +msgid "" +"Here are three equivalent codes: one in C using `void *` and two codes in" +" Fortran using `type(c_ptr)` and `transfer()`:" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Language  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Method" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Link" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "C" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`void *`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "Fortran" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`type(c_ptr)`  " +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "`transfer()`" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md +msgid "" +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:489 +msgid "" +"The C code uses the standard C approach for writing extensible libraries " +"that accept callbacks and contexts. The two Fortran codes show how to do " +"the same. The `type(c_ptr)` method is equivalent to the C version and " +"that is the approach that should be used." +msgstr "" + +#: ../../source/learn/best_practices/type_casting.md:494 +msgid "" +"The `transfer()` method is here for completeness only (before Fortran " +"2003, it was the only way) and it is a little cumbersome, because the " +"user needs to create auxiliary conversion functions for each of his " +"types. As such, the `type(c_ptr)` method should be used instead." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:8 +msgid "Build tools" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:10 +msgid "" +"Compiling your Fortran projects by hand can become quite complicated " +"depending on the number of source files and the interdependencies through" +" the module. Supporting different compilers and linkers or different " +"platforms can become increasingly complicated unless the right tools are " +"used to automatically perform those tasks." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:16 +msgid "" +"Depending on the size of your project and the purpose of project " +"different options for the build automation can be used." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:19 +msgid "" +"First, your integrated development environment probably provides a way to" +" build your program. A popular cross-platform tool is Microsoft's Visual Studio Code, but others exist, such as Atom, Eclipse Photran, and Code::Blocks. They offer a graphical user-interface," +" but are often very specific for the compiler and platform." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:29 +msgid "" +"For smaller projects, the rule based build system ``make`` is a common " +"choice. Based on the rules defined it can perform task like (re)compiling" +" object files from updated source files, creating libraries and linking " +"executables. To use ``make`` for your project you have to encode those " +"rules in ``Makefile``, which defines the interdependencies of all the " +"final program, the intermediary object files or libraries and the actual " +"source files. For a short introduction see [the guide on ``make" +"``](#using-make-as-build-tool)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:38 +msgid "" +"Maintenance tools like autotools and CMake can generate Makefiles or " +"Visual Studio project files via a high-level description. They abstract " +"away from the compiler and platform specifics." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:42 +msgid "" +"Which of those tools are the best choice for your projects depends on " +"many factors. Choose a build tool you are comfortable working with, it " +"should not get in your way while developing. Spending more time on " +"working against your build tools than doing actual development work can " +"quickly become frustrating." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:47 +msgid "" +"Also, consider the accessibility of your build tools. If it is restricted" +" to a specific integrated development environment, can all developers on " +"your project access it? If you are using a specific build system, does it" +" work on all platforms you are developing for? How large is the entry " +"barrier of your build tools? Consider the learning curve for the build " +"tools, the perfect build tool will be of no use, if you have to learn a " +"complex programming language first to add a new source file. Finally, " +"consider what other project are using, those you are depending on and " +"those that use (or will use) your project as dependency." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:59 +msgid "Using make as build tool" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:61 +msgid "" +"The most well-known and commonly used build system is called ``make``. It" +" performs actions following rules defined in a configuration file called " +"``Makefile`` or ``makefile``, which usually leads to compiling a program " +"from the provided source code." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:68 +msgid "" +"For an in-depth ``make`` tutorial lookup its info page. There is an " +"online version of this info page, available." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:70 +msgid "" +"We will start with the basics from your clean source directory. Create " +"and open the file ``Makefile``, we start with a simple rule called *all*:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:78 +msgid "" +"After saving the ``Makefile`` run it by executing ``make`` in the same " +"directory. You should see the following output:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:84 +msgid "" +"First, we note that ``make`` is substituting ``$@`` for the name of the " +"rule, the second thing to note is that ``make`` is always printing the " +"command it is running, finally, we see the result of running ``echo " +"\"all\"``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:89 +msgid "" +"We call the entry point of our ``Makefile`` always *all* by convention, " +"but you can choose whatever name you like." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:93 +msgid "" +"You should not have noticed it if your editor is working correctly, but " +"you have to indent the content of a rule with a tab character. In case " +"you have problems running the above ``Makefile`` and see an error like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:99 +msgid "" +"The indentation is probably not correct. In this case replace the " +"indentation in the second line with a tab character." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:105 +msgid "" +"Now we want to make our rules more complicated, therefore we add another " +"rule:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:117 +msgid "" +"Note how we declare variables in ``make``, you should always declare your" +" local variables with ``:=``. To access the content of a variable we use " +"the ``$(...)``, note that we have to enclose the variable name in " +"parenthesis." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:122 +msgid "" +"The declaration of variables is usually done with ``:=``, but ``make`` " +"does support *recursively expanded* variables as well with ``=``. " +"Normally, the first kind of declaration is wanted, as they are more " +"predictable and do not have a runtime overhead from the recursive " +"expansion." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:128 +msgid "" +"We introduced a dependency of the rule all, namely the content of the " +"variable ``PROG``, also we modified the printout, we want to see all the " +"dependencies of this rule, which are stored in the variable ``$^``. Now " +"for the new rule which we name after the value of the variable ``PROG``, " +"it does the same thing we did before for the rule *all*, note how the " +"value of ``$@`` is dependent on the rule it is used in." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:135 +msgid "Again check by running the ``make``, you should see:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:142 +msgid "" +"The dependency has been correctly resolved and evaluated before " +"performing any action on the rule *all*. Let's run only the second rule: " +"type ``make my_prog`` and you will only find the first two lines in your " +"terminal." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:147 +msgid "" +"The next step is to perform some real actions with ``make``, we take the " +"source code from the previous chapter here and add new rules to our " +"``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:164 +msgid "" +"We define ``OBJS`` which stands for object files, our program depends on " +"those ``OBJS`` and for each object file we create a rule to make them " +"from a source file. The last rule we introduced is a pattern matching " +"rule, ``%`` is the common pattern between ``tabulate.o`` and " +"``tabulate.f90``, which connects our object file ``tabulate.o`` to the " +"source file ``tabulate.f90``. With this set, we run our compiler, here " +"``gfortran`` and translate the source file into an object file, we do not" +" create an executable yet due to the ``-c`` flag. Note the usage of the " +"``$<`` for the first element of the dependencies here." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:175 +msgid "" +"After compiling all the object files we attempt to link the program, we " +"do not use a linker directly, but ``gfortran`` to produce the executable." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:178 +msgid "Now we run the build script with ``make``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:189 +msgid "" +"We remember that we have dependencies between our source files, therefore" +" we add this dependency explicitly to the ``Makefile`` with" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:196 +msgid "" +"Now we can retry and find that the build is working correctly. The output" +" should look like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:203 +msgid "" +"You should find *four* new files in the directory now. Run ``my_prog`` to" +" make sure everything works as expected. Let's run ``make`` again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:209 +msgid "" +"Using the timestamps of the executable ``make`` was able to determine, it" +" is newer than both ``tabulate.o`` and ``functions.o``, which in turn are" +" newer than ``tabulate.f90`` and ``functions.f90``. Therefore, the " +"program is already up-to-date with the latest code and no action has to " +"be performed." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:215 +msgid "In the end, we will have a look at a complete ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:249 +msgid "" +"Since you are starting with ``make`` we highly recommend to always " +"include the first line, like with Fortran's ``implicit none`` we do not " +"want to have implicit rules messing up our ``Makefile`` in surprising and" +" harmful ways." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:253 +msgid "" +"Next, we have a configuration section where we define variables, in case " +"you want to switch out your compiler, it can be easily done here. We also" +" introduced the ``SRCS`` variable to hold all source files, which is more" +" intuitive than specifying object files. We can easily create the object " +"files by appending a ``.o`` suffix using the functions ``addsuffix``. The" +" ``.PHONY`` is a special rule, which should be used for all entry points " +"of your ``Makefile``, here we define two entry point, we already know " +"*all*, the new *clean* rule deletes all the build artifacts again such " +"that we indeed start with a clean directory." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:264 +msgid "" +"Also, we slightly changed the build rule for the object files to account " +"for appending the ``.o`` suffix instead of substituting it. Notice that " +"we still need to explicitly define the interdependencies in the " +"``Makefile``. We also added a dependency for the object files on the " +"``Makefile`` itself, in case you change the compiler, this will allow you" +" to safely rebuild." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:270 +msgid "" +"Now you know enough about ``make`` to use it for building small projects." +" If you plan to use ``make`` more extensively, we have compiled a few " +"tips for you as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:275 +msgid "" +"In this guide, we avoided and disabled a lot of the commonly used " +"``make`` features that can be particularly troublesome if not used " +"correctly, we highly recommend staying away from the builtin rules and " +"variables if you do not feel confident working with ``make``, but " +"explicitly declare all variables and rules." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:280 +msgid "" +"You will find that ``make`` is capable tool to automate short " +"interdependent workflows and to build small projects. But for larger " +"projects, you will probably soon run against some of it limitations. " +"Usually, ``make`` is therefore not used alone but combined with other " +"tools to generate the ``Makefile`` completely or in parts." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:288 +msgid "Recursively expanded variables" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:290 +msgid "" +"Commonly seen in many projects are recursively expanded variables " +"(declared with ``=`` instead of ``:=``). Recursive expansion of your " +"variables allows out-of-order declaration and other neat tricks with " +"``make``, since they are defined as rules, which are expanded at runtime," +" rather than being defined while parsing." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:295 +msgid "" +"For example, declaring and using your Fortran flags with this snippet " +"will work completely fine:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:307 +msgid "" +"You should find the expected (or maybe unexpected) printout after running" +" ``make``" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:312 +#, python-format +msgid "{% include note.html content=\"\" %}" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:315 +msgid "" +"appending with ``+=`` to an undefined variable will produce a recursively" +" expanded variable with this state being inherited for all further " +"appending." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:318 +msgid "" +"While, it seems like an interesting feature to use, it tends to lead to " +"surprising and unexpected outcomes. Usually, when defining variables like" +" your compiler, there is little reason to actually use the recursive " +"expansion at all." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:322 +msgid "The same can easily be archived using the ``:=`` declaration:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:334 +msgid "" +"always think of a ``Makefile`` as a whole set of rules, it must be parsed" +" completely before any rule can be evaluated." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:337 +msgid "" +"You can use whatever kind of variables you like most, mixing them should " +"be done carefully, of course. It is important to be aware of the " +"differences between the two kinds and the respective implications." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:342 +msgid "Comments and whitespace" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:344 +msgid "" +"There are some caveats with whitespace and comments, which might pop up " +"from time to time when using ``make``. First, ``make`` does not know of " +"any data type except for strings and the default separator is just a " +"space. This means ``make`` will give a hard time trying to build a " +"project which has spaces in file names. If you encounter such case, " +"renaming the file is possibly the easiest solution at hand." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:351 +msgid "" +"Another common problem is leading and trailing whitespace, once " +"introduced, ``make`` will happily carry it along and it does in fact make" +" a difference when comparing strings in ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:355 +msgid "Those can be introduced by comments like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:363 +msgid "" +"While the comment will be correctly removed by ``make``, the trailing two" +" spaces are now part of the variable content. Run ``make`` and check that" +" this is indeed the case:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:372 +msgid "" +"To solve this issue, you can either move the comment, or strip the " +"whitespace with the ``strip`` function instead. Alternatively, you could " +"try to ``join`` the strings." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:383 +msgid "" +"All in all, none of this solutions will make your ``Makefile`` more " +"readable, therefore, it is prudent to pay extra attention to whitespace " +"and comments when writing and using ``make``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:388 +msgid "The meson build system" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:390 +msgid "" +"After you have learned the basics of ``make``, which we call a low-level " +"build system, we will introduce ``meson``, a high-level build system. " +"While you specify in a low-level build system how to build your program, " +"you can use a high-level build system to specify what to build. A high-" +"level build system will deal for you with how and generate build files " +"for a low-level build system." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:397 +msgid "" +"There are plenty of high-level build systems available, but we will focus" +" on ``meson`` because it is constructed to be particularly user friendly." +" The default low-level build-system of ``meson`` is called ``ninja``." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:401 +msgid "Let's have a look at a complete ``meson.build`` file:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:409 +msgid "" +"And we are already done, the next step is to configure our low-level " +"build system with ``meson setup build``, you should see output somewhat " +"similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:427 +msgid "" +"The provided information at this point is already more detailed than " +"anything we could have provided in a ``Makefile``, let's run the build " +"with ``ninja -C build``, which should show something like" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:436 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. We note the steps ``ninja`` performed are the same we would " +"have coded up in a ``Makefile`` (including the dependency), yet we did " +"not have to specify them, have a look at your ``meson.build`` file again:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:446 +msgid "" +"We only specified that we have a Fortran project (which happens to " +"require a certain version of ``meson`` for the Fortran support) and told " +"``meson`` to build an executable ``my_prog`` from the files " +"``tabulate.f90`` and ``functions.f90``. We had not to tell ``meson`` how " +"to build the project, it figured this out by itself." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:454 +msgid "" +"``meson`` is a cross-platform build system, the project you just " +"specified for your program can be used to compile binaries for your " +"native operating system or to cross-compile your project for other " +"platforms. Similarly, the ``meson.build`` file is portable and will work " +"on different platforms as well." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:461 +msgid "" +"The documentation of ``meson`` can be found at the meson-build webpage." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:465 +msgid "Creating a CMake project" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:467 +msgid "" +"Similar to ``meson`` CMake is a high-level build system as well and " +"commonly used to build Fortran projects." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:471 +msgid "" +"CMake follows a slightly different strategy and provides you with a " +"complete programming language to create your build files. This is has the" +" advantage that you can do almost everything with CMake, but your CMake " +"build files can also become as complex as the program you are building." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:478 +msgid "Start by creating the file ``CMakeLists.txt`` with the content" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:486 +msgid "" +"Similar to ``meson`` we are already done with our CMake build file. We " +"configure our low-level build files with ``cmake -B build -G Ninja``, you" +" should see output similar to this" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:500 +msgid "" +"You might be surprised that CMake tries to use the compiler ``f95``, " +"fortunately this is just a symbolic link to ``gfortran`` on most systems " +"and not the actual ``f95`` compiler. To give CMake a better hint you can " +"export the environment variable ``FC=gfortran`` rerunning should show the" +" correct compiler name now" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:516 +msgid "" +"In a similar manner you could use your Intel Fortran compiler instead to " +"build your project (set ``FC=ifort``)." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:519 +msgid "" +"CMake provides support for several low-level build files, since the " +"default is platform specific, we will just use ``ninja`` since we already" +" used it together with ``meson``. As before, build your project with " +"``ninja -C build``:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:530 +msgid "" +"Find and test your program at ``build/my_prog`` to ensure it works " +"correctly. The steps ``ninja`` performed are somewhat different, because " +"there is usually more than one way to write the low-level build files to " +"accomplish the task of building a project. Fortunately, we do not have to" +" concern ourselves but have our build system handle those details for us." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:536 +msgid "" +"Finally, we will shortly recap on our complete ``CMakeLists.txt`` to " +"specify our project:" +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:545 +msgid "" +"We specified that we have a Fortran project and told CMake to create an " +"executable ``my_prog`` from the files ``tabulate.f90`` and " +"``functions.f90``. CMake knows the details how to build the executable " +"from the specified sources, so we do not have to worry about the actual " +"steps in the build process." +msgstr "" + +#: ../../source/learn/building_programs/build_tools.md:551 +msgid "" +"CMake's offical reference can be found at the CMake webpage. It is organised in manpages, which " +"are also available with your local CMake installation as well using ``man" +" cmake``. While it covers all functionality of CMake, it sometimes covers" +" them only very briefly." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:8 +msgid "Compiling the source code" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:10 +msgid "" +"The first step in the build process is to compile the source code. The " +"output from this step is generally known as the object code — a set of " +"instructions for the computer generated from the human-readable source " +"code. Different compilers will produce different object codes from the " +"same source code and the naming conventions are different." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:16 +msgid "The consequences:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:18 +msgid "" +"If you use a particular compiler for one source file, you need to use the" +" same compiler (or a compatible one) for all other pieces. After all, a " +"program may be built from many different source files and the compiled " +"pieces have to cooperate." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:22 +msgid "" +"Each source file will be compiled and the result is stored in a file with" +" an extension like \".o\" or \".obj\". It is these object files that are " +"the input for the next step: the link process." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:26 +msgid "" +"Compilers are complex pieces of software: they have to understand the " +"language in much more detail and depth than the average programmer. They " +"also need to understand the inner working of the computer. And then, over" +" the years they have been extended with numerous options to customise the" +" compilation process and the final program that will be built." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:33 +msgid "" +"But the basics are simple enough. Take the gfortran compiler, part of the" +" GNU compiler collection. To compile a simple program as the one above, " +"that consists of one source file, you run the following command, assuming" +" the source code is stored in the file \"hello.f90\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:42 +msgid "" +"This results in a file \"hello.o\" (as the gfortran compiler uses \".o\" " +"as the extension for the object files)." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:45 +msgid "" +"The option \"-c\" means: only compile the source files. If you were to " +"leave it out, then the default action of the compiler is to compile the " +"source file and start the linker to build the actual executable program. " +"The command:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:54 +msgid "results in an executable file, \"a.out\" on Linux or \"a.exe\" on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:57 +msgid "Some remarks:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:59 +msgid "" +"The compiler may complain about the contents of the source file, if it " +"finds something wrong with it — a typo for instance or an unknown " +"keyword. In that case the compilation process is broken off and you will " +"not get an object file or an executable program. For instance, if the " +"word \"program\" was inadvertently typed as \"prgoram\":" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:80 +msgid "" +"Using this compilation report you can correct the source code and try " +"again." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:83 +msgid "" +"The step without \"-c\" can only succeed if the source file contains a " +"main program — characterised by the `program` statement in Fortran. " +"Otherwise the link step will complain about a missing \"symbol\", " +"something along these lines:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:95 +msgid "" +"The file \"hello2.f90\" is almost the same as the file \"hello.f90\", " +"except that the keyword `program` has been replaced by the keyword " +"`subroutine`." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:98 +msgid "" +"The above examples of output from the compiler will differ per compiler " +"and platform on which it runs. These examples come from the gfortran " +"compiler running in a Cygwin environment on Windows." +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:102 +msgid "Compilers also differ in the options they support, but in general:" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:104 +msgid "" +"Options for optimising the code — resulting in faster programs or smaller" +" memory footprints;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:106 +msgid "" +"Options for checking the source code — checks that a variable is not used" +" before it has been given a value, for instance or checks if some " +"extension to the language is used;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:109 +msgid "Options for the location of include or module files, see below;" +msgstr "" + +#: ../../source/learn/building_programs/compiling_source.md:110 +msgid "Options for debugging." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:8 +msgid "Distributing your programs" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:10 +msgid "" +"When you distribute your programs, there are a number of options you can " +"choose from:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:13 +msgid "Distribute the entire source code" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:14 +msgid "Distribute a pre-built executable program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:15 +msgid "Distribute static or dynamic libraries that people can use" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:17 +msgid "__Option 1: Distribute the entire source code__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:19 +msgid "" +"By far the simplest — for you as a programmer — is this one: you leave it" +" up to the user to build it on their own machine. Unfortunately, that " +"means you will have to have a user-friendly build system in place and the" +" user will have to have access to suitable compilers. For build systems: " +"see the previous section." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:25 +msgid "__Option 2: Distribute a pre-built executable program__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:27 +msgid "" +"A pre-built program that does not need to be customised, other than via " +"its input, will still need to come with the various run-time libraries " +"and will be specific to the operating system/environment it was built " +"for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:31 +msgid "" +"The set of run-time libraries differs per operating system and compiler " +"version. For a freely available compiler like gfortran, the easiest thing" +" is to ask the user to install that compiler on their system. In the case" +" of Windows: the Cygwin environment may be called for." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:36 +msgid "" +"Alternatively, you can supply copies of the run-time libraries together " +"with your program. Put them in the directory where they can be found at " +"run-time." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:39 +msgid "" +"Note: On Windows, the Intel Fortran comes with a set of _redistributable_" +" libraries. These will need to be made available." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:42 +msgid "" +"In general: use a tool like \"ldd\" or \"dependency walker\" to find out " +"what libraries are required and consult the documentation of the " +"compiler." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:45 +msgid "" +"If your program does allow customisation, consider using dynamic " +"libraries for this. More is said about this below." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:48 +msgid "__Option 3: Distribute static or dynamic libraries that people can use__" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:50 +msgid "" +"This option is a combination of the first two options. It does put some " +"burden on the user, as they must create a main program that calls your " +"routines in the proper way, but they do not need to know much about the " +"build system you used. You will have to deal with the run-time libraries," +" though." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:55 +msgid "" +"If you choose this option, besides the compiled libraries, you will also " +"need to supply the module intermediate files. These files are compiler-" +"specific, but so are the static libraries you build." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:59 +msgid "Distributing the tabulation program" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:60 +msgid "" +"As shown above, the tabulation program can be built with the user-defined" +" function in a dynamic library. This enables you to:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:63 +msgid "Ship the executable (with the appropriate run-time libraries)" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:64 +msgid "Provide a skeleton version of the module, something like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:82 +msgid "Provide a basic build script with a command like:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:88 +msgid "or:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:94 +msgid "" +"As said, you cannot control that the user has done the right thing — any " +"DLL \"functions.dll\" with a function `f` would be accepted, but not " +"necessarily lead to a successful run." +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:98 +msgid "" +"An alternative set-up would be to change the main program into a " +"subroutine and have the function as an argument:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:120 +msgid "Then provide a skeleton main program:" +msgstr "" + +#: ../../source/learn/building_programs/distributing.md:140 +msgid "" +"The advantage is that the compiler can check the interface of the " +"function that is passed and that the user has more freedom in the use of " +"the functionality provided by your library." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:8 +msgid "Include files and modules" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:10 +msgid "" +"Your program can be contained in various source files, all stored in the " +"same directory or organised in some convenient directory tree. The " +"details of the organisation depend on personal taste, arrangements made " +"by the group of developers you belong to, or simply the history of the " +"program. Whatever the directory structure is, you will encounter a " +"situation where the compiler needs assistence in order to compile a " +"particular source file:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:18 +msgid "" +"Fortran (and other languages) has the possibility to include an external " +"file. While this feature has become a bit less useful with the advent of " +"modules, it still has its uses. Quite often, such \"include files\" are " +"stored in a directory separated from the directories containing the " +"source files, because they are used in several locations. Quite often the" +" name of that directory is \"include\"." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:24 +msgid "" +"As we have seen, compiling source code that defines one or more modules, " +"leads to the compiler generating so-called \"module intermediate files\" " +"(with the extension \".mod\"). The compiler needs access to these files " +"to be able to read the interfaces and variables and what not, and based " +"on this information, actually compile the source code that uses the " +"various modules." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:30 +msgid "" +"Compilers support options like `-I` to indicate where these include files" +" and module intermediate files are to be found. Suppose we store the two " +"files of our `tabulate` program in the following directory structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:43 +msgid "Compiling the file \"functions.f90\" with the commands" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:50 +msgid "leads to this structure:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:62 +msgid "" +"To successfully compile and subsequently build the program we need to " +"tell the compiler where it can find the file \"user\\_functions.mod\":" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:71 +msgid "The result:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:85 +msgid "Notes:" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:87 +msgid "" +"The details differ per compiler. Sometimes the `-I` option should be " +"followed by a space and then the name of the directory, sometimes the " +"directory should come consecutively." +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:90 +msgid "" +"By default the module intermediate files (.mod) are put in the same " +"directory as the object files. When your program code is organised in " +"different subdirectories, they will get scattered over the directory " +"tree, complicating the compilation process. Luckily, many compilers allow" +" you to specify the output location for these files. For gfortran this is" +" `-J`, for instance: `-J../include` (so that the .mod files could all " +"appear in the same directory)" +msgstr "" + +#: ../../source/learn/building_programs/include_files.md:98 +msgid "" +"For large programs, consisting of many source files, it is important to " +"think through what organisation to use." +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "build tools" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "include files" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "managing libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "compiling source" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "project make" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "distributing" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "linking pieces" +msgstr "" + +#: ../../source/learn/building_programs/index.md:55 +msgid "runtime libraries" +msgstr "" + +#: ../../source/learn/building_programs/index.md:9 +msgid "Building programs" +msgstr "" + +#: ../../source/learn/building_programs/index.md:11 +msgid "" +"Languages like Fortran, C, C++ and Java, to name but a few, share certain" +" characteristics: you write code in your language of choice but then you " +"have to build an executable program from that source code. Other " +"languages are interpreted — the source code is analysed by a special " +"program and taken as direct instructions. Two very simple examples of " +"that type of language: Windows batch files and Linux shell scripts." +msgstr "" + +#: ../../source/learn/building_programs/index.md:19 +msgid "" +"In this tutorial we concentrate on the first type of languages, with " +"Fortran as the main example. One advantage of compiled languages is that " +"the build process that you need to build an executable program, is used " +"to transform the human-readable source code into an efficient program " +"that can be run on the computer." +msgstr "" + +#: ../../source/learn/building_programs/index.md:25 +msgid "" +"Remark: this tutorial gives examples for the Windows and Linux operating " +"systems, however the workflow and general principles still apply to " +"macOS." +msgstr "" + +#: ../../source/learn/building_programs/index.md:28 +msgid "Compiled languages" +msgstr "" + +#: ../../source/learn/building_programs/index.md:30 +msgid "Let us have a look at a simple example:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:38 +msgid "" +"This is just about the simplest program you can write in Fortran and it " +"is certainly a variation on one of the most famous programs. Even though " +"it is simple to express in source code, a lot of things actually happen " +"when the executable that is built from this code runs:" +msgstr "" + +#: ../../source/learn/building_programs/index.md:43 +msgid "" +"A process is started on the computer in such a way that it can write to " +"the console — the window (DOS-box, xterm, ...) at which you type the " +"program's name." +msgstr "" + +#: ../../source/learn/building_programs/index.md:46 +msgid "" +"It writes the text \"Hello!\" to the console. To do so it must properly " +"interact with the console." +msgstr "" + +#: ../../source/learn/building_programs/index.md:48 +msgid "" +"When done, it finishes, cleaning up all the resources (memory, connection" +" to the console etc.) it took." +msgstr "" + +#: ../../source/learn/building_programs/index.md:51 +msgid "" +"Fortunately, as a programmer in a high-level language you do not need to " +"consider all these details. In fact, this is the sort of things that is " +"taken care of by the build process: the compiler and the linker." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:8 +msgid "Linking the objects" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:10 +msgid "" +"Almost all programs, except for the simplest, are built up from different" +" pieces. We are going to examine such a situation in more detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:14 +msgid "" +"Here is a general program for tabulating a function (source code in " +"\"tabulate.f90\"):" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:35 +msgid "Note the `use` statement — this will be where we define the function `f`." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:37 +msgid "" +"We want to make the program general, so keep the specific source code — " +"the implementation of the function `f` — separated from the general " +"source code. There are several ways to achieve this, but one is to put it" +" in a different source file. We can give the general program to a user " +"and they provide a specific source code." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:43 +msgid "" +"Assume for the sake of the example that the function is implemented in a " +"source file \"function.f90\" as:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:59 +msgid "" +"To build the program with this specific function, we need to compile two " +"source files and combine them via the link step into one executable " +"program. Because the program \"tabulate\" depends on the module " +"\"function\", we need to compile the source file containing our module " +"first. A sequence of commands to do this is:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:70 +msgid "" +"The first step compiles the module, resulting in an object file " +"\"functions.o\" and a module intermediate file, \"user\\_functions.mod\"." +" This module file contains all the information the compiler needs to " +"determine that the function `f` is defined in this module and what its " +"interface is. This information is important: it enables the compiler to " +"check that you call the function in the right way. It might be that you " +"made a mistake and called the function with two arguments instead of one." +" If the compiler does not know anything about the function's interface, " +"then it cannot check anything." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:80 +msgid "The second step invokes the compiler in such a way that:" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:82 +msgid "it compiles the file \"tabulate.f90\" (using the module file);" +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:83 +msgid "" +"it invokes the linker to combine the object files tabulate.o and " +"functions.o into an executable program — with the default name \"a.out\" " +"or \"a.exe\" (if you want a different name, use the option \"-o\")." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:87 +msgid "" +"What you do not see in general is that the linker also adds a number of " +"extra files in this link step, the run-time libraries. These run-time " +"libraries contain all the \"standard\" stuff — low-level routines that do" +" the input and output to screen, the `sin` function and much more." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:92 +msgid "" +"If you want to see the gory details, add the option \"-v\". This " +"instructs the compiler to report all the steps that are in detail." +msgstr "" + +#: ../../source/learn/building_programs/linking_pieces.md:95 +msgid "" +"The end result, the executable program, contains the compiled source code" +" and various auxiliary routines that make it work. It also contains " +"references to so-called dynamic run-time libraries (in Windows: DLLs, in " +"Linux: shared objects or shared libraries). Without these run-time " +"libraries the program will not start." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:8 +msgid "Managing libraries (static and dynamic libraries)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:10 +msgid "" +"If you need to manage a program built of dozens of source files (and that" +" is not uncommon!), the command-line needed to specify all the object " +"files will be very long indeed. This soon becomes tedious or even " +"impossible to maintain. So a different solution is called for: create " +"your own libraries." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:16 +msgid "" +"Libraries contain any number of object files in a compact form, so that " +"the command-line becomes far shorter:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:23 +msgid "" +"where \"supportlib.a\" is a collection of one, two or many object files, " +"all compiled and then put into a library. The extension \".a\" is used by" +" Linux and Linux-like platforms. On Windows the extension \".lib\" is " +"used." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:27 +msgid "" +"Creating your own libraries is not that complicated: on Linux, you can " +"achieve this using a utility like `ar`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:37 +msgid "or on Windows using the `lib` utility:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:46 +msgid "Note:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:48 +msgid "" +"The command `ar` with the option `r` either creates the library (the name" +" appears after the option) or adds new object files to the library (or " +"replaces any existing ones)." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:51 +msgid "" +"The command `lib` will create a new library if you use specify the option" +" `/out:` with the name of the new library next to it. To add object files" +" to an existing library, leave out the `/out:` bit." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:54 +msgid "" +"On platforms like Linux there is a particular convention to name " +"libraries. If you name your library like \"libname.a\" (note the \"lib\" " +"prefix), then you can refer to it as `-lname` in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:57 +msgid "" +"Libraries are often sought in directories indicated by an option `-L` or " +"`/LIBPATH`. This saves you from having to specify the exact path for " +"every library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:61 +msgid "" +"Using libraries you can build very large programs without having to " +"resort to extremely long command lines." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:65 +msgid "Static versus dynamic libraries" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:67 +msgid "" +"The above discussion is tacitly assuming that you are using the so-called" +" static libraries. Static libraries (or at least parts of their contents)" +" become an integral part of the executable program. The only way to " +"change the routines incorporated in the program is by rebuilding the " +"program with a new version of the library." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:73 +msgid "" +"A flexible alternative is to use the so-called dynamic libraries. These " +"libraries remain outside the executable program and as a consequence can " +"be replaced without rebulding the entire program. Compilers and indeed " +"the operating system itself rely heavily on such dynamic libraries. You " +"could consider dynamic libraries as a sort of executable programs that " +"need a bit of help to be run." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:80 +msgid "" +"Building dynamic libraries works slightly differently from building " +"static libraries: you use the compiler/linker instead of a tool like `ar`" +" or `lib`." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:84 +msgid "On Linux:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:92 +msgid "On Windows, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:100 +msgid "The differences are that:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:102 +msgid "" +"You need to specify a compile option on Linux, for gfortran that is " +"`-fpic`, because the object code is slightly different." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:104 +msgid "" +"You need to tell in the link step that you want a dynamic library (on " +"Linux: a shared object/library, hence the extension \".so\"; on Windows: " +"a dynamic link library)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:108 +msgid "" +"There is one more thing to be aware of: On Windows you must explicitly " +"specify that a procedure is to be _exported_, i.e. is visible in the " +"dynamic library. There are several ways — depending on the compiler you " +"use — to achieve this. One method is via a so-called compiler directive:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:119 +msgid "Or, with the Intel Fortran compiler:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:126 +msgid "" +"Besides a dynamic library (DLL), a so-called import library may be " +"generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:129 +msgid "" +"Because the details differ per compiler, here are two examples: gfortran " +"on Cygwin and Intel Fortran on Windows. In both cases we look at the " +"`tabulate` program in the file \"tabulate.f90\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:133 +msgid "GNU/Linux and gfortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:134 +msgid "" +"The `tabulate` program requires a user-defined routine `f`. If we let it " +"reside in a dynamic library, say \"functions.dll\", we can simply replace" +" the implementation of the function by putting another dynamic library in" +" the directory. No need to rebuild the program as such." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:139 +msgid "" +"On Cygwin it is not necessary to explicitly export a procedure — all " +"publically visible routines are exported when you build a dynamic " +"library. Also, no import library is generated." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:143 +msgid "" +"Since our dynamic library can be built from a single source file, we can " +"take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:150 +msgid "" +"This produces the files \"functions.dll\" and \"user\\_functions.mod\". " +"The utility `nm` tells us the exact name of the function `f`:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:165 +msgid "" +"It has received a prefix `__function_MOD_` to distinguish it from any " +"other routine \"f\" that might be defined in another module." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:168 +msgid "The next step is to build the program:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:174 +msgid "" +"The DLL and the .mod file are used to build the executable program with " +"checks on the function's interface, the right name and the reference to " +"\"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:178 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, " +"implementing a different function \"f\". Of course, you need to be " +"careful to use the correct interface for this function. The " +"compiler/linker are not invoked anymore, so they can do no checking." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:183 +msgid "Windows and Intel Fortran" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:184 +msgid "" +"The setup is the same as with Linux, but on Windows it is necessary to " +"explicitly export the routines. And an import library is generated — this" +" is the library that should be used in the link step." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:188 +msgid "" +"The source file must contain the compiler directive, otherwise the " +"function `f` is not exported:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:196 +msgid "Again we take a shortcut:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:202 +msgid "" +"This produces the files \"functions.dll\", \"user\\_functions.mod\" as " +"well as \"functions.lib\" (and two other files of no importance here). " +"The \"dependency walker\" program tells us that the exact name of the " +"function \"f\" is `FUNCTION_mp_F`. It is also exported, so that it can be" +" found by the linker in the next step:" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:211 +msgid "Note that we need to specify the name of the export library, not the DLL!" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:213 +msgid "" +"(Note also: the Intel Fortran compiler uses the name of the first source " +"file as the name for the executable — here we do without the `-exe` " +"option.)" +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:216 +msgid "" +"Just as under Cygwin, the DLL and the .mod file are used to build the " +"executable program with checks on the function's interface, the right " +"name and the reference to \"a\" DLL, called \"functions.dll\"." +msgstr "" + +#: ../../source/learn/building_programs/managing_libraries.md:220 +msgid "" +"You can replace the shared library \"functions.dll\" by another one, but " +"the same caution is required: while the implementation can be quite " +"different, the function's interface must be the same." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:8 +msgid "An introduction to make" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:10 +msgid "" +"We briefly discussed the basics of ``make``. This chapter gives ideas and" +" strategies to scale ``make`` for larger projects." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:13 +msgid "Before going into detail with ``make``, consider a few points:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:14 +msgid "" +"``make`` is a Unix tool and might give you a hard time when porting to " +"non-Unix platforms. That said, there are also different flavors of " +"``make`` available, not all might support the features you want to use." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:17 +msgid "" +"While ``make`` gives you full control over the build process, it also " +"means you are responsible for the entire build process, and you have to " +"specify the rules for every detail of your project. You might find " +"yourself spending a significant amount of time writing and maintaining " +"your ``Makefile`` instead of developing your source code." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:21 +msgid "" +"You can work with your ``Makefile``, but think about other developers on " +"your project who may not be familiar with ``make``. How much time do you " +"expect them to spend learning your ``Makefile`` and would they be able to" +" debug or add features?" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:24 +msgid "" +"Pure ``make`` will not scale. You will soon add auxiliary programs to " +"dynamically or statically generate your ``Makefile``. Those introduce " +"dependencies and possible sources of errors. The effort needed to test " +"and document those tools should not be underestimated." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:29 +msgid "" +"If you think ``make`` is suitable for your needs, than you can start " +"writing your ``Makefile``. For this course we will use real world " +"examples from the package index, which (at the time of writing) use build" +" systems other than ``make``. This guide should present a general " +"recommended style to write ``make``, but also serve as demonstration of " +"useful and interesting features." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:36 +msgid "" +"Even if you find ``make`` unsuitable to build your project, it is *the* " +"tool to automate workflows defined by files. Maybe you can leverage its " +"power in a different context." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:39 +msgid "Getting started" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:41 +msgid "" +"For this part we will work with the Fortran CSV module (v1.2.0). " +"Our goal is to write a ``Makefile`` to compile this project to a static " +"library. Start by cloning the repository" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:52 +msgid "" +"For this part we will work with the code from tag ``1.2.0``, to make it " +"as reproducible as possible. Feel free to use the latest version or " +"another project instead." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:55 +msgid "" +"This project uses FoBiS as build system, and you can check the " +"``build.sh`` for options used with FoBiS. We are about to write a " +"``Makefile`` for this project. First, we check the directory structure " +"and the source files" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:77 +msgid "" +"We find seven different Fortran source files; the four in ``src`` should " +"be compiled and added to a static library while the three in " +"``src/tests`` contain individual programs that depend on this static " +"library." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:81 +msgid "Start by creating a simple ``Makefile``:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:147 +msgid "" +"Invoking ``make`` should build the static library and the test " +"executables as expected:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:162 +msgid "" +"There are a few things to note there, a ``make`` build usually interlaces" +" the build artifacts and the source code, unless you put extra effort " +"into implementing a build directory. Also, right now the the source files" +" and dependencies are specified explicitly, which results in several " +"additional lines even for such a simple project." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:169 +msgid "Automatically generated dependencies" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:171 +msgid "" +"The main drawback of ``make`` for Fortran is the missing capability to " +"determine module dependencies. This is usually solved by either adding " +"those by hand or automatically scanning the source code with an external " +"tool. Some compilers (like the Intel Fortran compiler) also offer to " +"generate dependencies in ``make`` format." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:176 +msgid "" +"Before diving into the dependency generation, we will outline the concept" +" of a robust take on the dependency problem. First, we want an approach " +"that can process all source files independently, while each source file " +"provides (``module``) or requires (``use``) modules. When generating the " +"dependencies only the name of the source file and the module files are " +"known, and no information on the object file names should be required." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:184 +msgid "" +"If you check the dependency section above you will note that all " +"dependencies are defined between object files rather than source files. " +"To change this, we can generate a map from the source files their " +"respective object files:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:194 +msgid "" +"Note the declaration of ``obj`` as recursively expanded variable, we " +"effectively use this mechanism to define a function in ``make``. The " +"``foreach`` function allows us to loop over all source files, while the " +"``eval`` function allows us to generate ``make`` statements and evaluate " +"them for this ``Makefile``." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:199 +msgid "" +"We adjust the dependencies accordingly as we can now define the name of " +"the object files through the source file names:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:219 +msgid "" +"The same strategy of creating a map is already used for the module files," +" now it is just expanded to the object files as well." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:222 +msgid "" +"To generate the respective dependency map automatically we will use an " +"``awk`` script here" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:284 +msgid "" +"This script makes a few assumptions about the source code it parses, so " +"it will not work with all Fortran code (namely submodules are not " +"supported), but for this example it will suffice." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:289 +msgid "Using awk" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:291 +msgid "" +"The above script uses the ``awk`` language, which is designed for the " +"purpose of text stream processing and uses a C-like syntax. In ``awk`` " +"you can define groups which are evaluated on certain events, *e.g.* when " +"a line matches a specific pattern, usually expressed by a regular expression." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:297 +msgid "" +"This ``awk`` script defines five groups, two of them use the special " +"pattern ``BEGIN`` and ``END`` which are run before the script starts and " +"after the script finishes, respectively. Before the script starts we make" +" the script case-insensitive since we are dealing with Fortran source " +"code here. We also use the special variable ``FILENAME`` to determine " +"which file we are currently parsing and to allow processing multiple " +"files at once." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:305 +msgid "" +"With the three patterns defined we are looking for ``module``, ``use`` " +"and ``include`` statements as the first space delimited entry. With the " +"used pattern not all valid Fortran code will be parsed correctly. A " +"failing example would be:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:314 +msgid "" +"To make this parsable by the ``awk`` script we can add another group " +"directly after the ``BEGIN`` group, modifying the stream while processing" +" it with" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:323 +msgid "" +"In theory you would need a full Fortran parser to deal with continuation " +"lines and other difficulties. This might be possible to implement in " +"``awk`` but would require a huge script in the end." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:327 +msgid "" +"Also, keep in mind that generating the dependencies should be fast, an " +"expensive parser can produce a significant overhead when generating " +"dependencies for a large code base. Making reasonable assumptions can " +"simplify and speed up this step, but also introduces an error source in " +"your build tools." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:334 +msgid "" +"Make the script executable (``chmod +x gen-deps.awk``) and test it with " +"``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output " +"like this:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:356 +msgid "" +"Note that the scripts output will use recursively expanded variables and " +"not define any dependencies yet, because out-of-order declaration of " +"variables might be necessary and we do not want to create any target by " +"accident. You can verify that the same information as in the above " +"handwritten snippet is present. The only exception is the additional " +"dependency on the ``iso_fortran_env.mod``, since it is an undefined " +"variable it will just expand to an empty string and not introduce any " +"further dependencies." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:364 +msgid "" +"Now, you can finally include this piece in your ``Makefile`` to automate " +"the dependency generation:" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:431 +msgid "" +"Here additional dependency files are generated for each source file " +"individually and than included into the main ``Makefile``. Also, the " +"dependency files are added as dependency to the object files to ensure " +"they are generated before the object is compiled. The pipe character in " +"the dependencies defines an order of the rules without a timestamp " +"dependency, because it is not necessary to recompile an object file in " +"case dependencies are regenerated and potentially unchanged." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:439 +msgid "" +"Again, we make use of the ``eval`` function to generate the dependencies " +"in a ``foreach`` loop over all object files. Note that we created a map " +"between the object files in the dependency files, expanding ``dep`` once " +"yields the object file name, expanding it again yields the object files " +"it depends on." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:444 +msgid "Building your project with ``make`` should give an output similar to" +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:465 +msgid "" +"Once the dependency files are generated, ``make`` will only update them " +"if the source changes and not require to rebuild them again for every " +"invocation." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:469 +msgid "" +"With correct dependencies you can leverage parallel execution of your " +"``Makefile``, just use the ``-j`` flag to create multiple ``make`` " +"processes." +msgstr "" + +#: ../../source/learn/building_programs/project_make.md:472 +msgid "" +"Since dependencies can now be generated automatically, there is no need " +"to specify the source files explicitly, the ``wildcard`` function can be " +"used to determine them dynamically:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:8 +msgid "Run-time libraries" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:10 +msgid "" +"To illustrate that even a simple program depends on external run-time " +"libraries, here is the output from the `ldd` utility that reports such " +"dependencies:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:25 +msgid "" +"Other compilers or other versions of the same compiler will probably " +"require different dynamic libraries. As long as you run the program on " +"the same computer — or, more accurately, within the same environment — " +"there should be no problem. However, when such a library cannot be found," +" you will get (hopefully) an error message and the program stops " +"immediately." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:32 +msgid "" +"Therefore it is good to know what libraries are required. On Linux and " +"Linux-like environments, the `ldd` utility is a great help. On Windows, " +"you may want to use the `dependency walker` (the latest version, which " +"works very nicely with Windows 10, is found here: " +")" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:37 +msgid "" +"Another thing you should know is where the program tries to find these " +"libraries. That is a vast subject in its own right and full of " +"complications and history. Here we merely scratch the surface:" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:41 +msgid "_On Linux:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:43 +msgid "" +"The environment variable `LD_LIBRARY_PATH` is used. It consists of a list" +" of directories to be searched, each directory separated via colons (:) " +"from the others. For instance: `/usr/lib:/usr/local/lib` — typical system" +" directories." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:47 +msgid "" +"At the link step you can also use an option to set `RPATH`, a list of " +"directories that is put into the executable file itself." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:49 +msgid "Then there are several system directories that are searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:51 +msgid "_On Windows:_" +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:53 +msgid "" +"The directory containing the executable program may also contain dynamic " +"libraries." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:55 +msgid "" +"The environment variable \"PATH\" is used. Again a list of directories to" +" be searched, but now the separating character is the semicolon (;)." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:57 +msgid "A set of system directories is searched." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:59 +msgid "" +"Unfortunately, the details can change from one version of the operating " +"system to the next. The above is merely an indication — use tools like " +"\"ldd\" or \"dependency walker\" to find out what libraries are loaded " +"and where they are found." +msgstr "" + +#: ../../source/learn/building_programs/runtime_libraries.md:64 +msgid "" +"If you want to share your program with colleagues or clients or simply " +"users all over the world, you will have to take care that, besides the " +"program, you also distribute the libraries it depends on. For more " +"information: see below." +msgstr "" + +#: ../../source/learn/intrinsics/ARRAY_index.md:1 +#: ../../source/learn/intrinsics/index.md:15 +msgid "Properties and attributes of arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:2 +msgid "merge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:3 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/ACOS.md:3 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:3 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:3 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:3 +#: ../../source/learn/intrinsics/_pages/AINT.md:3 +#: ../../source/learn/intrinsics/_pages/ANINT.md:3 +#: ../../source/learn/intrinsics/_pages/ASIN.md:3 +#: ../../source/learn/intrinsics/_pages/ASINH.md:3 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN.md:3 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:3 +#: ../../source/learn/intrinsics/_pages/ATANH.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:3 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:3 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:3 +#: ../../source/learn/intrinsics/_pages/BGE.md:3 +#: ../../source/learn/intrinsics/_pages/BGT.md:3 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/BLE.md:3 +#: ../../source/learn/intrinsics/_pages/BLT.md:3 +#: ../../source/learn/intrinsics/_pages/BTEST.md:3 +#: ../../source/learn/intrinsics/_pages/CEILING.md:3 +#: ../../source/learn/intrinsics/_pages/CHAR.md:3 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:3 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:3 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:3 +#: ../../source/learn/intrinsics/_pages/CONJG.md:3 +#: ../../source/learn/intrinsics/_pages/COS.md:3 +#: ../../source/learn/intrinsics/_pages/COSH.md:3 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:3 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:3 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:3 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:3 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:3 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:3 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:3 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:3 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:3 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:3 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:3 +#: ../../source/learn/intrinsics/_pages/DBLE.md:3 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:3 +#: ../../source/learn/intrinsics/_pages/DIM.md:3 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:3 +#: ../../source/learn/intrinsics/_pages/DPROD.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:3 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:3 +#: ../../source/learn/intrinsics/_pages/ERF.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC.md:3 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:3 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:3 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/EXP.md:3 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:3 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:3 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:3 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:3 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:3 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:3 +#: ../../source/learn/intrinsics/_pages/HUGE.md:3 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:3 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IALL.md:3 +#: ../../source/learn/intrinsics/_pages/IAND.md:3 +#: ../../source/learn/intrinsics/_pages/IANY.md:3 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:3 +#: ../../source/learn/intrinsics/_pages/IBITS.md:3 +#: ../../source/learn/intrinsics/_pages/IBSET.md:3 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:3 +#: ../../source/learn/intrinsics/_pages/IEOR.md:3 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INDEX.md:3 +#: ../../source/learn/intrinsics/_pages/INT.md:3 +#: ../../source/learn/intrinsics/_pages/IOR.md:3 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:3 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:3 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:3 +#: ../../source/learn/intrinsics/_pages/KIND.md:3 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:3 +#: ../../source/learn/intrinsics/_pages/LEN.md:3 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/LGE.md:3 +#: ../../source/learn/intrinsics/_pages/LGT.md:3 +#: ../../source/learn/intrinsics/_pages/LLE.md:3 +#: ../../source/learn/intrinsics/_pages/LLT.md:3 +#: ../../source/learn/intrinsics/_pages/LOG.md:3 +#: ../../source/learn/intrinsics/_pages/LOG10.md:3 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:3 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:3 +#: ../../source/learn/intrinsics/_pages/MASKL.md:3 +#: ../../source/learn/intrinsics/_pages/MASKR.md:3 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:3 +#: ../../source/learn/intrinsics/_pages/MAX.md:3 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE.md:3 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:3 +#: ../../source/learn/intrinsics/_pages/MIN.md:3 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/MOD.md:3 +#: ../../source/learn/intrinsics/_pages/MODULO.md:3 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:3 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:3 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:3 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:3 +#: ../../source/learn/intrinsics/_pages/NINT.md:3 +#: ../../source/learn/intrinsics/_pages/NORM2.md:3 +#: ../../source/learn/intrinsics/_pages/NOT.md:3 +#: ../../source/learn/intrinsics/_pages/NULL.md:3 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:3 +#: ../../source/learn/intrinsics/_pages/PACK.md:3 +#: ../../source/learn/intrinsics/_pages/PARITY.md:3 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:3 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:3 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:3 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:3 +#: ../../source/learn/intrinsics/_pages/RADIX.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:3 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:3 +#: ../../source/learn/intrinsics/_pages/RANGE.md:3 +#: ../../source/learn/intrinsics/_pages/REAL.md:3 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:3 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:3 +#: ../../source/learn/intrinsics/_pages/SCALE.md:3 +#: ../../source/learn/intrinsics/_pages/SCAN.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:3 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:3 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:3 +#: ../../source/learn/intrinsics/_pages/SIGN.md:3 +#: ../../source/learn/intrinsics/_pages/SIN.md:3 +#: ../../source/learn/intrinsics/_pages/SINH.md:3 +#: ../../source/learn/intrinsics/_pages/SPACING.md:3 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:3 +#: ../../source/learn/intrinsics/_pages/SQRT.md:3 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:3 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:3 +#: ../../source/learn/intrinsics/_pages/TAN.md:3 +#: ../../source/learn/intrinsics/_pages/TANH.md:3 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:3 +#: ../../source/learn/intrinsics/_pages/TINY.md:3 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:3 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:3 +#: ../../source/learn/intrinsics/_pages/TRIM.md:3 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:3 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:3 +msgid "__Name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:5 +msgid "__merge__(3) - \\[ARRAY CONSTRUCTION\\] Merge variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:7 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:7 +#: ../../source/learn/intrinsics/_pages/ACOS.md:6 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:7 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:7 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:8 +#: ../../source/learn/intrinsics/_pages/AINT.md:8 +#: ../../source/learn/intrinsics/_pages/ANINT.md:8 +#: ../../source/learn/intrinsics/_pages/ASIN.md:7 +#: ../../source/learn/intrinsics/_pages/ASINH.md:8 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/ATAN.md:7 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:7 +#: ../../source/learn/intrinsics/_pages/ATANH.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:7 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:8 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:8 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:8 +#: ../../source/learn/intrinsics/_pages/BGE.md:8 +#: ../../source/learn/intrinsics/_pages/BGT.md:8 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:7 +#: ../../source/learn/intrinsics/_pages/BLE.md:8 +#: ../../source/learn/intrinsics/_pages/BLT.md:8 +#: ../../source/learn/intrinsics/_pages/BTEST.md:7 +#: ../../source/learn/intrinsics/_pages/CEILING.md:8 +#: ../../source/learn/intrinsics/_pages/CHAR.md:8 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:8 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:7 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:8 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:8 +#: ../../source/learn/intrinsics/_pages/CONJG.md:7 +#: ../../source/learn/intrinsics/_pages/COS.md:7 +#: ../../source/learn/intrinsics/_pages/COSH.md:8 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:8 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:8 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:8 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:8 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:8 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:8 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:8 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:8 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:8 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:8 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:7 +#: ../../source/learn/intrinsics/_pages/DBLE.md:8 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:7 +#: ../../source/learn/intrinsics/_pages/DIM.md:8 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:8 +#: ../../source/learn/intrinsics/_pages/DPROD.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:8 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:7 +#: ../../source/learn/intrinsics/_pages/ERF.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC.md:8 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:8 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:8 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:8 +#: ../../source/learn/intrinsics/_pages/EXP.md:7 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:8 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:7 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:8 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:7 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:7 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:7 +#: ../../source/learn/intrinsics/_pages/HUGE.md:7 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:7 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IALL.md:8 +#: ../../source/learn/intrinsics/_pages/IAND.md:8 +#: ../../source/learn/intrinsics/_pages/IANY.md:8 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:8 +#: ../../source/learn/intrinsics/_pages/IBITS.md:8 +#: ../../source/learn/intrinsics/_pages/IBSET.md:8 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:8 +#: ../../source/learn/intrinsics/_pages/IEOR.md:8 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INDEX.md:8 +#: ../../source/learn/intrinsics/_pages/INT.md:6 +#: ../../source/learn/intrinsics/_pages/IOR.md:8 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:8 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:8 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:8 +#: ../../source/learn/intrinsics/_pages/KIND.md:8 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:8 +#: ../../source/learn/intrinsics/_pages/LEN.md:7 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:7 +#: ../../source/learn/intrinsics/_pages/LGE.md:8 +#: ../../source/learn/intrinsics/_pages/LGT.md:8 +#: ../../source/learn/intrinsics/_pages/LLE.md:8 +#: ../../source/learn/intrinsics/_pages/LLT.md:8 +#: ../../source/learn/intrinsics/_pages/LOG.md:8 +#: ../../source/learn/intrinsics/_pages/LOG10.md:7 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:8 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:8 +#: ../../source/learn/intrinsics/_pages/MASKL.md:7 +#: ../../source/learn/intrinsics/_pages/MASKR.md:7 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:8 +#: ../../source/learn/intrinsics/_pages/MAX.md:7 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MERGE.md:7 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:7 +#: ../../source/learn/intrinsics/_pages/MIN.md:8 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/MOD.md:8 +#: ../../source/learn/intrinsics/_pages/MODULO.md:8 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:8 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:8 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:8 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:7 +#: ../../source/learn/intrinsics/_pages/NINT.md:7 +#: ../../source/learn/intrinsics/_pages/NORM2.md:8 +#: ../../source/learn/intrinsics/_pages/NOT.md:6 +#: ../../source/learn/intrinsics/_pages/NULL.md:8 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:8 +#: ../../source/learn/intrinsics/_pages/PACK.md:7 +#: ../../source/learn/intrinsics/_pages/PARITY.md:8 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:8 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:8 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:8 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:8 +#: ../../source/learn/intrinsics/_pages/RADIX.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:8 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:8 +#: ../../source/learn/intrinsics/_pages/RANGE.md:8 +#: ../../source/learn/intrinsics/_pages/REAL.md:7 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:8 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:8 +#: ../../source/learn/intrinsics/_pages/SCALE.md:8 +#: ../../source/learn/intrinsics/_pages/SCAN.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:8 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:8 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:8 +#: ../../source/learn/intrinsics/_pages/SIGN.md:8 +#: ../../source/learn/intrinsics/_pages/SIN.md:7 +#: ../../source/learn/intrinsics/_pages/SINH.md:7 +#: ../../source/learn/intrinsics/_pages/SPACING.md:8 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:8 +#: ../../source/learn/intrinsics/_pages/SQRT.md:7 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:8 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:8 +#: ../../source/learn/intrinsics/_pages/TAN.md:8 +#: ../../source/learn/intrinsics/_pages/TANH.md:8 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:8 +#: ../../source/learn/intrinsics/_pages/TINY.md:8 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:7 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:8 +#: ../../source/learn/intrinsics/_pages/TRIM.md:8 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:8 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:7 +msgid "__Syntax__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:23 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:18 +#: ../../source/learn/intrinsics/_pages/ACOS.md:17 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:18 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:15 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:15 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:16 +#: ../../source/learn/intrinsics/_pages/AINT.md:25 +#: ../../source/learn/intrinsics/_pages/ANINT.md:12 +#: ../../source/learn/intrinsics/_pages/ASIN.md:17 +#: ../../source/learn/intrinsics/_pages/ASINH.md:18 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/ATAN.md:18 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:11 +#: ../../source/learn/intrinsics/_pages/ATANH.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:11 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:17 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:12 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:14 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:12 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:14 +#: ../../source/learn/intrinsics/_pages/BGE.md:12 +#: ../../source/learn/intrinsics/_pages/BGT.md:12 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:14 +#: ../../source/learn/intrinsics/_pages/BLE.md:12 +#: ../../source/learn/intrinsics/_pages/BLT.md:12 +#: ../../source/learn/intrinsics/_pages/BTEST.md:17 +#: ../../source/learn/intrinsics/_pages/CEILING.md:16 +#: ../../source/learn/intrinsics/_pages/CHAR.md:16 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:17 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:14 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:12 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:14 +#: ../../source/learn/intrinsics/_pages/CONJG.md:16 +#: ../../source/learn/intrinsics/_pages/COS.md:17 +#: ../../source/learn/intrinsics/_pages/COSH.md:19 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:12 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:12 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:12 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:12 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:12 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:12 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:12 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:12 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:12 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:12 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:12 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:16 +#: ../../source/learn/intrinsics/_pages/DBLE.md:18 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:17 +#: ../../source/learn/intrinsics/_pages/DIM.md:17 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:12 +#: ../../source/learn/intrinsics/_pages/DPROD.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:12 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:11 +#: ../../source/learn/intrinsics/_pages/ERF.md:12 +#: ../../source/learn/intrinsics/_pages/ERFC.md:16 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:12 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:12 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:18 +#: ../../source/learn/intrinsics/_pages/EXP.md:11 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:12 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:17 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:12 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:11 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:16 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:17 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:17 +#: ../../source/learn/intrinsics/_pages/HUGE.md:18 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:16 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:12 +#: ../../source/learn/intrinsics/_pages/IALL.md:16 +#: ../../source/learn/intrinsics/_pages/IAND.md:12 +#: ../../source/learn/intrinsics/_pages/IANY.md:16 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:12 +#: ../../source/learn/intrinsics/_pages/IBITS.md:12 +#: ../../source/learn/intrinsics/_pages/IBSET.md:12 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:15 +#: ../../source/learn/intrinsics/_pages/IEOR.md:12 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:12 +#: ../../source/learn/intrinsics/_pages/INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/INT.md:14 +#: ../../source/learn/intrinsics/_pages/IOR.md:14 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:16 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:12 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:12 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:15 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:12 +#: ../../source/learn/intrinsics/_pages/KIND.md:12 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:12 +#: ../../source/learn/intrinsics/_pages/LEN.md:19 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/LGE.md:12 +#: ../../source/learn/intrinsics/_pages/LGT.md:12 +#: ../../source/learn/intrinsics/_pages/LLE.md:18 +#: ../../source/learn/intrinsics/_pages/LLT.md:12 +#: ../../source/learn/intrinsics/_pages/LOG.md:12 +#: ../../source/learn/intrinsics/_pages/LOG10.md:14 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:16 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:12 +#: ../../source/learn/intrinsics/_pages/MASKL.md:14 +#: ../../source/learn/intrinsics/_pages/MASKR.md:14 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:12 +#: ../../source/learn/intrinsics/_pages/MAX.md:11 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MERGE.md:11 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:19 +#: ../../source/learn/intrinsics/_pages/MIN.md:12 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/MOD.md:12 +#: ../../source/learn/intrinsics/_pages/MODULO.md:12 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:12 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:12 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:12 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:14 +#: ../../source/learn/intrinsics/_pages/NINT.md:13 +#: ../../source/learn/intrinsics/_pages/NORM2.md:17 +#: ../../source/learn/intrinsics/_pages/NOT.md:10 +#: ../../source/learn/intrinsics/_pages/NULL.md:13 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:12 +#: ../../source/learn/intrinsics/_pages/PACK.md:20 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:12 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:12 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:12 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:15 +#: ../../source/learn/intrinsics/_pages/RADIX.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:12 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:12 +#: ../../source/learn/intrinsics/_pages/RANGE.md:18 +#: ../../source/learn/intrinsics/_pages/REAL.md:11 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:16 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:12 +#: ../../source/learn/intrinsics/_pages/SCALE.md:15 +#: ../../source/learn/intrinsics/_pages/SCAN.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:12 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:12 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:12 +#: ../../source/learn/intrinsics/_pages/SIN.md:17 +#: ../../source/learn/intrinsics/_pages/SINH.md:17 +#: ../../source/learn/intrinsics/_pages/SPACING.md:12 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:18 +#: ../../source/learn/intrinsics/_pages/SQRT.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:12 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:18 +#: ../../source/learn/intrinsics/_pages/TAN.md:12 +#: ../../source/learn/intrinsics/_pages/TANH.md:12 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:13 +#: ../../source/learn/intrinsics/_pages/TINY.md:16 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:12 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:12 +#: ../../source/learn/intrinsics/_pages/TRIM.md:12 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:12 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:18 +msgid "__Description__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:13 +msgid "" +"The elemental function __merge__(3) selects values from two arrays or " +"scalars according to a logical mask. The result is equal to an element of" +" __tsource__ where the corresponding element of __mask__ is __.true.__, " +"or an element of __fsource__ when it is .false. ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:18 +msgid "Multi-dimensional arrays are supported." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:20 +msgid "" +"Note that argument expressions to __merge__(3) are not required to be " +"short-circuited so (as an example) if the array __x__ contains zero " +"values in the statement below the standard does not prevent floating " +"point divide by zero being generated; as __1.0/x__ may be evaluated for " +"all values of __x__ before the mask is used to select which value to " +"retain:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:30 +msgid "" +"Note the compiler is also free to short-circuit or to generate an " +"infinity so this may work in many programming environments but is not " +"recommended." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:34 +msgid "" +"For cases like this one may instead use masked assignment via the " +"__where__ construct:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:45 +msgid "instead of the more obscure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:34 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/ACOS.md:21 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:20 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:21 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:20 +#: ../../source/learn/intrinsics/_pages/AINT.md:29 +#: ../../source/learn/intrinsics/_pages/ANINT.md:16 +#: ../../source/learn/intrinsics/_pages/ASIN.md:25 +#: ../../source/learn/intrinsics/_pages/ASINH.md:22 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:17 +#: ../../source/learn/intrinsics/_pages/ATAN.md:22 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:23 +#: ../../source/learn/intrinsics/_pages/ATANH.md:16 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:21 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:22 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:23 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:17 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:23 +#: ../../source/learn/intrinsics/_pages/BGE.md:17 +#: ../../source/learn/intrinsics/_pages/BGT.md:16 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:22 +#: ../../source/learn/intrinsics/_pages/BLE.md:16 +#: ../../source/learn/intrinsics/_pages/BLT.md:16 +#: ../../source/learn/intrinsics/_pages/BTEST.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:20 +#: ../../source/learn/intrinsics/_pages/CHAR.md:20 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:101 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:19 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:16 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:19 +#: ../../source/learn/intrinsics/_pages/CONJG.md:30 +#: ../../source/learn/intrinsics/_pages/COS.md:25 +#: ../../source/learn/intrinsics/_pages/COSH.md:23 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:21 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:23 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:27 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:17 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:23 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:18 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:17 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:16 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:17 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:23 +#: ../../source/learn/intrinsics/_pages/DBLE.md:22 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:24 +#: ../../source/learn/intrinsics/_pages/DIM.md:22 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:18 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:18 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:30 +#: ../../source/learn/intrinsics/_pages/ERF.md:19 +#: ../../source/learn/intrinsics/_pages/ERFC.md:35 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:22 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:20 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/EXP.md:27 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:23 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:18 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:23 +#: ../../source/learn/intrinsics/_pages/HUGE.md:23 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:17 +#: ../../source/learn/intrinsics/_pages/IALL.md:21 +#: ../../source/learn/intrinsics/_pages/IAND.md:16 +#: ../../source/learn/intrinsics/_pages/IANY.md:21 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:16 +#: ../../source/learn/intrinsics/_pages/IBITS.md:19 +#: ../../source/learn/intrinsics/_pages/IBSET.md:16 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:16 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:16 +#: ../../source/learn/intrinsics/_pages/INDEX.md:24 +#: ../../source/learn/intrinsics/_pages/INT.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:18 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:21 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:22 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:22 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:23 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:19 +#: ../../source/learn/intrinsics/_pages/KIND.md:16 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:16 +#: ../../source/learn/intrinsics/_pages/LEN.md:29 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:20 +#: ../../source/learn/intrinsics/_pages/LGE.md:26 +#: ../../source/learn/intrinsics/_pages/LGT.md:26 +#: ../../source/learn/intrinsics/_pages/LLE.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:26 +#: ../../source/learn/intrinsics/_pages/LOG.md:17 +#: ../../source/learn/intrinsics/_pages/LOG10.md:19 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:20 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:16 +#: ../../source/learn/intrinsics/_pages/MASKL.md:19 +#: ../../source/learn/intrinsics/_pages/MASKR.md:19 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:16 +#: ../../source/learn/intrinsics/_pages/MAX.md:15 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MERGE.md:51 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:43 +#: ../../source/learn/intrinsics/_pages/MIN.md:16 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/MOD.md:16 +#: ../../source/learn/intrinsics/_pages/MODULO.md:16 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:17 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:17 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:35 +#: ../../source/learn/intrinsics/_pages/NINT.md:27 +#: ../../source/learn/intrinsics/_pages/NORM2.md:22 +#: ../../source/learn/intrinsics/_pages/NOT.md:14 +#: ../../source/learn/intrinsics/_pages/NULL.md:22 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:16 +#: ../../source/learn/intrinsics/_pages/PACK.md:28 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:17 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:17 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:17 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:16 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:17 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:23 +#: ../../source/learn/intrinsics/_pages/REAL.md:15 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:16 +#: ../../source/learn/intrinsics/_pages/SCALE.md:19 +#: ../../source/learn/intrinsics/_pages/SCAN.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:20 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:19 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:18 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:19 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:26 +#: ../../source/learn/intrinsics/_pages/SINH.md:28 +#: ../../source/learn/intrinsics/_pages/SPACING.md:17 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:26 +#: ../../source/learn/intrinsics/_pages/SQRT.md:41 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:16 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:40 +#: ../../source/learn/intrinsics/_pages/TAN.md:16 +#: ../../source/learn/intrinsics/_pages/TANH.md:16 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:17 +#: ../../source/learn/intrinsics/_pages/TINY.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:16 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:21 +#: ../../source/learn/intrinsics/_pages/TRIM.md:16 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:16 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:40 +msgid "__Arguments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:53 +msgid "__tsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:54 +msgid "May be of any type, including user-defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:56 +msgid "__fsource__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:57 +msgid "Shall be of the same type and type parameters as __tsource__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:30 +#: ../../source/learn/intrinsics/_pages/IANY.md:30 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:30 +#: ../../source/learn/intrinsics/_pages/MERGE.md:59 +#: ../../source/learn/intrinsics/_pages/PACK.md:33 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:22 +msgid "__mask__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:60 +msgid "Shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:62 +msgid "Note that (currently) _character_ values must be of the same length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:40 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:41 +#: ../../source/learn/intrinsics/_pages/ACOS.md:27 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:27 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:25 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:26 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:25 +#: ../../source/learn/intrinsics/_pages/AINT.md:38 +#: ../../source/learn/intrinsics/_pages/ANINT.md:25 +#: ../../source/learn/intrinsics/_pages/ASIN.md:31 +#: ../../source/learn/intrinsics/_pages/ASINH.md:27 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN.md:32 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:32 +#: ../../source/learn/intrinsics/_pages/ATANH.md:21 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:38 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:22 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:38 +#: ../../source/learn/intrinsics/_pages/BGE.md:25 +#: ../../source/learn/intrinsics/_pages/BGT.md:25 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:29 +#: ../../source/learn/intrinsics/_pages/BLE.md:24 +#: ../../source/learn/intrinsics/_pages/BLT.md:24 +#: ../../source/learn/intrinsics/_pages/BTEST.md:32 +#: ../../source/learn/intrinsics/_pages/CEILING.md:29 +#: ../../source/learn/intrinsics/_pages/CHAR.md:29 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:114 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:23 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:20 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:23 +#: ../../source/learn/intrinsics/_pages/CONJG.md:35 +#: ../../source/learn/intrinsics/_pages/COS.md:31 +#: ../../source/learn/intrinsics/_pages/COSH.md:28 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:29 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:31 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:34 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:26 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:21 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:24 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:22 +#: ../../source/learn/intrinsics/_pages/DBLE.md:27 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:29 +#: ../../source/learn/intrinsics/_pages/DIM.md:30 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:32 +#: ../../source/learn/intrinsics/_pages/DPROD.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:29 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:47 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:24 +#: ../../source/learn/intrinsics/_pages/ERFC.md:40 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:27 +#: ../../source/learn/intrinsics/_pages/EXP.md:32 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:27 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:32 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:23 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:28 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:27 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:32 +#: ../../source/learn/intrinsics/_pages/HUGE.md:30 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:34 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:26 +#: ../../source/learn/intrinsics/_pages/IALL.md:34 +#: ../../source/learn/intrinsics/_pages/IAND.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:34 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:27 +#: ../../source/learn/intrinsics/_pages/IBITS.md:31 +#: ../../source/learn/intrinsics/_pages/IBSET.md:27 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:35 +#: ../../source/learn/intrinsics/_pages/IEOR.md:24 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:25 +#: ../../source/learn/intrinsics/_pages/INDEX.md:40 +#: ../../source/learn/intrinsics/_pages/INT.md:29 +#: ../../source/learn/intrinsics/_pages/IOR.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:30 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:28 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:24 +#: ../../source/learn/intrinsics/_pages/KIND.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:21 +#: ../../source/learn/intrinsics/_pages/LEN.md:38 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:30 +#: ../../source/learn/intrinsics/_pages/LGE.md:34 +#: ../../source/learn/intrinsics/_pages/LGT.md:34 +#: ../../source/learn/intrinsics/_pages/LLE.md:43 +#: ../../source/learn/intrinsics/_pages/LLT.md:34 +#: ../../source/learn/intrinsics/_pages/LOG.md:22 +#: ../../source/learn/intrinsics/_pages/LOG10.md:24 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:30 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:21 +#: ../../source/learn/intrinsics/_pages/MASKL.md:29 +#: ../../source/learn/intrinsics/_pages/MASKR.md:29 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:28 +#: ../../source/learn/intrinsics/_pages/MAX.md:23 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MERGE.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:54 +#: ../../source/learn/intrinsics/_pages/MIN.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/MOD.md:25 +#: ../../source/learn/intrinsics/_pages/MODULO.md:25 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:25 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:40 +#: ../../source/learn/intrinsics/_pages/NINT.md:37 +#: ../../source/learn/intrinsics/_pages/NORM2.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:19 +#: ../../source/learn/intrinsics/_pages/NULL.md:28 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:44 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:22 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:22 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:22 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:26 +#: ../../source/learn/intrinsics/_pages/RADIX.md:21 +#: ../../source/learn/intrinsics/_pages/RANGE.md:28 +#: ../../source/learn/intrinsics/_pages/REAL.md:24 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:30 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:26 +#: ../../source/learn/intrinsics/_pages/SCALE.md:27 +#: ../../source/learn/intrinsics/_pages/SCAN.md:36 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:33 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/SIN.md:31 +#: ../../source/learn/intrinsics/_pages/SINH.md:33 +#: ../../source/learn/intrinsics/_pages/SPACING.md:22 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:39 +#: ../../source/learn/intrinsics/_pages/SQRT.md:47 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/TAN.md:21 +#: ../../source/learn/intrinsics/_pages/TANH.md:21 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:30 +#: ../../source/learn/intrinsics/_pages/TINY.md:26 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:21 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:32 +#: ../../source/learn/intrinsics/_pages/TRIM.md:21 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:28 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:55 +msgid "__Returns__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:66 +msgid "" +"The result is of the same type and type parameters as __tsource__. For " +"any element the result is __tsource__ if __mask__ is true and __fsource__" +" otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:50 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:47 +#: ../../source/learn/intrinsics/_pages/ACOS.md:32 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:36 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:31 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:32 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:30 +#: ../../source/learn/intrinsics/_pages/AINT.md:47 +#: ../../source/learn/intrinsics/_pages/ANINT.md:33 +#: ../../source/learn/intrinsics/_pages/ASIN.md:38 +#: ../../source/learn/intrinsics/_pages/ASINH.md:33 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:64 +#: ../../source/learn/intrinsics/_pages/ATAN.md:40 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:43 +#: ../../source/learn/intrinsics/_pages/ATANH.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:44 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:35 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:27 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:42 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:33 +#: ../../source/learn/intrinsics/_pages/BTEST.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:37 +#: ../../source/learn/intrinsics/_pages/CHAR.md:33 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:120 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:29 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:26 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:28 +#: ../../source/learn/intrinsics/_pages/CONJG.md:39 +#: ../../source/learn/intrinsics/_pages/COS.md:38 +#: ../../source/learn/intrinsics/_pages/COSH.md:36 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:40 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:57 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:40 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:44 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:32 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:26 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:30 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:25 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:29 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:32 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:55 +#: ../../source/learn/intrinsics/_pages/DBLE.md:33 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:33 +#: ../../source/learn/intrinsics/_pages/DIM.md:34 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:38 +#: ../../source/learn/intrinsics/_pages/DPROD.md:43 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:51 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:39 +#: ../../source/learn/intrinsics/_pages/ERF.md:29 +#: ../../source/learn/intrinsics/_pages/ERFC.md:47 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:31 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:33 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:75 +#: ../../source/learn/intrinsics/_pages/EXP.md:38 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:43 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:40 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:29 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:32 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:44 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:54 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:63 +#: ../../source/learn/intrinsics/_pages/HUGE.md:35 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:41 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:31 +#: ../../source/learn/intrinsics/_pages/IALL.md:43 +#: ../../source/learn/intrinsics/_pages/IAND.md:29 +#: ../../source/learn/intrinsics/_pages/IANY.md:43 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:40 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/INT.md:51 +#: ../../source/learn/intrinsics/_pages/IOR.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:43 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:34 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:30 +#: ../../source/learn/intrinsics/_pages/KIND.md:26 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:47 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:49 +#: ../../source/learn/intrinsics/_pages/LOG.md:29 +#: ../../source/learn/intrinsics/_pages/LOG10.md:29 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:36 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/MASKL.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:37 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MERGE.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:29 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:26 +#: ../../source/learn/intrinsics/_pages/MOD.md:32 +#: ../../source/learn/intrinsics/_pages/MODULO.md:38 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:26 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:32 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:46 +#: ../../source/learn/intrinsics/_pages/NINT.md:47 +#: ../../source/learn/intrinsics/_pages/NORM2.md:42 +#: ../../source/learn/intrinsics/_pages/NOT.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:32 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:36 +#: ../../source/learn/intrinsics/_pages/PACK.md:50 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:26 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:26 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:31 +#: ../../source/learn/intrinsics/_pages/RADIX.md:26 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:22 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:37 +#: ../../source/learn/intrinsics/_pages/RANGE.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:38 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:34 +#: ../../source/learn/intrinsics/_pages/SCALE.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:41 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:25 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:57 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:31 +#: ../../source/learn/intrinsics/_pages/SIN.md:36 +#: ../../source/learn/intrinsics/_pages/SINH.md:37 +#: ../../source/learn/intrinsics/_pages/SPACING.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:45 +#: ../../source/learn/intrinsics/_pages/SQRT.md:52 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:31 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:60 +#: ../../source/learn/intrinsics/_pages/TAN.md:25 +#: ../../source/learn/intrinsics/_pages/TANH.md:30 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:44 +#: ../../source/learn/intrinsics/_pages/TINY.md:32 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:26 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:51 +#: ../../source/learn/intrinsics/_pages/TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:33 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:60 +msgid "__Examples__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:71 +msgid "The value of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:77 +msgid "is 1.0 for K=5 and 0.0 for K=__-2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:64 +#: ../../source/learn/intrinsics/_pages/MERGE.md:126 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:41 +msgid "Expected Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:121 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:149 +#: ../../source/learn/intrinsics/_pages/ACOS.md:59 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:53 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:58 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:71 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:60 +#: ../../source/learn/intrinsics/_pages/AINT.md:79 +#: ../../source/learn/intrinsics/_pages/ANINT.md:69 +#: ../../source/learn/intrinsics/_pages/ASIN.md:88 +#: ../../source/learn/intrinsics/_pages/ASINH.md:52 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:80 +#: ../../source/learn/intrinsics/_pages/ATAN.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:61 +#: ../../source/learn/intrinsics/_pages/ATANH.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:47 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:53 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:48 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:46 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:45 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:59 +#: ../../source/learn/intrinsics/_pages/BGE.md:29 +#: ../../source/learn/intrinsics/_pages/BGT.md:31 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:64 +#: ../../source/learn/intrinsics/_pages/BLE.md:28 +#: ../../source/learn/intrinsics/_pages/BLT.md:28 +#: ../../source/learn/intrinsics/_pages/BTEST.md:114 +#: ../../source/learn/intrinsics/_pages/CEILING.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:56 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:161 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:50 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:53 +#: ../../source/learn/intrinsics/_pages/CONJG.md:96 +#: ../../source/learn/intrinsics/_pages/COS.md:65 +#: ../../source/learn/intrinsics/_pages/COSH.md:50 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:60 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:56 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:90 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:61 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:37 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:65 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:67 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:53 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:51 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:44 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:51 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:97 +#: ../../source/learn/intrinsics/_pages/DBLE.md:50 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:57 +#: ../../source/learn/intrinsics/_pages/DIM.md:62 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:63 +#: ../../source/learn/intrinsics/_pages/DPROD.md:82 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:80 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:106 +#: ../../source/learn/intrinsics/_pages/ERF.md:46 +#: ../../source/learn/intrinsics/_pages/ERFC.md:64 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:48 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:52 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:101 +#: ../../source/learn/intrinsics/_pages/EXP.md:82 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:45 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:75 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:45 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:118 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:77 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:119 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:85 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:91 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IALL.md:66 +#: ../../source/learn/intrinsics/_pages/IAND.md:45 +#: ../../source/learn/intrinsics/_pages/IANY.md:64 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:31 +#: ../../source/learn/intrinsics/_pages/IBITS.md:35 +#: ../../source/learn/intrinsics/_pages/IBSET.md:31 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:101 +#: ../../source/learn/intrinsics/_pages/IEOR.md:29 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:44 +#: ../../source/learn/intrinsics/_pages/INDEX.md:68 +#: ../../source/learn/intrinsics/_pages/INT.md:112 +#: ../../source/learn/intrinsics/_pages/IOR.md:54 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:63 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:34 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:38 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:59 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:47 +#: ../../source/learn/intrinsics/_pages/KIND.md:46 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:120 +#: ../../source/learn/intrinsics/_pages/LEN.md:43 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:67 +#: ../../source/learn/intrinsics/_pages/LGE.md:39 +#: ../../source/learn/intrinsics/_pages/LGT.md:39 +#: ../../source/learn/intrinsics/_pages/LLE.md:85 +#: ../../source/learn/intrinsics/_pages/LLT.md:39 +#: ../../source/learn/intrinsics/_pages/LOG.md:47 +#: ../../source/learn/intrinsics/_pages/LOG10.md:55 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:59 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:40 +#: ../../source/learn/intrinsics/_pages/MASKL.md:87 +#: ../../source/learn/intrinsics/_pages/MASKR.md:96 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:34 +#: ../../source/learn/intrinsics/_pages/MAX.md:109 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MERGE.md:145 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:113 +#: ../../source/learn/intrinsics/_pages/MIN.md:46 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:46 +#: ../../source/learn/intrinsics/_pages/MOD.md:70 +#: ../../source/learn/intrinsics/_pages/MODULO.md:64 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:64 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:128 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:61 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:72 +#: ../../source/learn/intrinsics/_pages/NINT.md:110 +#: ../../source/learn/intrinsics/_pages/NORM2.md:81 +#: ../../source/learn/intrinsics/_pages/NOT.md:46 +#: ../../source/learn/intrinsics/_pages/NULL.md:110 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:57 +#: ../../source/learn/intrinsics/_pages/PACK.md:100 +#: ../../source/learn/intrinsics/_pages/PARITY.md:59 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:52 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:53 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:46 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:57 +#: ../../source/learn/intrinsics/_pages/RADIX.md:45 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:81 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:60 +#: ../../source/learn/intrinsics/_pages/RANGE.md:52 +#: ../../source/learn/intrinsics/_pages/REAL.md:65 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:58 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:27 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:31 +#: ../../source/learn/intrinsics/_pages/SCALE.md:51 +#: ../../source/learn/intrinsics/_pages/SCAN.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:55 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:49 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:82 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:31 +#: ../../source/learn/intrinsics/_pages/SIGN.md:72 +#: ../../source/learn/intrinsics/_pages/SIN.md:121 +#: ../../source/learn/intrinsics/_pages/SINH.md:81 +#: ../../source/learn/intrinsics/_pages/SPACING.md:45 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:116 +#: ../../source/learn/intrinsics/_pages/SQRT.md:85 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:53 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:94 +#: ../../source/learn/intrinsics/_pages/TAN.md:42 +#: ../../source/learn/intrinsics/_pages/TANH.md:47 +#: ../../source/learn/intrinsics/_pages/TINY.md:48 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:104 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:101 +#: ../../source/learn/intrinsics/_pages/TRIM.md:50 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:55 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:243 +msgid "__Standard__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:60 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:73 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:82 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:66 +#: ../../source/learn/intrinsics/_pages/BTEST.md:116 +#: ../../source/learn/intrinsics/_pages/CEILING.md:65 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:67 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:69 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:99 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:65 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:82 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:108 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:47 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:77 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:47 +#: ../../source/learn/intrinsics/_pages/HUGE.md:87 +#: ../../source/learn/intrinsics/_pages/IAND.md:47 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:33 +#: ../../source/learn/intrinsics/_pages/IBITS.md:37 +#: ../../source/learn/intrinsics/_pages/IBSET.md:33 +#: ../../source/learn/intrinsics/_pages/IEOR.md:31 +#: ../../source/learn/intrinsics/_pages/IOR.md:56 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:36 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:40 +#: ../../source/learn/intrinsics/_pages/KIND.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:36 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MERGE.md:147 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:48 +#: ../../source/learn/intrinsics/_pages/MODULO.md:66 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:130 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:63 +#: ../../source/learn/intrinsics/_pages/NOT.md:48 +#: ../../source/learn/intrinsics/_pages/NULL.md:112 +#: ../../source/learn/intrinsics/_pages/PACK.md:102 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:48 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:59 +#: ../../source/learn/intrinsics/_pages/RADIX.md:47 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:83 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:62 +#: ../../source/learn/intrinsics/_pages/RANGE.md:54 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:60 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:29 +#: ../../source/learn/intrinsics/_pages/SCALE.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:51 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/SPACING.md:47 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:118 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:96 +#: ../../source/learn/intrinsics/_pages/TINY.md:50 +#: ../../source/learn/intrinsics/_pages/TRIM.md:52 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:57 +msgid "Fortran 95 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:153 +#: ../../source/learn/intrinsics/_pages/ACOS.md:62 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:57 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:75 +#: ../../source/learn/intrinsics/_pages/AINT.md:83 +#: ../../source/learn/intrinsics/_pages/ANINT.md:73 +#: ../../source/learn/intrinsics/_pages/ASIN.md:92 +#: ../../source/learn/intrinsics/_pages/ASINH.md:56 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:84 +#: ../../source/learn/intrinsics/_pages/ATAN.md:76 +#: ../../source/learn/intrinsics/_pages/ATANH.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:51 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:61 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:57 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:56 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:52 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:50 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:65 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:49 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:63 +#: ../../source/learn/intrinsics/_pages/BGE.md:33 +#: ../../source/learn/intrinsics/_pages/BGT.md:35 +#: ../../source/learn/intrinsics/_pages/BLE.md:32 +#: ../../source/learn/intrinsics/_pages/BLT.md:32 +#: ../../source/learn/intrinsics/_pages/BTEST.md:118 +#: ../../source/learn/intrinsics/_pages/CEILING.md:67 +#: ../../source/learn/intrinsics/_pages/CHAR.md:60 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:151 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:58 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:54 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:57 +#: ../../source/learn/intrinsics/_pages/COS.md:69 +#: ../../source/learn/intrinsics/_pages/COSH.md:54 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:54 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:64 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:60 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:94 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:65 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:41 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:69 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:57 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:57 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:48 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:55 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:101 +#: ../../source/learn/intrinsics/_pages/DBLE.md:54 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:61 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:37 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:37 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:110 +#: ../../source/learn/intrinsics/_pages/EXP.md:86 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:49 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:79 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:49 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:122 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:81 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:123 +#: ../../source/learn/intrinsics/_pages/HUGE.md:89 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IALL.md:70 +#: ../../source/learn/intrinsics/_pages/IAND.md:49 +#: ../../source/learn/intrinsics/_pages/IANY.md:68 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:35 +#: ../../source/learn/intrinsics/_pages/IBITS.md:39 +#: ../../source/learn/intrinsics/_pages/IBSET.md:35 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:105 +#: ../../source/learn/intrinsics/_pages/IEOR.md:33 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:48 +#: ../../source/learn/intrinsics/_pages/INDEX.md:73 +#: ../../source/learn/intrinsics/_pages/INT.md:116 +#: ../../source/learn/intrinsics/_pages/IOR.md:58 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:67 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:42 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:124 +#: ../../source/learn/intrinsics/_pages/LEN.md:108 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:72 +#: ../../source/learn/intrinsics/_pages/LGE.md:43 +#: ../../source/learn/intrinsics/_pages/LGT.md:43 +#: ../../source/learn/intrinsics/_pages/LLE.md:89 +#: ../../source/learn/intrinsics/_pages/LLT.md:43 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:63 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:44 +#: ../../source/learn/intrinsics/_pages/MASKL.md:91 +#: ../../source/learn/intrinsics/_pages/MASKR.md:100 +#: ../../source/learn/intrinsics/_pages/MAX.md:113 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MERGE.md:149 +#: ../../source/learn/intrinsics/_pages/MIN.md:50 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:50 +#: ../../source/learn/intrinsics/_pages/MOD.md:74 +#: ../../source/learn/intrinsics/_pages/MODULO.md:68 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:68 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:132 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:65 +#: ../../source/learn/intrinsics/_pages/NINT.md:114 +#: ../../source/learn/intrinsics/_pages/NORM2.md:85 +#: ../../source/learn/intrinsics/_pages/NOT.md:50 +#: ../../source/learn/intrinsics/_pages/NULL.md:114 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:61 +#: ../../source/learn/intrinsics/_pages/PACK.md:104 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:56 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:57 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:50 +#: ../../source/learn/intrinsics/_pages/RADIX.md:49 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:85 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:64 +#: ../../source/learn/intrinsics/_pages/RANGE.md:56 +#: ../../source/learn/intrinsics/_pages/REAL.md:69 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:62 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:31 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:35 +#: ../../source/learn/intrinsics/_pages/SCALE.md:55 +#: ../../source/learn/intrinsics/_pages/SCAN.md:63 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:86 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:51 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:37 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/SIN.md:125 +#: ../../source/learn/intrinsics/_pages/SINH.md:85 +#: ../../source/learn/intrinsics/_pages/SPACING.md:49 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:120 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:57 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:98 +#: ../../source/learn/intrinsics/_pages/TAN.md:46 +#: ../../source/learn/intrinsics/_pages/TANH.md:51 +#: ../../source/learn/intrinsics/_pages/TINY.md:52 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:108 +#: ../../source/learn/intrinsics/_pages/TRIM.md:54 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:59 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:247 +msgid "__See Also__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE.md:151 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:125 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:165 +#: ../../source/learn/intrinsics/_pages/ACOS.md:68 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:62 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:66 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:79 +#: ../../source/learn/intrinsics/_pages/ASIN.md:98 +#: ../../source/learn/intrinsics/_pages/ATAN.md:82 +#: ../../source/learn/intrinsics/_pages/BTEST.md:131 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:63 +#: ../../source/learn/intrinsics/_pages/CONJG.md:100 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:74 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:113 +#: ../../source/learn/intrinsics/_pages/DBLE.md:59 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:79 +#: ../../source/learn/intrinsics/_pages/DIM.md:66 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:128 +#: ../../source/learn/intrinsics/_pages/EXP.md:94 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:90 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:128 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:127 +#: ../../source/learn/intrinsics/_pages/HUGE.md:107 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:63 +#: ../../source/learn/intrinsics/_pages/LEN.md:129 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:89 +#: ../../source/learn/intrinsics/_pages/MASKL.md:95 +#: ../../source/learn/intrinsics/_pages/MASKR.md:104 +#: ../../source/learn/intrinsics/_pages/MERGE.md:157 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:76 +#: ../../source/learn/intrinsics/_pages/NINT.md:123 +#: ../../source/learn/intrinsics/_pages/NOT.md:60 +#: ../../source/learn/intrinsics/_pages/PACK.md:112 +#: ../../source/learn/intrinsics/_pages/SIN.md:132 +#: ../../source/learn/intrinsics/_pages/SQRT.md:89 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:115 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:265 +msgid "####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:2 +msgid "pack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:5 +msgid "" +"__pack__(3) - \\[ARRAY CONSTRUCTION\\] Pack an array into an array of " +"rank one" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:16 +msgid "" +"where TYPE(kind=KIND) may be any type, where __array__ and __vector__ " +"and the returned value must by of the same type. __mask__ may be a " +"scalar as well an an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:22 +msgid "Stores the elements of ARRAY in an array of rank one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:24 +msgid "" +"The beginning of the resulting array is made up of elements whose " +"__mask__ equals __.true.__. Afterwards, positions are filled with " +"elements taken from __vector__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:19 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:25 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:35 +#: ../../source/learn/intrinsics/_pages/IALL.md:23 +#: ../../source/learn/intrinsics/_pages/IANY.md:23 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:23 +#: ../../source/learn/intrinsics/_pages/NORM2.md:24 +#: ../../source/learn/intrinsics/_pages/PACK.md:30 +msgid "__array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:26 +#: ../../source/learn/intrinsics/_pages/PACK.md:31 +msgid "Shall be an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:34 +msgid "" +"Shall be an array of type _logical_ and of the same size as __array__. " +"Alternatively, it may be a _logical_ scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:37 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:18 +msgid "__vector__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:38 +msgid "" +"(Optional) shall be an array of the same type as __array__ and of rank " +"one. If present, the number of elements in __vector__ shall be equal to " +"or greater than the number of true elements in __mask__. If __mask__ is " +"scalar, the number of elements in __vector__ shall be equal to or greater" +" than the number of elements in __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:46 +msgid "" +"The result is an array of rank one and the same type as that of " +"__array__. If __vector__ is present, the result size is that of " +"__vector__, the number of __.true.__ values in __mask__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:52 +#: ../../source/learn/intrinsics/_pages/ACOS.md:33 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:38 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:33 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:34 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:32 +#: ../../source/learn/intrinsics/_pages/AINT.md:49 +#: ../../source/learn/intrinsics/_pages/ANINT.md:35 +#: ../../source/learn/intrinsics/_pages/ASINH.md:35 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:66 +#: ../../source/learn/intrinsics/_pages/ATAN.md:42 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:45 +#: ../../source/learn/intrinsics/_pages/ATANH.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:46 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:43 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:44 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:44 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:35 +#: ../../source/learn/intrinsics/_pages/BTEST.md:40 +#: ../../source/learn/intrinsics/_pages/CEILING.md:39 +#: ../../source/learn/intrinsics/_pages/CHAR.md:35 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:122 +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:31 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:28 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:30 +#: ../../source/learn/intrinsics/_pages/CONJG.md:41 +#: ../../source/learn/intrinsics/_pages/COS.md:40 +#: ../../source/learn/intrinsics/_pages/COSH.md:38 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:40 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:42 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:42 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:59 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:42 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:46 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:40 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:34 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:28 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:32 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:27 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:31 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:34 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:57 +#: ../../source/learn/intrinsics/_pages/DBLE.md:35 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:35 +#: ../../source/learn/intrinsics/_pages/DIM.md:36 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:40 +#: ../../source/learn/intrinsics/_pages/DPROD.md:45 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:53 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:41 +#: ../../source/learn/intrinsics/_pages/ERF.md:31 +#: ../../source/learn/intrinsics/_pages/ERFC.md:49 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:33 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:35 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:77 +#: ../../source/learn/intrinsics/_pages/EXP.md:40 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:42 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:31 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:34 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:56 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:65 +#: ../../source/learn/intrinsics/_pages/HUGE.md:37 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:43 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/IALL.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:45 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:42 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:33 +#: ../../source/learn/intrinsics/_pages/INT.md:53 +#: ../../source/learn/intrinsics/_pages/IOR.md:33 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:45 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:36 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:32 +#: ../../source/learn/intrinsics/_pages/KIND.md:28 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:28 +#: ../../source/learn/intrinsics/_pages/LLE.md:51 +#: ../../source/learn/intrinsics/_pages/LOG.md:31 +#: ../../source/learn/intrinsics/_pages/LOG10.md:31 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:27 +#: ../../source/learn/intrinsics/_pages/MASKL.md:38 +#: ../../source/learn/intrinsics/_pages/MASKR.md:39 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:28 +#: ../../source/learn/intrinsics/_pages/MOD.md:34 +#: ../../source/learn/intrinsics/_pages/MODULO.md:40 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:34 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:48 +#: ../../source/learn/intrinsics/_pages/NINT.md:49 +#: ../../source/learn/intrinsics/_pages/NORM2.md:44 +#: ../../source/learn/intrinsics/_pages/NULL.md:34 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:38 +#: ../../source/learn/intrinsics/_pages/PACK.md:52 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:28 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:31 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:28 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:33 +#: ../../source/learn/intrinsics/_pages/RADIX.md:28 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:24 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:39 +#: ../../source/learn/intrinsics/_pages/RANGE.md:34 +#: ../../source/learn/intrinsics/_pages/REAL.md:40 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:36 +#: ../../source/learn/intrinsics/_pages/SCALE.md:34 +#: ../../source/learn/intrinsics/_pages/SCAN.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:26 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:33 +#: ../../source/learn/intrinsics/_pages/SIN.md:38 +#: ../../source/learn/intrinsics/_pages/SIN.md:83 +#: ../../source/learn/intrinsics/_pages/SINH.md:39 +#: ../../source/learn/intrinsics/_pages/SPACING.md:28 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:47 +#: ../../source/learn/intrinsics/_pages/SQRT.md:54 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:62 +#: ../../source/learn/intrinsics/_pages/TAN.md:27 +#: ../../source/learn/intrinsics/_pages/TANH.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:46 +#: ../../source/learn/intrinsics/_pages/TINY.md:34 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:53 +#: ../../source/learn/intrinsics/_pages/TRIM.md:28 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:35 +msgid "Sample program:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:103 +#: ../../source/learn/intrinsics/_pages/ACHAR.md:92 +#: ../../source/learn/intrinsics/_pages/ACOS.md:51 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:48 +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:52 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:62 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:51 +#: ../../source/learn/intrinsics/_pages/AINT.md:70 +#: ../../source/learn/intrinsics/_pages/ANINT.md:59 +#: ../../source/learn/intrinsics/_pages/ASIN.md:71 +#: ../../source/learn/intrinsics/_pages/ASINH.md:47 +#: ../../source/learn/intrinsics/_pages/ATAN.md:63 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:56 +#: ../../source/learn/intrinsics/_pages/ATANH.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:41 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:56 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:40 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:55 +#: ../../source/learn/intrinsics/_pages/BTEST.md:83 +#: ../../source/learn/intrinsics/_pages/CEILING.md:55 +#: ../../source/learn/intrinsics/_pages/CHAR.md:46 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:41 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:43 +#: ../../source/learn/intrinsics/_pages/CONJG.md:78 +#: ../../source/learn/intrinsics/_pages/COS.md:55 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:56 +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:61 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:44 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:85 +#: ../../source/learn/intrinsics/_pages/DBLE.md:46 +#: ../../source/learn/intrinsics/_pages/DIM.md:54 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:55 +#: ../../source/learn/intrinsics/_pages/DPROD.md:75 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:70 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:94 +#: ../../source/learn/intrinsics/_pages/ERF.md:42 +#: ../../source/learn/intrinsics/_pages/ERFC.md:60 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:43 +#: ../../source/learn/intrinsics/_pages/EXP.md:73 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:40 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:64 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:41 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:86 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:64 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:107 +#: ../../source/learn/intrinsics/_pages/HUGE.md:65 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:60 +#: ../../source/learn/intrinsics/_pages/IALL.md:61 +#: ../../source/learn/intrinsics/_pages/IAND.md:41 +#: ../../source/learn/intrinsics/_pages/IANY.md:58 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:95 +#: ../../source/learn/intrinsics/_pages/INT.md:96 +#: ../../source/learn/intrinsics/_pages/IOR.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:57 +#: ../../source/learn/intrinsics/_pages/KIND.md:41 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:50 +#: ../../source/learn/intrinsics/_pages/LEN.md:105 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:59 +#: ../../source/learn/intrinsics/_pages/LLE.md:70 +#: ../../source/learn/intrinsics/_pages/LOG.md:42 +#: ../../source/learn/intrinsics/_pages/LOG10.md:49 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:51 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:36 +#: ../../source/learn/intrinsics/_pages/MASKL.md:49 +#: ../../source/learn/intrinsics/_pages/MASKR.md:54 +#: ../../source/learn/intrinsics/_pages/MAX.md:100 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:41 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:103 +#: ../../source/learn/intrinsics/_pages/MIN.md:40 +#: ../../source/learn/intrinsics/_pages/MOD.md:55 +#: ../../source/learn/intrinsics/_pages/MODULO.md:55 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:59 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:57 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:64 +#: ../../source/learn/intrinsics/_pages/NINT.md:91 +#: ../../source/learn/intrinsics/_pages/NORM2.md:68 +#: ../../source/learn/intrinsics/_pages/NOT.md:39 +#: ../../source/learn/intrinsics/_pages/NULL.md:103 +#: ../../source/learn/intrinsics/_pages/PACK.md:93 +#: ../../source/learn/intrinsics/_pages/PARITY.md:55 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:43 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:45 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:41 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:52 +#: ../../source/learn/intrinsics/_pages/RADIX.md:38 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:54 +#: ../../source/learn/intrinsics/_pages/RANGE.md:46 +#: ../../source/learn/intrinsics/_pages/REAL.md:57 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:52 +#: ../../source/learn/intrinsics/_pages/SCALE.md:45 +#: ../../source/learn/intrinsics/_pages/SCAN.md:53 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:50 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:43 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:76 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:43 +#: ../../source/learn/intrinsics/_pages/SIGN.md:64 +#: ../../source/learn/intrinsics/_pages/SIN.md:115 +#: ../../source/learn/intrinsics/_pages/SINH.md:72 +#: ../../source/learn/intrinsics/_pages/SPACING.md:40 +#: ../../source/learn/intrinsics/_pages/SQRT.md:78 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:45 +#: ../../source/learn/intrinsics/_pages/TAN.md:38 +#: ../../source/learn/intrinsics/_pages/TANH.md:43 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:62 +#: ../../source/learn/intrinsics/_pages/TINY.md:43 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:63 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:73 +#: ../../source/learn/intrinsics/_pages/TRIM.md:43 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:50 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:125 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:181 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:236 +msgid "Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PACK.md:106 +msgid "" +"[__unpack__(3)](UNPACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:2 +msgid "spread" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:5 +msgid "__spread__(3) - \\[ARRAY CONSTRUCTION\\] Add a dimension to an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:20 +msgid "" +"Replicates a __source__ array __ncopies__ times along a specified " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:23 +msgid "" +"If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). and " +"each element of the result has a value equal to SOURCE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:28 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:23 +msgid "__source__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:29 +msgid "Shall be a scalar or an array of any type and a rank less than fifteen." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:22 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:31 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:44 +#: ../../source/learn/intrinsics/_pages/IALL.md:26 +#: ../../source/learn/intrinsics/_pages/IANY.md:26 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:26 +#: ../../source/learn/intrinsics/_pages/NORM2.md:27 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:32 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:26 +msgid "__dim__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:33 +msgid "" +"Shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __n+1__, where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:26 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:36 +msgid "__ncopies__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:37 +msgid "Shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:41 +msgid "" +"The result is an array of the same type as __source__ and has rank " +"__n+1__ where __n__ equals the rank of __source__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPREAD.md:122 +msgid "" +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK), [__merge__(3)](MERGE), " +"[__pack__(3)](PACK), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:64 +#: ../../source/learn/intrinsics/_pages/AINT.md:92 +#: ../../source/learn/intrinsics/_pages/ANINT.md:82 +#: ../../source/learn/intrinsics/_pages/ASINH.md:61 +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:88 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:65 +#: ../../source/learn/intrinsics/_pages/ATANH.md:55 +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:60 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:67 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:63 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:71 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:61 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:58 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:73 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:57 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:52 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:71 +#: ../../source/learn/intrinsics/_pages/BGE.md:39 +#: ../../source/learn/intrinsics/_pages/BGT.md:41 +#: ../../source/learn/intrinsics/_pages/BLE.md:38 +#: ../../source/learn/intrinsics/_pages/BLT.md:38 +#: ../../source/learn/intrinsics/_pages/CEILING.md:78 +#: ../../source/learn/intrinsics/_pages/CHAR.md:78 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:165 +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:59 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:62 +#: ../../source/learn/intrinsics/_pages/COS.md:76 +#: ../../source/learn/intrinsics/_pages/COSH.md:59 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:61 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:46 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:71 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:67 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:101 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:72 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:47 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:71 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:63 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:70 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:61 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:63 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:57 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:59 +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:67 +#: ../../source/learn/intrinsics/_pages/DPROD.md:86 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:41 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:41 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:84 +#: ../../source/learn/intrinsics/_pages/ERF.md:56 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:52 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:56 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:105 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:45 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:68 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:128 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:91 +#: ../../source/learn/intrinsics/_pages/IALL.md:76 +#: ../../source/learn/intrinsics/_pages/IAND.md:62 +#: ../../source/learn/intrinsics/_pages/IANY.md:74 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:48 +#: ../../source/learn/intrinsics/_pages/IBITS.md:53 +#: ../../source/learn/intrinsics/_pages/IBSET.md:48 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:128 +#: ../../source/learn/intrinsics/_pages/IEOR.md:46 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:53 +#: ../../source/learn/intrinsics/_pages/INDEX.md:87 +#: ../../source/learn/intrinsics/_pages/IOR.md:71 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:74 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:42 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:46 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:51 +#: ../../source/learn/intrinsics/_pages/KIND.md:50 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:131 +#: ../../source/learn/intrinsics/_pages/LGE.md:64 +#: ../../source/learn/intrinsics/_pages/LGT.md:66 +#: ../../source/learn/intrinsics/_pages/LLE.md:112 +#: ../../source/learn/intrinsics/_pages/LLT.md:61 +#: ../../source/learn/intrinsics/_pages/LOG.md:51 +#: ../../source/learn/intrinsics/_pages/LOG10.md:59 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:69 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:48 +#: ../../source/learn/intrinsics/_pages/MATMUL.md:38 +#: ../../source/learn/intrinsics/_pages/MAX.md:119 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:69 +#: ../../source/learn/intrinsics/_pages/MIN.md:56 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:68 +#: ../../source/learn/intrinsics/_pages/MOD.md:78 +#: ../../source/learn/intrinsics/_pages/MODULO.md:72 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:72 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:84 +#: ../../source/learn/intrinsics/_pages/NORM2.md:91 +#: ../../source/learn/intrinsics/_pages/NULL.md:118 +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:66 +#: ../../source/learn/intrinsics/_pages/PARITY.md:63 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:62 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:63 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:69 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:61 +#: ../../source/learn/intrinsics/_pages/RADIX.md:68 +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:89 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:68 +#: ../../source/learn/intrinsics/_pages/RANGE.md:74 +#: ../../source/learn/intrinsics/_pages/REAL.md:74 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:79 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:50 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:39 +#: ../../source/learn/intrinsics/_pages/SCALE.md:74 +#: ../../source/learn/intrinsics/_pages/SCAN.md:77 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:59 +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:62 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:92 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:70 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:42 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:40 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:40 +#: ../../source/learn/intrinsics/_pages/SINH.md:90 +#: ../../source/learn/intrinsics/_pages/SPACING.md:68 +#: ../../source/learn/intrinsics/_pages/SPREAD.md:128 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:61 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:103 +#: ../../source/learn/intrinsics/_pages/TAN.md:52 +#: ../../source/learn/intrinsics/_pages/TANH.md:56 +#: ../../source/learn/intrinsics/_pages/TINY.md:70 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:105 +#: ../../source/learn/intrinsics/_pages/TRIM.md:73 +#: ../../source/learn/intrinsics/_pages/UNPACK.md:67 +msgid "####### fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:2 +msgid "unpack" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:5 +msgid "" +"__unpack__(3) - \\[ARRAY CONSTRUCTION\\] Store the elements of a vector " +"in an array of higher rank" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:14 +msgid "Store the elements of __vector__ in an array of higher rank." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:19 +msgid "" +"Shall be an array of any type and rank one. It shall have at least as " +"many elements as __mask__ has __.true.__ values." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:23 +msgid "Shall be an array of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:25 +msgid "__field__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:26 +msgid "" +"Shall be of the same type as __vector__ and have the same shape as " +"__mask__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:30 +msgid "" +"The resulting array corresponds to __field__ with __.true.__ elements of " +"__mask__ replaced by values from __vector__ in array element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/UNPACK.md:61 +msgid "" +"[__pack__(3)](PACK), [__merge__(3)](MERGE), [__pack__(3)](PACK), " +"[__spread__(3)](SPREAD), [__unpack__(3)](UNPACK)" +msgstr "" + +#: ../../source/learn/intrinsics/BIT_index.md:1 +msgid "Bit-level inquiry and manipulation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:2 +msgid "bge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:5 +msgid "__bge__(3) - \\[BIT:COMPARE\\] Bitwise greater than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:14 +msgid "Determines whether an integer is bitwise greater than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:33 +#: ../../source/learn/intrinsics/_pages/BGE.md:19 +#: ../../source/learn/intrinsics/_pages/BGT.md:18 +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:24 +#: ../../source/learn/intrinsics/_pages/BLE.md:18 +#: ../../source/learn/intrinsics/_pages/BLT.md:18 +#: ../../source/learn/intrinsics/_pages/BTEST.md:23 +#: ../../source/learn/intrinsics/_pages/CHAR.md:22 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:20 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:20 +#: ../../source/learn/intrinsics/_pages/IAND.md:18 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:18 +#: ../../source/learn/intrinsics/_pages/IBITS.md:21 +#: ../../source/learn/intrinsics/_pages/IBSET.md:18 +#: ../../source/learn/intrinsics/_pages/IEOR.md:18 +#: ../../source/learn/intrinsics/_pages/IOR.md:20 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:24 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:24 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:25 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:21 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:18 +#: ../../source/learn/intrinsics/_pages/MASKL.md:21 +#: ../../source/learn/intrinsics/_pages/MASKR.md:21 +#: ../../source/learn/intrinsics/_pages/NOT.md:16 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:19 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:24 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:23 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:18 +msgid "__i__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:20 +#: ../../source/learn/intrinsics/_pages/BLE.md:19 +#: ../../source/learn/intrinsics/_pages/BLT.md:19 +msgid "Shall be of _integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:22 +#: ../../source/learn/intrinsics/_pages/BGT.md:21 +#: ../../source/learn/intrinsics/_pages/BLE.md:21 +#: ../../source/learn/intrinsics/_pages/BLT.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:23 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:23 +#: ../../source/learn/intrinsics/_pages/IAND.md:21 +#: ../../source/learn/intrinsics/_pages/IEOR.md:21 +#: ../../source/learn/intrinsics/_pages/IOR.md:23 +msgid "__j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:23 +#: ../../source/learn/intrinsics/_pages/BLE.md:22 +#: ../../source/learn/intrinsics/_pages/BLT.md:22 +msgid "Shall be of _integer_ type, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:27 +#: ../../source/learn/intrinsics/_pages/BLE.md:26 +#: ../../source/learn/intrinsics/_pages/BLT.md:26 +msgid "The return value is of type _logical_ and of the default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:55 +#: ../../source/learn/intrinsics/_pages/ASINH.md:54 +#: ../../source/learn/intrinsics/_pages/ATANH.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:48 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:63 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:47 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:42 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:61 +#: ../../source/learn/intrinsics/_pages/BGE.md:31 +#: ../../source/learn/intrinsics/_pages/BGT.md:33 +#: ../../source/learn/intrinsics/_pages/BLE.md:30 +#: ../../source/learn/intrinsics/_pages/BLT.md:30 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:39 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:35 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:35 +#: ../../source/learn/intrinsics/_pages/ERF.md:48 +#: ../../source/learn/intrinsics/_pages/ERFC.md:66 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:50 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:103 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:120 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:93 +#: ../../source/learn/intrinsics/_pages/IALL.md:68 +#: ../../source/learn/intrinsics/_pages/IANY.md:66 +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:46 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:65 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:122 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:42 +#: ../../source/learn/intrinsics/_pages/MASKL.md:89 +#: ../../source/learn/intrinsics/_pages/MASKR.md:98 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:115 +#: ../../source/learn/intrinsics/_pages/NORM2.md:83 +#: ../../source/learn/intrinsics/_pages/PARITY.md:61 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:54 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:55 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:35 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:33 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:33 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:55 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:106 +msgid "Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGE.md:35 +msgid "[__bgt__(3)](BGT), [__ble__(3)](BLE), [__blt__(3)](BIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:2 +msgid "bgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:5 +msgid "__bgt__(3) - \\[BIT:COMPARE\\] Bitwise greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:14 +msgid "Determines whether an integer is bitwise greater than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:19 +msgid "Shall be of _integer_ type or a BOZ literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:22 +msgid "" +"Shall be of _integer_ type, and of the same kind as __i__; or a BOZ " +"literal constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:27 +msgid "" +"The return value is of type _logical_ and of the default kind. The result" +" is true if the sequence of bits represented by _i_ is greater than the " +"sequence of bits represented by _j_, otherwise the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BGT.md:37 +msgid "[__bge__(3),](BGE), [__ble__(3),](BLE), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:2 +msgid "ble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:5 +msgid "__ble__(3) - \\[BIT:COMPARE\\] Bitwise less than or equal to" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:14 +msgid "Determines whether an integer is bitwise less than or equal to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLE.md:34 +msgid "[__bge__(3),](BGE), [__bgt__(3),](BGT), [__blt__(3)](BLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:2 +msgid "blt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:5 +msgid "__blt__(3) - \\[BIT:COMPARE\\] Bitwise less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:14 +msgid "Determines whether an integer is bitwise less than another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BLT.md:34 +msgid "[__bge__(3)](BGE), [__bgt__(3)](BGT), [__ble__(3)](BLE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:2 +msgid "bit\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:5 +msgid "__bit\\_size__(3) - \\[BIT:INQUIRY\\] Bit size inquiry function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:16 +msgid "" +"__bit\\_size(i)__ returns the number of bits (integer precision plus sign" +" bit) represented by the type of the _integer_ __i__. __i__ can be a " +"scalar or an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:25 +msgid "" +"An _integer_ value of any kind to determine the size of in bits. Because " +"only the type of the argument is examined, the argument need not be " +"defined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:54 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:143 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:49 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:117 +msgid "Typical Results:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BIT_SIZE.md:68 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:117 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:145 +msgid "####### fortran-lang intrinsic descriptions (license MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:2 +msgid "btest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:5 +msgid "__btest__(3) - \\[BIT:INQUIRY\\] Tests a bit of an _integer_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:15 +msgid "" +"where __KIND__ is any _integer_ kind supported by the programming " +"environment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:19 +msgid "" +"__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in " +"__i__ is set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:24 +#: ../../source/learn/intrinsics/_pages/CHAR.md:23 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:29 +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:32 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:39 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:45 +#: ../../source/learn/intrinsics/_pages/IAND.md:19 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:19 +#: ../../source/learn/intrinsics/_pages/IBITS.md:22 +#: ../../source/learn/intrinsics/_pages/IBITS.md:29 +#: ../../source/learn/intrinsics/_pages/IBSET.md:19 +#: ../../source/learn/intrinsics/_pages/IEOR.md:19 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:28 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:25 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:28 +#: ../../source/learn/intrinsics/_pages/NOT.md:17 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:25 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:22 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:25 +msgid "The type shall be _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:26 +#: ../../source/learn/intrinsics/_pages/IBCLR.md:21 +#: ../../source/learn/intrinsics/_pages/IBITS.md:24 +#: ../../source/learn/intrinsics/_pages/IBSET.md:21 +msgid "__pos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:27 +msgid "" +"The bit position to query. it must be a valid position for the value " +"__i__; ie. __0 <= pos <= bit_size(i)__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:30 +msgid "A value of zero refers to the least significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:34 +msgid "" +"The result is a _logical_ that has the value __.true.__ if bit " +"position __pos__ of __i__ has the value __1__ and the value " +"__.false.__ if bit __pos__ of __i__ has the value __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BTEST.md:120 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:2 +msgid "storage\\_size" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:5 +msgid "__storage\\_size__(3) - \\[BIT:INQUIRY\\] Storage size in bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:14 +msgid "Returns the storage size of argument __a__ in bits." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:36 +#: ../../source/learn/intrinsics/_pages/ANINT.md:18 +#: ../../source/learn/intrinsics/_pages/CEILING.md:22 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:23 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:25 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:25 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:25 +#: ../../source/learn/intrinsics/_pages/DBLE.md:24 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:19 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:25 +#: ../../source/learn/intrinsics/_pages/INT.md:20 +#: ../../source/learn/intrinsics/_pages/MOD.md:18 +#: ../../source/learn/intrinsics/_pages/MODULO.md:18 +#: ../../source/learn/intrinsics/_pages/PRESENT.md:21 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:18 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:18 +msgid "__a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:19 +msgid "Shall be a scalar or array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:37 +#: ../../source/learn/intrinsics/_pages/AINT.md:34 +#: ../../source/learn/intrinsics/_pages/ANINT.md:21 +#: ../../source/learn/intrinsics/_pages/CEILING.md:25 +#: ../../source/learn/intrinsics/_pages/CHAR.md:25 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:25 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:28 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:22 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:31 +#: ../../source/learn/intrinsics/_pages/INDEX.md:36 +#: ../../source/learn/intrinsics/_pages/INT.md:23 +#: ../../source/learn/intrinsics/_pages/LEN.md:34 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:26 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKL.md:26 +#: ../../source/learn/intrinsics/_pages/MASKR.md:26 +#: ../../source/learn/intrinsics/_pages/NINT.md:32 +#: ../../source/learn/intrinsics/_pages/REAL.md:20 +#: ../../source/learn/intrinsics/_pages/SCAN.md:32 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:21 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:51 +msgid "__kind__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:22 +msgid "(Optional) shall be a scalar integer constant expression." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:26 +msgid "" +"The result is a scalar integer with the kind type parameter specified by " +"__kind__ (or default integer type if __kind__ is missing). The result " +"value is the size expressed in bits for an element of an array that has " +"the dynamic type and type parameters of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:49 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:37 +#: ../../source/learn/intrinsics/_pages/MAX.md:39 +#: ../../source/learn/intrinsics/_pages/MIN.md:31 +#: ../../source/learn/intrinsics/_pages/NOT.md:25 +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:33 +msgid "Sample program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/STORAGE_SIZE.md:59 +msgid "[__c\\_sizeof__(3)](C_SIZEOF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:2 +msgid "leadz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:5 +msgid "__leadz__(3) - \\[BIT:COUNT\\] Number of leading zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:14 +msgid "__leadz__ returns the number of leading zero bits of an integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:27 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:21 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:27 +#: ../../source/learn/intrinsics/_pages/LEADZ.md:19 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:20 +#: ../../source/learn/intrinsics/_pages/POPPAR.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:23 +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:19 +msgid "Shall be of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:23 +msgid "" +"The type of the return value is the same as a default _integer_. If all " +"the bits of __i__ are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEADZ.md:126 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:2 +msgid "popcnt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:5 +msgid "__popcnt__(3) - \\[BIT:COUNT\\] Number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:14 +msgid "" +"Returns the number of bits set in the binary representation of an " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:24 +#: ../../source/learn/intrinsics/_pages/POPCNT.md:24 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:24 +#: ../../source/learn/intrinsics/_pages/RANGE.md:30 +msgid "The return value is of type _integer_ and of the default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPCNT.md:58 +msgid "[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:2 +msgid "poppar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:5 +msgid "__poppar__(3) - \\[BIT:COUNT\\] Parity of the number of bits set" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:14 +msgid "" +"Returns the parity of an integer's binary representation (i.e., the " +"parity of the number of bits set)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:24 +msgid "" +"The return value is equal to __0__ if __i__ has an even number of bits " +"set and 1 if an odd number of bits are set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:27 +msgid "It is of type _integer_ and of the default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/POPPAR.md:59 +msgid "[__popcnt__(3)](POPCNT), [__leadz__(3)](LEADZ), [__trailz__(3)](TRAILZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:2 +msgid "trailz" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:5 +msgid "__trailz__(3) - \\[BIT:COUNT\\] Number of trailing zero bits of an integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:14 +msgid "" +"__trailz(3)__ returns the number of trailing zero bits of an _integer_ " +"value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:23 +msgid "" +"The type of the return value is the default _integer_. If all the bits of" +" I are zero, the result value is __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRAILZ.md:110 +msgid "" +"[__bit\\_size__(3)](BIT_SIZE), [__popcnt__(3)](POPCNT), " +"[__poppar__(3)](POPPAR), [__leadz__(3)](LEADZ)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:2 +msgid "dshiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:5 +msgid "__dshiftl__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:14 +msgid "" +"__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost " +"__shift__ bits of the result are the leftmost __shift__ bits of __j__, " +"and the remaining bits are the rightmost bits of __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:24 +msgid "Shall be of type _integer_, and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:28 +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:26 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:26 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:38 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:27 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:27 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:26 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:24 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:24 +msgid "__shift__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:31 +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:31 +msgid "The return value has same type and kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTL.md:39 +msgid "[__dshiftr__(3)](DSHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:2 +msgid "dshiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:5 +msgid "__dshiftr__(3) - \\[BIT:COPY\\] combines bits of arguments __i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:14 +msgid "" +"__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost " +"__shift__ bits of the result are the rightmost __shift__ bits of __i__, " +"and the remaining bits are the leftmost bits of __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DSHIFTR.md:39 +msgid "[__dshiftl__(3)](DSHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:2 +msgid "merge\\_bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:5 +msgid "__merge\\_bits__(3) - \\[BIT:COPY\\] Merge bits using a mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:15 +msgid "" +"where the result and all input values have the same _integer_ type and " +"KIND with the exception that the mask and either __i__ or __j__ may be a " +"BOZ constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:21 +msgid "" +"A common graphics operation in Ternary Raster Operations is to combine " +"bits from two different sources, generally referred to as bit-blending. " +"__merge\\_bits__ performs a masked bit-blend of __i__ and __j__ using the" +" bits of the __mask__ value to determine which of the input values to " +"copy bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:27 +msgid "" +"Specifically, The k-th bit of the result is equal to the k-th bit of " +"__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit " +"of __j__ otherwise (so all three input values must have the same number " +"of bits)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:32 +msgid "The resulting value is the same as would result from" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:36 +msgid "" +"An exception to all values being of the same _integer_ type is that __i__" +" or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it " +"is either a Binary, Octal, or Hexadecimal literal constant). The BOZ " +"values are converted to the _integer_ type of the non-BOZ value(s) as if " +"called by the intrinsic function __int()__ with the kind of the non-BOZ " +"value(s), so the BOZ values must be in the range of the type of the " +"result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:45 +msgid "" +"__i__ : value to select bits from when the associated bit in the mask is" +" __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:48 +msgid "" +"__j__ : value to select bits from when the associated bit in the mask is " +"__0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:51 +msgid "" +"__mask__ : a value whose bits are used as a mask to select bits from " +"__i__ and __j__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:56 +msgid "" +"The bits blended from __i__ and __j__ using the mask __mask__. It is the " +"same type as __i__ if __i__ is of type _integer_, otherwise the same type" +" as __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:37 +#: ../../source/learn/intrinsics/_pages/MERGE_BITS.md:60 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:54 +msgid "__Example__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:2 +msgid "mvbits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:5 +msgid "" +"__mvbits__(3) - \\[BIT:COPY\\] reproduce bit patterns found in one " +"integer in another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:14 +msgid "" +"__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in " +"the _integer_ __from__ to a specified position in another integer __to__ " +"(which is of the same kind as __from__). It otherwise leaves the bits in" +" __to__ as-is." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:19 +msgid "" +"The bit positions copied must exist within the value of __from__. That " +"is, the values of __frompos+len-1__ and __topos+len-1__ must be " +"nonnegative and less than __bit\\_size__(from)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:23 +msgid "The bits are numbered __0__ to __bit_size(i)-1__, from right to left." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:27 +msgid "__from__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:28 +msgid "An _integer_ to read bits from." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:29 +msgid "__frompos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:30 +msgid "" +"__frompos__ is the position of the first bit to copy. It is a nonnegative" +" _integer_ value < __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:28 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:32 +msgid "__len__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:33 +msgid "" +"A nonnegative _integer_ value that indicates how many bits to copy from " +"__from__. It must not specify copying bits past the end of __from__. That" +" is, __frompos + len__ must be less than or equal to __bit_size(from)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:37 +#: ../../source/learn/intrinsics/_pages/MVBITS.md:42 +msgid "__to__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:38 +msgid "" +"The _integer_ variable to place the copied bits into. It must be of the " +"same kind as __from__ and may even be the same variable as __from__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:43 +msgid "" +"is set by copying the sequence of bits of length __len__, starting at " +"position __frompos__ of __from__ to position __topos__ of __to__. No " +"other bits of __to__ are altered. On return, the __len__ bits of __to__ " +"starting at __topos__ are equal to the value that the __len__ bits of " +"__from__ starting at __frompos__ had on entry." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:49 +msgid "__topos__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:50 +msgid "" +"A nonnegative _integer_ value indicating the starting location in __to__ " +"to place the specified copy of bits from __from__. __topos + len__ must " +"be less than or equal to __bit_size(to)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:55 +msgid "" +"Sample program that populates a new 32-bit integer with its bytes in " +"reverse order (ie. changes the Endian of the integer)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MVBITS.md:134 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__ieor__(3)](IEOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:2 +msgid "ibits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:5 +msgid "__ibits__(3) - \\[BIT:COPY\\] Bit extraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:14 +msgid "" +"__ibits__ extracts a field of length __len__ from __i__, starting from " +"bit position __pos__ and extending left for __len__ bits. The result is " +"right-justified and the remaining bits are zeroed. The value of pos+len " +"must be less than or equal to the value __bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:25 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:29 +#: ../../source/learn/intrinsics/_pages/IBITS.md:33 +#: ../../source/learn/intrinsics/_pages/IBSET.md:29 +#: ../../source/learn/intrinsics/_pages/ISHFT.md:32 +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:36 +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:31 +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:29 +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:29 +msgid "The return value is of type _integer_ and of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBITS.md:41 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:2 +msgid "ibclr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:5 +msgid "__ibclr__(3) - \\[BIT:SET\\] Clear bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:14 +msgid "" +"__ibclr__ returns the value of __i__ with the bit at position __pos__ set" +" to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. __pos__ is an __intent(in)__ scalar or array of type " +"_integer_. The value of __pos__ must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBCLR.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__not__(3)](NOT), [__btest__(3)](BTEST), " +"[__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), [__ibset__(3)](IBSET), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:2 +msgid "ibset" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:5 +msgid "__ibset__(3) - \\[BIT:SET\\] Set bit" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:14 +msgid "" +"__ibset__ returns the value of __i__ with the bit at position __pos__ set" +" to one." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:22 +msgid "" +"The type shall be _integer_. A value of zero refers to the least " +"significant bit. pos is an __intent(in)__ scalar or array of type " +"_integer_. The value of pos must be within the range zero to " +"__(bit\\_size(i)-1__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IBSET.md:37 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:2 +msgid "maskl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:5 +msgid "__maskl__(3) - \\[BIT:SET\\] Generates a left justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:16 +msgid "" +"__maskl(i\\[, *kind*\\])__ has its leftmost __i__ bits set to __1__, and " +"the remaining bits set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:22 +#: ../../source/learn/intrinsics/_pages/MASKR.md:22 +msgid "" +"Shall be of type _integer_. Its value must be non-negative, and less than" +" or equal to the number of bits for the kind of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:27 +#: ../../source/learn/intrinsics/_pages/MASKR.md:27 +msgid "Shall be a scalar constant expression of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:31 +#: ../../source/learn/intrinsics/_pages/MASKR.md:31 +msgid "" +"The return value is of type _integer_. If __kind__ is present, it " +"specifies the kind value of the return type; otherwise, it is of the " +"default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:35 +msgid "The leftmost __i__ bits are set to 1 and the other bits are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKL.md:93 +msgid "[__maskr__(3)](MASKR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:2 +msgid "maskr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:5 +msgid "__maskr__(3) - \\[BIT:SET\\] Generates a right-justified mask" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:16 +msgid "" +"__maskr(i\\[, kind\\])__ has its rightmost __i__ bits set to 1, and the " +"remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:35 +msgid "It has its rightmost __i__ bits set to 1, and the remaining bits set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MASKR.md:102 +msgid "[__maskl__(3)](MASKL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:2 +msgid "iparity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:5 +msgid "__iparity__(3) - \\[BIT:LOGICAL\\] Bitwise exclusive or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:18 +msgid "" +"Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ " +"along dimension __dim__ if the corresponding element in __mask__ is " +"__.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:24 +#: ../../source/learn/intrinsics/_pages/IANY.md:24 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:24 +msgid "Shall be an array of type _integer_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __\"1\" to \"n\"__, where __\"n\"__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:31 +#: ../../source/learn/intrinsics/_pages/IANY.md:31 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:31 +msgid "" +"(Optional) shall be of type _logical_ and either be a scalar or an array " +"of the same shape as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:36 +#: ../../source/learn/intrinsics/_pages/IANY.md:36 +#: ../../source/learn/intrinsics/_pages/IPARITY.md:36 +#: ../../source/learn/intrinsics/_pages/NORM2.md:33 +msgid "The result is of the same type as __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IPARITY.md:69 +msgid "" +"[__iany__(3)](IANY), [__iall__(3)](IALL), [__ieor__(3)](IEOR), " +"[__parity__(3)](PARITY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:2 +msgid "iall" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:5 +msgid "__iall__(3) - \\[BIT:LOGICAL\\] Bitwise and of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:18 +msgid "" +"Reduces with bitwise _and_ the elements of __array__ along dimension " +"__dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:27 +#: ../../source/learn/intrinsics/_pages/IANY.md:27 +msgid "" +"(Optional) shall be a scalar of type _integer_ with a value in the range " +"from __1 to n__, where __n__ equals the rank of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _all_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IALL.md:72 +msgid "[__iany__(3)](IANY), [__iparity__(3)](IPARITY), [__iand__(3)](IAND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:2 +msgid "iand" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:5 +msgid "__iand__(3) - \\[BIT:LOGICAL\\] Bitwise logical and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:14 +msgid "Bitwise logical __and__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:22 +#: ../../source/learn/intrinsics/_pages/IEOR.md:22 +msgid "The type shall be _integer_, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:26 +#: ../../source/learn/intrinsics/_pages/IEOR.md:26 +#: ../../source/learn/intrinsics/_pages/IOR.md:28 +msgid "" +"The return type is _integer_, of the same kind as the arguments. (If the " +"argument kinds differ, it is of the same kind as the larger argument.)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IAND.md:51 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:2 +msgid "iany" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:5 +msgid "__iany__(3) - \\[BIT:LOGICAL\\] Bitwise or of array elements" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:18 +msgid "" +"Reduces with bitwise or (inclusive or) the elements of __array__ along " +"dimension __dim__ if the corresponding element in __mask__ is __.true.__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:38 +msgid "" +"If __dim__ is absent, a scalar with the bitwise _or_ of all elements in " +"__array__ is returned. Otherwise, an array of rank __n-1__, where __n__ " +"equals the rank of __array__, and a shape similar to that of __array__ " +"with dimension __dim__ dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IANY.md:70 +msgid "[__iparity__(3)](IPARITY), [__iall__(3)](IALL), [__ior__(3)](IOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:2 +msgid "ieor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:5 +msgid "__ieor__(3) - \\[BIT:LOGICAL\\] Bitwise logical exclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:14 +msgid "__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IEOR.md:35 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ior__(3)](IOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:2 +msgid "ior" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:5 +msgid "__ior__(3) - \\[BIT:LOGICAL\\] Bitwise logical inclusive or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:16 +msgid "__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:21 +msgid "an _integer_ scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:24 +msgid "_integer_ scalar or array, of the same kind as __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IOR.md:60 +msgid "" +"[__ieor__(3)](IEOR), [__ibclr__(3)](IBCLR), [__not__(3)](NOT), " +"[__btest__(3)](BTEST), [__ibclr__(3)](IBCLR), [__ibits__(3)](IBITS), " +"[__ibset__(3)](IBSET), [__iand__(3)](IAND), [__ieor__(3)](IEOR), " +"[__mvbits__(3)](MVBITS)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:2 +msgid "not" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:4 +msgid "__not__(3) - \\[BIT:LOGICAL\\] Logical negation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:12 +msgid "NOT returns the bitwise Boolean inverse of I." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:21 +msgid "The return type is _integer_, of the same kind as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:52 +msgid "" +"[__iand__(3)](IAND), [__ior__(3)](IOR), [__ieor__(3)](IEOR), " +"[__ibits__(3)](IBITS), [__ibset__(3)](IBSET)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NOT.md:58 +msgid "[__ibclr__(3)](IBCLR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:2 +msgid "ishftc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:5 +msgid "__ishftc__(3) - \\[BIT:SHIFT\\] Shift bits circularly" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:14 +msgid "" +"__ishftc__(3) returns a value corresponding to __i__ with the rightmost " +"__size__ bits shifted circularly __shift__ places; that is, bits shifted " +"out one end are shifted into the opposite end. A value of __shift__ " +"greater than zero corresponds to a left shift, a value of zero " +"corresponds to no shift, and a value less than zero corresponds to a " +"right shift. The absolute value of __shift__ must be less than __size__. " +"If the __size__ argument is omitted, it is taken to be equivalent to " +"__bit\\_size(i)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:30 +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:22 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:29 +msgid "__size__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:31 +msgid "" +"(Optional) The type shall be _integer_; the value must be greater than " +"zero and less than or equal to __bit\\_size__(i)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFTC.md:44 +msgid "[__ishft__(3)](ISHFT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:2 +msgid "ishft" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:5 +msgid "__ishft__(3) - \\[BIT:SHIFT\\] Shift bits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:14 +msgid "" +"__ishft__(3) returns a value corresponding to __i__ with all of the bits " +"shifted __shift__ places. A value of __shift__ greater than zero " +"corresponds to a left shift, a value of zero corresponds to no shift, and" +" a value less than zero corresponds to a right shift. If the absolute " +"value of __shift__ is greater than __bit\\_size(i)__, the value is " +"undefined. Bits shifted out from the left end or right end are lost; " +"zeros are shifted in from the opposite end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ISHFT.md:40 +msgid "[__ishftc__(3)](ISHFTC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:2 +msgid "shifta" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:5 +msgid "__shifta__(3) - \\[BIT:SHIFT\\] shift bits right with fill" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost. The fill is arithmetic: the bits shifted in from the " +"left end are equal to the leftmost bit, which in two's complement " +"representation is the sign bit." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTA.md:39 +msgid "[__shiftl__(3)](SHIFTL), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:2 +msgid "shiftl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:5 +msgid "__shiftl__(3) - \\[BIT:SHIFT\\] shift bits left" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted left " +"by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the left" +" end are lost, and bits shifted in from the right end are set to __0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTL.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftr__(3)](SHIFTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:2 +msgid "shiftr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:5 +msgid "__shiftr__(3) - \\[BIT:SHIFT\\] shift bits right" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:14 +msgid "" +"Returns a value corresponding to __i__ with all of the bits shifted right" +" by __shift__ places. If the absolute value of __shift__ is greater than " +"__bit\\_size(i)__, the value is undefined. Bits shifted out from the " +"right end are lost, and bits shifted in from the left end are set to 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SHIFTR.md:37 +msgid "[__shifta__(3)](SHIFTA), [__shiftl__(3)](SHIFTL)" +msgstr "" + +#: ../../source/learn/intrinsics/CHARACTER_index.md:1 +msgid "Basic procedures for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:2 +msgid "len" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:5 +msgid "__len__(3) - \\[CHARACTER\\] Length of a character entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:16 +msgid "" +"where the returned value is the same kind as the __KIND__, or of the " +"default kind if __KIND__ is not specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:21 +msgid "__len(3)__ Returns the length of a _character_ string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:23 +msgid "" +"If __string__ is an array, the length of an element of __string__ is " +"returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:26 +msgid "" +"Note that __string__ need not be defined when this intrinsic is invoked, " +"as only the length (not the content) of __string__ is needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:22 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:23 +#: ../../source/learn/intrinsics/_pages/INDEX.md:26 +#: ../../source/learn/intrinsics/_pages/LEN.md:31 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:22 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:22 +#: ../../source/learn/intrinsics/_pages/SCAN.md:23 +#: ../../source/learn/intrinsics/_pages/TRIM.md:18 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:42 +msgid "__string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:32 +msgid "Shall be a scalar or array of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:26 +#: ../../source/learn/intrinsics/_pages/INDEX.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:24 +#: ../../source/learn/intrinsics/_pages/LEN.md:35 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:52 +msgid "" +"An _integer_ initialization expression indicating the kind parameter of " +"the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:28 +#: ../../source/learn/intrinsics/_pages/INDEX.md:43 +#: ../../source/learn/intrinsics/_pages/LEN.md:40 +#: ../../source/learn/intrinsics/_pages/SCAN.md:38 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:57 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:45 +msgid "FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN.md:110 +msgid "" +"len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines " +"that allow you to deal with leading and trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:66 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:79 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:111 +#: ../../source/learn/intrinsics/_pages/INDEX.md:75 +#: ../../source/learn/intrinsics/_pages/LEN.md:113 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:74 +#: ../../source/learn/intrinsics/_pages/LGE.md:47 +#: ../../source/learn/intrinsics/_pages/LGT.md:49 +#: ../../source/learn/intrinsics/_pages/LLE.md:95 +#: ../../source/learn/intrinsics/_pages/LLT.md:49 +#: ../../source/learn/intrinsics/_pages/SCAN.md:65 +#: ../../source/learn/intrinsics/_pages/TRIM.md:56 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:249 +msgid "" +"Functions that perform operations on character strings, return lengths of" +" arguments, and search for certain arguments:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:78 +#: ../../source/learn/intrinsics/_pages/LEN.md:116 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:77 +#: ../../source/learn/intrinsics/_pages/LLT.md:52 +#: ../../source/learn/intrinsics/_pages/REPEAT.md:66 +#: ../../source/learn/intrinsics/_pages/SCAN.md:68 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:73 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:86 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:122 +#: ../../source/learn/intrinsics/_pages/INDEX.md:82 +#: ../../source/learn/intrinsics/_pages/LEN.md:123 +#: ../../source/learn/intrinsics/_pages/LGE.md:58 +#: ../../source/learn/intrinsics/_pages/LGT.md:60 +#: ../../source/learn/intrinsics/_pages/LLE.md:106 +#: ../../source/learn/intrinsics/_pages/LLT.md:56 +#: ../../source/learn/intrinsics/_pages/SCAN.md:72 +#: ../../source/learn/intrinsics/_pages/TRIM.md:67 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:2 +msgid "new\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:5 +msgid "__new\\_line__(3) - \\[CHARACTER\\] new-line character" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:16 +msgid "__new\\_line(c)__ returns the new-line character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:18 +msgid "Case (i)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:19 +msgid "" +"If __a__ is default _character_ and the character in position __10__ of " +"the ASCII collating sequence is representable in the default character " +"set, then the result is __achar(10)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:23 +msgid "Case (ii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:24 +msgid "" +"If __a__ is an ASCII character or an ISO 10646 character, then the result" +" is __char(10, kind (a))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:27 +msgid "Case (iii)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:28 +msgid "" +"Otherwise, the result is a processor-dependent character that represents " +"a newline in output to files connected for formatted stream output if " +"there is such a character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:32 +msgid "Case (iv)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:33 +msgid "Otherwise, the result is the blank character." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:37 +msgid "__C__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:38 +msgid "The argument shall be a scalar or array of the type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:42 +msgid "" +"Returns a _character_ scalar of length one with the new-line character of" +" the same kind as parameter __c__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:56 +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:55 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:59 +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:53 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:55 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:46 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:79 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:121 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:125 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:61 +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:49 +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:66 +#: ../../source/learn/intrinsics/_pages/NEW_LINE.md:74 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:33 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:57 +msgid "Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:2 +msgid "repeat" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:5 +msgid "__repeat__(3) - \\[CHARACTER\\] Repeated string concatenation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:18 +msgid "Concatenates __ncopies__ copies of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:23 +msgid "" +"The input string to repeatedly generate. Shall be scalar and of type " +"_character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:27 +msgid "" +"Number of copies to make of _string_, greater than or equal to zero (0). " +"Shall be scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:32 +msgid "" +"A new scalar of type _character_ built up from __ncopies__ copies of " +"__string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:64 +msgid "Functions that perform operations on character strings:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REPEAT.md:73 +msgid "" +"__Non-elemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:2 +msgid "achar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:5 +msgid "" +"__achar__(3) - \\[CHARACTER:CONVERSION\\] returns a character in a " +"specified position in the ASCII collating sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:16 +msgid "where KIND may be any supported kind value for _integer_ types." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:20 +msgid "" +"__achar(i)__ returns the character located at position __i__ (commonly " +"called the _ADE_ or ASCII Decimal Equivalent) in the ASCII collating " +"sequence." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:23 +msgid "" +"The __achar__(3) function is often used for generating in-band escape " +"sequences to control terminal attributes." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:28 +msgid "will clear the screen on an ANSI-compatible terminal display, for example." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:34 +msgid "" +"the _integer_ value to convert to an ASCII character, in the range 0 to " +"127." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:38 +#: ../../source/learn/intrinsics/_pages/AINT.md:35 +#: ../../source/learn/intrinsics/_pages/ANINT.md:22 +msgid "" +"(optional) an _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:43 +msgid "" +"The return value is the requested character of type _character_ with a " +"length of one. If the __kind__ argument is present, the return value is " +"of the specified kind and of the default kind otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:124 +#: ../../source/learn/intrinsics/_pages/CHAR.md:51 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:83 +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:92 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:64 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:72 +msgid "__Note__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:126 +msgid "The ADEs (ASCII Decimal Equivalents) for ASCII are" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:151 +#: ../../source/learn/intrinsics/_pages/INDEX.md:70 +msgid "FORTRAN 77 and later, with KIND argument Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:155 +msgid "[__char__(3)](CHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:159 +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:106 +msgid "__Resources__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:161 +msgid "[ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACHAR.md:162 +msgid "" +"[M_attr module](https://github.com/urbanjost/M_attr) for controlling " +"ANSI-compatible terminals" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:2 +msgid "char" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:5 +msgid "__char__(3) - \\[CHARACTER\\] Character conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:18 +msgid "__char(i, kind)__ returns the character represented by the integer __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:26 +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:26 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:23 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:32 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:27 +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:27 +#: ../../source/learn/intrinsics/_pages/REAL.md:21 +#: ../../source/learn/intrinsics/_pages/SCAN.md:33 +msgid "" +"(Optional) An _integer_ initialization expression indicating the kind " +"parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:31 +msgid "The return value is of type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:53 +msgid "" +"See [__ichar__(3)](CHAR) for a discussion of converting between numerical" +" values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:123 +#: ../../source/learn/intrinsics/_pages/AIMAG.md:62 +#: ../../source/learn/intrinsics/_pages/AINT.md:81 +#: ../../source/learn/intrinsics/_pages/ANINT.md:71 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:63 +#: ../../source/learn/intrinsics/_pages/CHAR.md:58 +#: ../../source/learn/intrinsics/_pages/CMPLX.md:163 +#: ../../source/learn/intrinsics/_pages/CONJG.md:98 +#: ../../source/learn/intrinsics/_pages/COS.md:67 +#: ../../source/learn/intrinsics/_pages/DBLE.md:52 +#: ../../source/learn/intrinsics/_pages/DIM.md:64 +#: ../../source/learn/intrinsics/_pages/DPROD.md:84 +#: ../../source/learn/intrinsics/_pages/EXP.md:84 +#: ../../source/learn/intrinsics/_pages/INT.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:41 +#: ../../source/learn/intrinsics/_pages/LGT.md:41 +#: ../../source/learn/intrinsics/_pages/LLE.md:87 +#: ../../source/learn/intrinsics/_pages/LLT.md:41 +#: ../../source/learn/intrinsics/_pages/LOG.md:49 +#: ../../source/learn/intrinsics/_pages/LOG10.md:57 +#: ../../source/learn/intrinsics/_pages/MAX.md:111 +#: ../../source/learn/intrinsics/_pages/MIN.md:48 +#: ../../source/learn/intrinsics/_pages/MOD.md:72 +#: ../../source/learn/intrinsics/_pages/REAL.md:67 +#: ../../source/learn/intrinsics/_pages/SIGN.md:74 +#: ../../source/learn/intrinsics/_pages/SIN.md:123 +#: ../../source/learn/intrinsics/_pages/SQRT.md:87 +msgid "FORTRAN 77 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:62 +msgid "[__achar__(3)](ACHAR), [__iachar__(3)](IACHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CHAR.md:69 +#: ../../source/learn/intrinsics/_pages/IACHAR.md:82 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:2 +msgid "iachar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:5 +msgid "" +"__iachar__(3) - \\[CHARACTER:CONVERSION\\] Code in ASCII collating " +"sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:14 +msgid "" +"__iachar__(c) returns the code for the ASCII character in the first " +"character position of C." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:19 +#: ../../source/learn/intrinsics/_pages/ICHAR.md:28 +msgid "__c__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:20 +msgid "Shall be a scalar _character_, with _intent(in)_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:66 +msgid "" +"See [__ichar__(3)](ICHAR) for a discussion of converting between " +"numerical values and formatted string representations." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:71 +#: ../../source/learn/intrinsics/_pages/SCAN.md:61 +msgid "Fortran 95 and later, with KIND argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IACHAR.md:75 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__ichar__(3)](ICHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:2 +msgid "ichar" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:5 +msgid "" +"__ichar__(3) - \\[CHARACTER:CONVERSION\\] Character-to-integer conversion" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:17 +msgid "" +"__ichar(c)__ returns the code for the character in the system's native " +"character set. The correspondence between characters and their codes is " +"not necessarily the same across different Fortran implementations. For " +"example, a platform using EBCDIC would return different values than an " +"ASCII platform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:23 +msgid "See __iachar__(3) for specifically working with the ASCII character set." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:29 +msgid "Shall be a scalar _character_, with __intent(in)__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:37 +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:32 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default _integer_ kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:74 +msgid "" +"No intrinsic exists to convert between a numeric value and a formatted " +"character string representation -- for instance, given the _character_ " +"value '154', obtaining an _integer_ or _real_ value with the value 154, " +"or vice versa. Instead, this functionality is provided by internal-file " +"I/O, as in the following example:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:103 +msgid "Fortran 95 and later, with KIND argument -Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:107 +msgid "[__achar__(3)](ACHAR), [__char__(3)](CHAR), [__iachar__(3)](IACHAR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:114 +#: ../../source/learn/intrinsics/_pages/LGE.md:50 +#: ../../source/learn/intrinsics/_pages/LGT.md:52 +#: ../../source/learn/intrinsics/_pages/LLE.md:98 +#: ../../source/learn/intrinsics/_pages/TRIM.md:59 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ICHAR.md:119 +#: ../../source/learn/intrinsics/_pages/LGE.md:55 +#: ../../source/learn/intrinsics/_pages/LLE.md:103 +#: ../../source/learn/intrinsics/_pages/TRIM.md:64 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:2 +msgid "index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:5 +msgid "" +"__index__(3) - \\[CHARACTER:SEARCH\\] Position of a substring within a " +"string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:20 +msgid "" +"Returns the position of the start of the leftmost or rightmost occurrence" +" of string __substring__ in __string__, counting from one. If " +"__substring__ is not present in __string__, zero is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:27 +msgid "string to be searched" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:29 +msgid "__substring__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:30 +msgid "string to attempt to locate in __string__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:32 +#: ../../source/learn/intrinsics/_pages/SCAN.md:29 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:48 +msgid "__back__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:33 +msgid "" +"If the __back__ argument is present and true, the return value is the " +"start of the rightmost occurrence rather than the leftmost." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:42 +msgid "__START__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INDEX.md:48 +msgid "Example program" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:2 +msgid "scan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:5 +msgid "" +"__scan__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the presence of a " +"set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:14 +msgid "Scans a __string__ for any of the characters in a __set__ of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:16 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __STRING__ that is in __set__." +" If __back__ equals __.true.__, the rightmost position is returned. If no" +" character of __set__ is found in __string__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:24 +#: ../../source/learn/intrinsics/_pages/SCAN.md:27 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:43 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:46 +msgid "Shall be of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:26 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:45 +msgid "__set__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCAN.md:30 +msgid "(Optional) shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:2 +msgid "verify" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:5 +msgid "" +"__verify__(3) - \\[CHARACTER:SEARCH\\] Scan a string for the absence of a" +" set of characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:20 +msgid "" +"Verifies that all the characters in __string__ belong to the set of " +"characters in __set__ by identifying the first character in the string(s)" +" that is not in the set(s)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:24 +msgid "" +"If __back__ is either absent or equals __.false.__, this function returns" +" the position of the leftmost character of __string__ that is not in " +"__set__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:28 +msgid "If __back__ equals __.true.__, the rightmost position is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:30 +msgid "If all characters of __string__ are found in __set__, the result is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:32 +msgid "" +"This makes it easy to verify strings are all uppercase or lowercase, " +"follow a basic syntax, only contain printable characters, and many of the" +" conditions tested for with the C routines __isalnum__(3c), " +"__isalpha__(3c), __isascii__(3c), __isblank__(3c), __iscntrl__(3c), " +"__isdigit__(3c), __isgraph__(3c), __islower__(3c), __isprint__(3c), " +"__ispunct__(3c), __isspace__(3c), __isupper__(3c), and __isxdigit__(3c); " +"but for a string as well an an array of characters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:49 +msgid "shall be of type _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:62 +msgid "Sample program I:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:137 +msgid "Sample program II:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:139 +msgid "Determine if strings are valid integer representations" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:187 +msgid "Sample program III:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:189 +msgid "Determine if strings represent valid Fortran symbol names" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:69 +#: ../../source/learn/intrinsics/_pages/VERIFY.md:245 +msgid "Fortran 95 and later, with __kind__ argument - Fortran 2003 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:252 +msgid "" +"__Elemental:__ [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), " +"[__index__(3)](INDEX), [__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/VERIFY.md:259 +msgid "" +"__Nonelemental:__ [__len\\_trim__(3)](LEN_TRIM), [__len__(3)](LEN), " +"[__repeat__(3)](REPEAT), [__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:2 +msgid "lge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:5 +msgid "__lge__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:14 +msgid "" +"Determines whether one string is lexically greater than or equal to " +"another string, where the two strings are interpreted as containing ASCII" +" character codes. If the String __a__ and String __b__ are not the same " +"length, the shorter is compared as if spaces were appended to it to form " +"a value that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:20 +msgid "" +"In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), " +"__lle__(3), and __llt__(3) differ from the corresponding intrinsic " +"operators .ge., .gt., .le., and .lt., in that the latter use the " +"processor's character ordering (which is not ASCII on some targets), " +"whereas the former always use the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:28 +#: ../../source/learn/intrinsics/_pages/LGT.md:28 +#: ../../source/learn/intrinsics/_pages/LLT.md:28 +msgid "__string\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:29 +#: ../../source/learn/intrinsics/_pages/LGE.md:32 +#: ../../source/learn/intrinsics/_pages/LGT.md:29 +#: ../../source/learn/intrinsics/_pages/LGT.md:32 +#: ../../source/learn/intrinsics/_pages/LLT.md:29 +#: ../../source/learn/intrinsics/_pages/LLT.md:32 +msgid "Shall be of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:31 +#: ../../source/learn/intrinsics/_pages/LGT.md:31 +#: ../../source/learn/intrinsics/_pages/LLT.md:31 +msgid "__string\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:36 +msgid "" +"Returns .true. if string\\_a \\>= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGE.md:45 +msgid "__\\[\\[lgt__(3), __\\[\\[lle__(3), __\\[\\[llt__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:2 +msgid "lgt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:5 +msgid "__lgt__(3) - \\[CHARACTER:COMPARE\\] Lexical greater than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:14 +msgid "" +"Determines whether one string is lexically greater than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the String __a__ and String __b__ are not the same length, the " +"shorter is compared as if spaces were appended to it to form a value that" +" has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:20 +#: ../../source/learn/intrinsics/_pages/LLE.md:26 +#: ../../source/learn/intrinsics/_pages/LLT.md:20 +msgid "" +"In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT " +"differ from the corresponding intrinsic operators .ge., .gt., .le., and " +".lt., in that the latter use the processor's character ordering (which is" +" not ASCII on some targets), whereas the former always use the ASCII " +"ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:36 +msgid "" +"Returns .true. if string\\_a \\> string\\_b, and .false. otherwise, based" +" on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:45 +msgid "[__lge__(3)](LGE), [__lle__(3)](LLE), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LGT.md:57 +msgid "[__scan__(3)](SCAN), [__verify__(3)](VERIFY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:2 +msgid "lle" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:5 +msgid "__lle__(3) - \\[CHARACTER:COMPARE\\] Lexical less than or equal" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:20 +msgid "" +"Determines whether one string is lexically less than or equal to another " +"string, where the two strings are interpreted as containing ASCII " +"character codes. if the __string\\_a__ and __string\\_b__ are not the " +"same length, the shorter is compared as if spaces were appended to it to " +"form a value that has the same length as the longer. Leading spaces are " +"significant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:34 +msgid "__str\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:35 +#: ../../source/learn/intrinsics/_pages/LLE.md:38 +msgid "variable or array of default _character_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:37 +msgid "__str\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:40 +msgid "if __str_a__ and __str_b__ are both arrays they must be of the same shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:45 +msgid "" +"__result__ Returns __.true.__ if __STR\\_A \\<= STR\\_B__, and " +"__.false.__ otherwise, based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLE.md:91 +msgid "[__lge__(3)](LGE), [__lgt__(3),](LGT), [__llt__(3)](LLT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:2 +msgid "llt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:5 +msgid "__llt__(3) - \\[CHARACTER:COMPARE\\] Lexical less than" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:14 +msgid "" +"Determines whether one string is lexically less than another string, " +"where the two strings are interpreted as containing ASCII character " +"codes. If the __string\\_a__ and __string\\_b__ are not the same length, " +"the shorter is compared as if spaces were appended to it to form a value " +"that has the same length as the longer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:36 +msgid "" +"Returns .true. if string\\_a \\<= string\\_b, and .false. otherwise, " +"based on the ASCII ordering." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LLT.md:45 +msgid "[__lge__(3)](LGE), [__lgt__(3)](LGT), [__lle__(3](LLE))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:2 +msgid "adjustl" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:5 +msgid "__adjustl__(3) - \\[CHARACTER:WHITESPACE\\] Left-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:17 +msgid "" +"__adjustl(string)__ will left-adjust a string by removing leading spaces." +" Spaces are inserted at the end of the string as needed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:23 +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:24 +msgid "the type shall be _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:27 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where leading spaces are removed and the same number of spaces" +" are inserted on the end of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTL.md:64 +msgid "[__adjustr__(3)](ADJUSTR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:2 +msgid "adjustr" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:5 +msgid "__adjustr__(3) - \\[CHARACTER:WHITESPACE\\] Right-adjust a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:17 +msgid "" +"__adjustr(string)__ right-adjusts a string by removing trailing spaces. " +"Spaces are inserted at the start of the string as needed to retain the " +"original length." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:28 +msgid "" +"The return value is of type _character_ and of the same kind as " +"__string__ where trailing spaces are removed and the same number of " +"spaces are inserted at the start of __string__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ADJUSTR.md:77 +msgid "[__adjustl__(3)](ADJUSTL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:2 +msgid "len\\_trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:5 +msgid "" +"__len\\_trim__(3) - \\[CHARACTER:WHITESPACE\\] Length of a character " +"entity without trailing blank characters" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:18 +msgid "Returns the length of a character string, ignoring any trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:23 +msgid "" +"The input string whose length is to be measured. Shall be a scalar of " +"type _character_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LEN_TRIM.md:84 +msgid "" +"__Nonelemental:__ [__repeat__(3)](REPEAT), [__len__(3)](LEN), " +"[__trim__(3)](TRIM)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:2 +msgid "trim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:5 +msgid "" +"__trim__(3) - \\[CHARACTER:WHITESPACE\\] Remove trailing blank characters" +" of a string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:14 +msgid "Removes trailing blank characters of a string." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:19 +msgid "Shall be a scalar of type _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRIM.md:23 +msgid "" +"A scalar of type _character_ which length is that of __string__ less the " +"number of trailing blanks." +msgstr "" + +#: ../../source/learn/intrinsics/COMPILER_index.md:1 +msgid "Information about compiler and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:2 +msgid "compiler\\_options" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:5 +msgid "" +"__compiler\\_options__(3) - \\[COMPILER INQUIRY\\] Options passed to the " +"compiler" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:14 +msgid "compiler\\_options returns a string with the options used for compiling." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:18 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:21 +msgid "None." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:22 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the compiler flags used to compile the file, which called the" +" compiler\\_options intrinsic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:52 +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:55 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:53 +msgid "Fortran 2008" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_OPTIONS.md:56 +msgid "[__compiler\\_version__(3)](COMPILER_VERSION), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:2 +msgid "compiler\\_version" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:5 +msgid "__compiler\\_version__(3) - \\[COMPILER INQUIRY\\] Compiler version string" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:16 +msgid "" +"__compiler\\_version__(3) returns a string containing the name and " +"version of the compiler." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:25 +msgid "" +"The return value is a default-kind string with system-dependent length. " +"It contains the name of the compiler and its version number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMPILER_VERSION.md:59 +msgid "[__compiler\\_options__(3)](COMPILER_OPTIONS), __iso\\_fortran\\_env__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/C_index.md:1 +msgid "Procedures for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:2 +msgid "c\\_associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:5 +msgid "__c\\_associated__(3) - \\[ISO\\_C\\_BINDING\\] Status of a C pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:14 +msgid "" +"__c\\_associated(c\\_prt\\_1\\[, c\\_ptr\\_2\\])__ determines the status " +"of the C pointer c\\_ptr\\_1 or if c\\_ptr\\_1 is associated with the " +"target c\\_ptr\\_2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:20 +msgid "__c\\_ptr\\_1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:21 +msgid "Scalar of the type c\\_ptr or c\\_funptr." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:23 +msgid "__c\\_ptr\\_2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:24 +msgid "(Optional) Scalar of the same type as c\\_ptr\\_1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:28 +msgid "" +"The return value is of type _logical_; it is .false. if either " +"c\\_ptr\\_1 is a C NULL pointer or if c\\_ptr1 and c\\_ptr\\_2 point to " +"different addresses." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_ASSOCIATED.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_funloc__(3)](C_FUNLOC), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:2 +msgid "c\\_f\\_pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:5 +msgid "" +"__c\\_f\\_pointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into Fortran " +"pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:14 +msgid "" +"__c\\_f\\_pointer(cptr, fptr\\[, shape\\])__ Assign the target, the C " +"pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:19 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:19 +msgid "__cptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:20 +msgid "scalar of the type c\\_ptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:22 +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:22 +msgid "__fptr__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:23 +msgid "pointer interoperable with __cptr__. it is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:25 +msgid "__shape__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:26 +msgid "" +"(Optional) Rank-one array of type _integer_ with __intent(in)__ . It " +"shall be present if and only if __fptr__ is an array. The size must be " +"equal to the rank of __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_POINTER.md:57 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:2 +msgid "c\\_f\\_procpointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:5 +msgid "" +"__c\\_f\\_procpointer__(3) - \\[ISO\\_C\\_BINDING\\] Convert C into " +"Fortran procedure pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:14 +msgid "" +"__c\\_f\\_procpointer(cptr, fptr)__ assigns the target of the C function " +"pointer __cptr__ to the Fortran procedure pointer __fptr__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:20 +msgid "scalar of the type c\\_funptr. It is __intent(in)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:23 +msgid "procedure pointer interoperable with __cptr__. It is __intent(out)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_F_PROCPOINTER.md:59 +msgid "" +"[__c\\_loc__(3)](C_LOC), [__c\\_f\\_pointer__(3)](C_F_POINTER), " +"__iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:2 +msgid "c\\_funloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:5 +msgid "" +"__c\\_funloc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of a " +"procedure" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:14 +msgid "__c\\_funloc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:23 +#: ../../source/learn/intrinsics/_pages/ACOSH.md:24 +#: ../../source/learn/intrinsics/_pages/AINT.md:31 +#: ../../source/learn/intrinsics/_pages/ASIN.md:27 +#: ../../source/learn/intrinsics/_pages/ASINH.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN.md:24 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:28 +#: ../../source/learn/intrinsics/_pages/ATANH.md:18 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:34 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:19 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:34 +#: ../../source/learn/intrinsics/_pages/COS.md:27 +#: ../../source/learn/intrinsics/_pages/COSH.md:25 +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:18 +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:19 +#: ../../source/learn/intrinsics/_pages/DIGITS.md:26 +#: ../../source/learn/intrinsics/_pages/DIM.md:24 +#: ../../source/learn/intrinsics/_pages/DPROD.md:22 +#: ../../source/learn/intrinsics/_pages/DPROD.md:33 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:32 +#: ../../source/learn/intrinsics/_pages/ERF.md:21 +#: ../../source/learn/intrinsics/_pages/ERFC.md:37 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:24 +#: ../../source/learn/intrinsics/_pages/EXP.md:29 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/FRACTION.md:20 +#: ../../source/learn/intrinsics/_pages/GAMMA.md:25 +#: ../../source/learn/intrinsics/_pages/HUGE.md:25 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:28 +#: ../../source/learn/intrinsics/_pages/KIND.md:18 +#: ../../source/learn/intrinsics/_pages/LOG.md:19 +#: ../../source/learn/intrinsics/_pages/LOG10.md:21 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:18 +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:19 +#: ../../source/learn/intrinsics/_pages/NINT.md:29 +#: ../../source/learn/intrinsics/_pages/PRECISION.md:19 +#: ../../source/learn/intrinsics/_pages/RADIX.md:18 +#: ../../source/learn/intrinsics/_pages/RANGE.md:25 +#: ../../source/learn/intrinsics/_pages/REAL.md:17 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SCALE.md:21 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:19 +#: ../../source/learn/intrinsics/_pages/SIN.md:28 +#: ../../source/learn/intrinsics/_pages/SINH.md:30 +#: ../../source/learn/intrinsics/_pages/SPACING.md:19 +#: ../../source/learn/intrinsics/_pages/SQRT.md:43 +#: ../../source/learn/intrinsics/_pages/TAN.md:18 +#: ../../source/learn/intrinsics/_pages/TANH.md:18 +#: ../../source/learn/intrinsics/_pages/TINY.md:23 +msgid "__x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:19 +msgid "Interoperable function or pointer to such function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:23 +msgid "" +"The return value is of type c\\_funptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:63 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_loc__(3)](C_LOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_FUNLOC.md:67 +#: ../../source/learn/intrinsics/_pages/C_LOC.md:54 +msgid "[__c\\_f\\_procpointer__(3)](C_F_PROCPOINTER), __iso\\_c\\_binding__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:2 +msgid "c\\_loc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:5 +msgid "__c\\_loc__(3) - \\[ISO\\_C\\_BINDING\\] Obtain the C address of an object" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:14 +msgid "__c\\_loc(x)__ determines the C address of the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:19 +msgid "" +"Shall have either the _pointer_ or _target_ attribute. It shall not be a " +"coindexed object. It shall either be a variable with interoperable type " +"and kind type parameters, or be a scalar, nonpolymorphic variable with no" +" length type parameters." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:26 +msgid "" +"The return value is of type c\\_ptr and contains the C address of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_LOC.md:50 +msgid "" +"[__c\\_associated__(3)](C_ASSOCIATED), [__c\\_funloc__(3)](C_FUNLOC), " +"[__c\\_f\\_pointer__(3)](C_F_POINTER)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:2 +msgid "c\\_sizeof" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:5 +msgid "__c\\_sizeof__(3) - \\[ISO\\_C\\_BINDING\\] Size in bytes of an expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:14 +msgid "" +"__c\\_sizeof(x)__ calculates the number of bytes of storage the " +"expression __x__ occupies." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:20 +msgid "The argument shall be an interoperable data entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:24 +msgid "" +"The return value is of type integer and of the system-dependent kind " +"c\\_size\\_t (from the *iso\\_c\\_binding* module). Its value is the " +"number of bytes occupied by the argument. If the argument has the " +"_pointer_ attribute, the number of bytes of the storage area pointed to " +"is returned. If the argument is of a derived type with _pointer_ or " +"_allocatable_ components, the return value does not account for the sizes" +" of the data pointed to by these components." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:48 +msgid "" +"The example will print .true. unless you are using a platform where " +"default _real_ variables are unusually padded." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/C_SIZEOF.md:57 +msgid "[__storage\\_size__(3)](STORAGE_SIZE)" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:1 +msgid "GNU Free Documentation License" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:2 +msgid "*Version 1.2, November 2002*" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:9 +msgid "0. PREAMBLE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:11 +msgid "" +"The purpose of this License is to make a manual, textbook, or other " +"functional and useful document \"free\" in the sense of freedom: to " +"assure everyone the effective freedom to copy and redistribute it, with " +"or without modifying it, either commercially or noncommercially. " +"Secondarily, this License preserves for the author and publisher a way to" +" get credit for their work, while not being considered responsible for " +"modifications made by others." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:19 +msgid "" +"This License is a kind of \"copyleft\", which means that derivative works" +" of the document must themselves be free in the same sense. It " +"complements the GNU General Public License, which is a copyleft license " +"designed for free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:24 +msgid "" +"We have designed this License in order to use it for manuals for free " +"software, because free software needs free documentation: a free program " +"should come with manuals providing the same freedoms that the software " +"does. But this License is not limited to software manuals; it can be " +"used for any textual work, regardless of subject matter or whether it is " +"published as a printed book. We recommend this License principally for " +"works whose purpose is instruction or reference." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:33 +msgid "1. APPLICABILITY AND DEFINITIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:35 +msgid "" +"This License applies to any manual or other work, in any medium, that " +"contains a notice placed by the copyright holder saying it can be " +"distributed under the terms of this License. Such a notice grants a " +"world-wide, royalty-free license, unlimited in duration, to use that work" +" under the conditions stated herein. The \"Document\", below, refers to " +"any such manual or work. Any member of the public is a licensee, and is " +"addressed as \"you\". You accept the license if you copy, modify or " +"distribute the work in a way requiring permission under copyright law." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:45 +msgid "" +"A \"Modified Version\" of the Document means any work containing the " +"Document or a portion of it, either copied verbatim, or with " +"modifications and/or translated into another language." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:49 +msgid "" +"A \"Secondary Section\" is a named appendix or a front-matter section of " +"the Document that deals exclusively with the relationship of the " +"publishers or authors of the Document to the Document's overall subject " +"(or to related matters) and contains nothing that could fall directly " +"within that overall subject. (Thus, if the Document is in part a " +"textbook of mathematics, a Secondary Section may not explain any " +"mathematics.) The relationship could be a matter of historical " +"connection with the subject or with related matters, or of legal, " +"commercial, philosophical, ethical or political position regarding them." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:60 +msgid "" +"The \"Invariant Sections\" are certain Secondary Sections whose titles " +"are designated, as being those of Invariant Sections, in the notice that " +"says that the Document is released under this License. If a section does" +" not fit the above definition of Secondary then it is not allowed to be " +"designated as Invariant. The Document may contain zero Invariant " +"Sections. If the Document does not identify any Invariant Sections then " +"there are none." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:68 +msgid "" +"The \"Cover Texts\" are certain short passages of text that are listed, " +"as Front-Cover Texts or Back-Cover Texts, in the notice that says that " +"the Document is released under this License. A Front-Cover Text may be " +"at most 5 words, and a Back-Cover Text may be at most 25 words." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:73 +msgid "" +"A \"Transparent\" copy of the Document means a machine-readable copy, " +"represented in a format whose specification is available to the general " +"public, that is suitable for revising the document straightforwardly with" +" generic text editors or (for images composed of pixels) generic paint " +"programs or (for drawings) some widely available drawing editor, and that" +" is suitable for input to text formatters or for automatic translation to" +" a variety of formats suitable for input to text formatters. A copy made" +" in an otherwise Transparent file format whose markup, or absence of " +"markup, has been arranged to thwart or discourage subsequent modification" +" by readers is not Transparent. An image format is not Transparent if " +"used for any substantial amount of text. A copy that is not " +"\"Transparent\" is called \"Opaque\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:86 +msgid "" +"Examples of suitable formats for Transparent copies include plain ASCII " +"without markup, Texinfo input format, LaTeX input format, SGML or XML " +"using a publicly available DTD, and standard-conforming simple HTML, " +"PostScript or PDF designed for human modification. Examples of " +"transparent image formats include PNG, XCF and JPG. Opaque formats " +"include proprietary formats that can be read and edited only by " +"proprietary word processors, SGML or XML for which the DTD and/or " +"processing tools are not generally available, and the machine-generated " +"HTML, PostScript or PDF produced by some word processors for output " +"purposes only." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:97 +msgid "" +"The \"Title Page\" means, for a printed book, the title page itself, plus" +" such following pages as are needed to hold, legibly, the material this " +"License requires to appear in the title page. For works in formats which" +" do not have any title page as such, \"Title Page\" means the text near " +"the most prominent appearance of the work's title, preceding the " +"beginning of the body of the text." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:104 +msgid "" +"A section \"Entitled XYZ\" means a named subunit of the Document whose " +"title either is precisely XYZ or contains XYZ in parentheses following " +"text that translates XYZ in another language. (Here XYZ stands for a " +"specific section name mentioned below, such as \"Acknowledgements\", " +"\"Dedications\", \"Endorsements\", or \"History\".) To \"Preserve the " +"Title\" of such a section when you modify the Document means that it " +"remains a section \"Entitled XYZ\" according to this definition." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:112 +msgid "" +"The Document may include Warranty Disclaimers next to the notice which " +"states that this License applies to the Document. These Warranty " +"Disclaimers are considered to be included by reference in this License, " +"but only as regards disclaiming warranties: any other implication that " +"these Warranty Disclaimers may have is void and has no effect on the " +"meaning of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:120 +msgid "2. VERBATIM COPYING" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:122 +msgid "" +"You may copy and distribute the Document in any medium, either " +"commercially or noncommercially, provided that this License, the " +"copyright notices, and the license notice saying this License applies to " +"the Document are reproduced in all copies, and that you add no other " +"conditions whatsoever to those of this License. You may not use " +"technical measures to obstruct or control the reading or further copying " +"of the copies you make or distribute. However, you may accept " +"compensation in exchange for copies. If you distribute a large enough " +"number of copies you must also follow the conditions in section 3." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:132 +msgid "" +"You may also lend copies, under the same conditions stated above, and you" +" may publicly display copies." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:136 +msgid "3. COPYING IN QUANTITY" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:138 +msgid "" +"If you publish printed copies (or copies in media that commonly have " +"printed covers) of the Document, numbering more than 100, and the " +"Document's license notice requires Cover Texts, you must enclose the " +"copies in covers that carry, clearly and legibly, all these Cover Texts: " +"Front-Cover Texts on the front cover, and Back-Cover Texts on the back " +"cover. Both covers must also clearly and legibly identify you as the " +"publisher of these copies. The front cover must present the full title " +"with all words of the title equally prominent and visible. You may add " +"other material on the covers in addition. Copying with changes limited to" +" the covers, as long as they preserve the title of the Document and " +"satisfy these conditions, can be treated as verbatim copying in other " +"respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:151 +msgid "" +"If the required texts for either cover are too voluminous to fit legibly," +" you should put the first ones listed (as many as fit reasonably) on the " +"actual cover, and continue the rest onto adjacent pages." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:156 +msgid "" +"If you publish or distribute Opaque copies of the Document numbering more" +" than 100, you must either include a machine-readable Transparent copy " +"along with each Opaque copy, or state in or with each Opaque copy a " +"computer-network location from which the general network-using public has" +" access to download using public-standard network protocols a complete " +"Transparent copy of the Document, free of added material. If you use the " +"latter option, you must take reasonably prudent steps, when you begin " +"distribution of Opaque copies in quantity, to ensure that this " +"Transparent copy will remain thus accessible at the stated location until" +" at least one year after the last time you distribute an Opaque copy " +"(directly or through your agents or retailers) of that edition to the " +"public." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:169 +msgid "" +"It is requested, but not required, that you contact the authors of the " +"Document well before redistributing any large number of copies, to give " +"them a chance to provide you with an updated version of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:174 +msgid "4. MODIFICATIONS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:176 +msgid "" +"You may copy and distribute a Modified Version of the Document under the " +"conditions of sections 2 and 3 above, provided that you release the " +"Modified Version under precisely this License, with the Modified Version " +"filling the role of the Document, thus licensing distribution and " +"modification of the Modified Version to whoever possesses a copy of it. " +"In addition, you must do these things in the Modified Version:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:183 +msgid "" +"__A__. Use in the Title Page (and on the covers, if any) a title distinct" +" from that of the Document, and from those of previous versions (which " +"should, if there were any, be listed in the History section of the " +"Document). You may use the same title as a previous version if the " +"original publisher of that version gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:188 +msgid "" +"__B__. List on the Title Page, as authors, one or more persons or " +"entities responsible for authorship of the modifications in the Modified" +" Version, together with at least five of the principal authors of the " +"Document (all of its principal authors, if it has fewer than five), " +"unless they release you from this requirement." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:193 +msgid "" +"__C__. State on the Title page the name of the publisher of the Modified" +" Version, as the publisher." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:195 +msgid "__D__. Preserve all the copyright notices of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:196 +msgid "" +"__E__. Add an appropriate copyright notice for your modifications " +"adjacent to the other copyright notices." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:198 +msgid "" +"__F__. Include, immediately after the copyright notices, a license notice" +" giving the public permission to use the Modified Version under the " +"terms of this License, in the form shown in the Addendum below." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:201 +msgid "" +"__G__. Preserve in that license notice the full lists of Invariant " +"Sections and required Cover Texts given in the Document's license " +"notice." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:203 +msgid "__H__. Include an unaltered copy of this License." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:204 +msgid "" +"__I__. Preserve the section Entitled \"History\", Preserve its Title, and" +" add to it an item stating at least the title, year, new authors, and " +"publisher of the Modified Version as given on the Title Page. If there " +"is no section Entitled \"History\" in the Document, create one stating " +"the title, year, authors, and publisher of the Document as given on its " +"Title Page, then add an item describing the Modified Version as stated " +"in the previous sentence." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:211 +msgid "" +"__J__. Preserve the network location, if any, given in the Document for " +"public access to a Transparent copy of the Document, and likewise the " +"network locations given in the Document for previous versions it was " +"based on. These may be placed in the \"History\" section. You may omit " +"a network location for a work that was published at least four years " +"before the Document itself, or if the original publisher of the version " +"it refers to gives permission." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:218 +msgid "" +"__K__. For any section Entitled \"Acknowledgements\" or \"Dedications\"," +" Preserve the Title of the section, and preserve in the section all the" +" substance and tone of each of the contributor acknowledgements and/or " +"dedications given therein." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:222 +msgid "" +"__L__. Preserve all the Invariant Sections of the Document, unaltered in" +" their text and in their titles. Section numbers or the equivalent are " +"not considered part of the section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:225 +msgid "" +"__M__. Delete any section Entitled \"Endorsements\". Such a section may" +" not be included in the Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:227 +msgid "" +"__N__. Do not retitle any existing section to be Entitled " +"\"Endorsements\" or to conflict in title with any Invariant Section." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:229 +msgid "__O__. Preserve any Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:231 +msgid "" +"If the Modified Version includes new front-matter sections or appendices " +"that qualify as Secondary Sections and contain no material copied from " +"the Document, you may at your option designate some or all of these " +"sections as invariant. To do this, add their titles to the list of " +"Invariant Sections in the Modified Version's license notice. These titles" +" must be distinct from any other section titles." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:238 +msgid "" +"You may add a section Entitled \"Endorsements\", provided it contains " +"nothing but endorsements of your Modified Version by various parties--for" +" example, statements of peer review or that the text has been approved by" +" an organization as the authoritative definition of a standard." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:244 +msgid "" +"You may add a passage of up to five words as a Front-Cover Text, and a " +"passage of up to 25 words as a Back-Cover Text, to the end of the list of" +" Cover Texts in the Modified Version. Only one passage of Front-Cover " +"Text and one of Back-Cover Text may be added by (or through arrangements " +"made by) any one entity. If the Document already includes a cover text " +"for the same cover, previously added by you or by arrangement made by the" +" same entity you are acting on behalf of, you may not add another; but " +"you may replace the old one, on explicit permission from the previous " +"publisher that added the old one." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:254 +msgid "" +"The author(s) and publisher(s) of the Document do not by this License " +"give permission to use their names for publicity for or to assert or " +"imply endorsement of any Modified Version." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:259 +msgid "5. COMBINING DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:261 +msgid "" +"You may combine the Document with other documents released under this " +"License, under the terms defined in section 4 above for modified " +"versions, provided that you include in the combination all of the " +"Invariant Sections of all of the original documents, unmodified, and list" +" them all as Invariant Sections of your combined work in its license " +"notice, and that you preserve all their Warranty Disclaimers." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:268 +msgid "" +"The combined work need only contain one copy of this License, and " +"multiple identical Invariant Sections may be replaced with a single copy." +" If there are multiple Invariant Sections with the same name but " +"different contents, make the title of each such section unique by adding " +"at the end of it, in parentheses, the name of the original author or " +"publisher of that section if known, or else a unique number. Make the " +"same adjustment to the section titles in the list of Invariant Sections " +"in the license notice of the combined work." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:277 +msgid "" +"In the combination, you must combine any sections Entitled \"History\" in" +" the various original documents, forming one section Entitled " +"\"History\"; likewise combine any sections Entitled \"Acknowledgements\"," +" and any sections Entitled \"Dedications\". You must delete all sections" +" Entitled \"Endorsements\"." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:284 +msgid "6. COLLECTIONS OF DOCUMENTS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:286 +msgid "" +"You may make a collection consisting of the Document and other documents " +"released under this License, and replace the individual copies of this " +"License in the various documents with a single copy that is included in " +"the collection, provided that you follow the rules of this License for " +"verbatim copying of each of the documents in all other respects." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:292 +msgid "" +"You may extract a single document from such a collection, and distribute " +"it individually under this License, provided you insert a copy of this " +"License into the extracted document, and follow this License in all other" +" respects regarding verbatim copying of that document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:298 +msgid "7. AGGREGATION WITH INDEPENDENT WORKS" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:300 +msgid "" +"A compilation of the Document or its derivatives with other separate and " +"independent documents or works, in or on a volume of a storage or " +"distribution medium, is called an \"aggregate\" if the copyright " +"resulting from the compilation is not used to limit the legal rights of " +"the compilation's users beyond what the individual works permit. When the" +" Document is included in an aggregate, this License does not apply to the" +" other works in the aggregate which are not themselves derivative works " +"of the Document." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:309 +msgid "" +"If the Cover Text requirement of section 3 is applicable to these copies " +"of the Document, then if the Document is less than one half of the entire" +" aggregate, the Document's Cover Texts may be placed on covers that " +"bracket the Document within the aggregate, or the electronic equivalent " +"of covers if the Document is in electronic form. Otherwise they must " +"appear on printed covers that bracket the whole aggregate." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:318 +msgid "8. TRANSLATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:320 +msgid "" +"Translation is considered a kind of modification, so you may distribute " +"translations of the Document under the terms of section 4. Replacing " +"Invariant Sections with translations requires special permission from " +"their copyright holders, but you may include translations of some or all " +"Invariant Sections in addition to the original versions of these " +"Invariant Sections. You may include a translation of this License, and " +"all the license notices in the Document, and any Warranty Disclaimers, " +"provided that you also include the original English version of this " +"License and the original versions of those notices and disclaimers. In " +"case of a disagreement between the translation and the original version " +"of this License or a notice or disclaimer, the original version will " +"prevail." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:333 +msgid "" +"If a section in the Document is Entitled \"Acknowledgements\", " +"\"Dedications\", or \"History\", the requirement (section 4) to Preserve " +"its Title (section 1) will typically require changing the actual title." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:339 +msgid "9. TERMINATION" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:341 +msgid "" +"You may not copy, modify, sublicense, or distribute the Document except " +"as expressly provided for under this License. Any other attempt to copy," +" modify, sublicense or distribute the Document 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." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:350 +msgid "10. FUTURE REVISIONS OF THIS LICENSE" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:352 +msgid "" +"The Free Software Foundation may publish new, revised versions of the GNU" +" Free Documentation 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. See http://www.gnu.org/copyleft/." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:358 +msgid "" +"Each version of the License is given a distinguishing version number. If " +"the Document specifies that a particular numbered version of this License" +" \"or any later version\" applies to it, you have the option of following" +" the terms and conditions either of that specified version or of any " +"later version that has been published (not as a draft) by the Free " +"Software Foundation. If the Document does not specify a version number " +"of this License, you may choose any version ever published (not as a " +"draft) by the Free Software Foundation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:368 +msgid "ADDENDUM: How to use this License for your documents" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:370 +msgid "" +"To use this License in a document you have written, include a copy of the" +" License in the document and put the following copyright and license " +"notices just after the title page:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:382 +msgid "" +"If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, " +"replace the \"with...Texts.\" line with this:" +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:388 +msgid "" +"If you have Invariant Sections without Cover Texts, or some other " +"combination of the three, merge those two alternatives to suit the " +"situation." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:392 +msgid "" +"If your document contains nontrivial examples of program code, we " +"recommend releasing these examples in parallel under your choice of free " +"software license, such as the GNU General Public License, to permit their" +" use in free software." +msgstr "" + +#: ../../source/learn/intrinsics/GNU_Free_Documentation_License.md:397 +msgid "fortran-lang intrinsic descriptions" +msgstr "" + +#: ../../source/learn/intrinsics/MATH_index.md:1 +#: ../../source/learn/intrinsics/index.md:17 +msgid "General mathematical functions" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:2 +msgid "acos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:4 +msgid "" +"__acos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] arccosine (inverse cosine) " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:14 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:19 +msgid "__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:24 +msgid "" +"Must be type _real_ or _complex_. If the type is _real_, the value must " +"satisfy |__x__| <= 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:29 +#, python-format +msgid "" +"The return value is of the same type and kind as __x__. The _real_ part " +"of the result is in radians and lies in the range __0 \\<= acos(x%re) " +"\\<= PI__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:60 +msgid "FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:64 +#: ../../source/learn/intrinsics/_pages/ASIN.md:94 +#: ../../source/learn/intrinsics/_pages/ATAN.md:78 +msgid "" +"[wikipedia: inverse trigonometric " +"functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOS.md:66 +msgid "Inverse function: [__cos__(3](COS))" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:2 +msgid "acosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:5 +msgid "" +"__acosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic cosine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:15 +#: ../../source/learn/intrinsics/_pages/COS.md:14 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any KIND supported " +"by the associated type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:20 +msgid "__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:25 +msgid "the type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:29 +#: ../../source/learn/intrinsics/_pages/EXP.md:36 +#: ../../source/learn/intrinsics/_pages/SIN.md:34 +#: ../../source/learn/intrinsics/_pages/TAN.md:23 +msgid "The return value has the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:31 +msgid "" +"If __x__ is _complex_, the imaginary part of the result is in radians and" +" lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:34 +msgid "__0 \\<= aimag(acosh(x)) \\<= PI__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:58 +#: ../../source/learn/intrinsics/_pages/ASINH.md:57 +#: ../../source/learn/intrinsics/_pages/ATANH.md:51 +#: ../../source/learn/intrinsics/_pages/COSH.md:55 +#: ../../source/learn/intrinsics/_pages/SINH.md:86 +#: ../../source/learn/intrinsics/_pages/TANH.md:52 +msgid "" +"[Wikipedia:hyperbolic " +"functions](https://en.wikipedia.org/wiki/Hyperbolic_functions)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ACOSH.md:60 +msgid "Inverse function: [__cosh__(3)](COSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:2 +msgid "asin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:5 +msgid "__asin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arcsine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:14 +msgid "" +"where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:19 +msgid "__asin(x)__ computes the arcsine of its argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:21 +msgid "" +"The arcsine is the inverse function of the sine function. It is commonly " +"used in trigonometry when trying to find the angle when the lengths of " +"the hypotenuse and the opposite side of a right triangle are known." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:28 +msgid "" +"The type shall be either _real_ and a magnitude that is less than or " +"equal to one; or be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:33 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:29 +#: ../../source/learn/intrinsics/_pages/SIN.md:33 +msgid "__result__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:34 +msgid "" +"The return value is of the same type and kind as __x__. The real part of " +"the result is in radians and lies in the range __-PI/2 \\<= asin(x) \\<= " +"PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:40 +msgid "" +"The arcsine will allow you to find the measure of a right angle when you " +"know the ratio of the side opposite the angle to the hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:43 +msgid "" +"So if you knew that a train track rose 1.25 vertical miles on a track " +"that was 50 miles long, you could determine the average angle of incline " +"of the track using the arcsine. Given" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:77 +msgid "" +"The percentage grade is the slope, written as a percent. To calculate the" +" slope you divide the rise by the run. In the example the rise is 1.25 " +"mile over a run of 50 miles so the slope is 1.25/50 = 0.025. Written as a" +" percent this is 2.5 %." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:82 +msgid "" +"For the US, two and 1/2 percent is generally thought of as the upper " +"limit. This means a rise of 2.5 feet when going 100 feet forward. In the " +"US this was the maximum grade on the first major US railroad, the " +"Baltimore and Ohio. Note curves increase the frictional drag on a train " +"reducing the allowable grade." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:90 +#: ../../source/learn/intrinsics/_pages/TANH.md:49 +msgid "FORTRAN 77 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASIN.md:96 +msgid "Inverse function: [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:2 +msgid "asinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:5 +msgid "" +"__asinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic sine " +"function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:15 +#: ../../source/learn/intrinsics/_pages/SINH.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be" +" _real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:20 +msgid "__asinh(x)__ computes the inverse hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:25 +#: ../../source/learn/intrinsics/_pages/ATANH.md:19 +#: ../../source/learn/intrinsics/_pages/COSH.md:26 +#: ../../source/learn/intrinsics/_pages/EXP.md:30 +#: ../../source/learn/intrinsics/_pages/LOG.md:20 +#: ../../source/learn/intrinsics/_pages/SINH.md:31 +#: ../../source/learn/intrinsics/_pages/TAN.md:19 +#: ../../source/learn/intrinsics/_pages/TANH.md:19 +msgid "The type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:29 +msgid "" +"The return value is of the same type and kind as __x__. If __x__ is " +"_complex_, the imaginary part of the result is in radians and lies " +"between __-PI/2 \\<= aimag(asinh(x)) \\<= PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASINH.md:59 +msgid "Inverse function: [__sinh__(3)](SINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:2 +msgid "atan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:5 +msgid "__atan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:15 +msgid "" +"where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any " +"__KIND__ supported by the associated type. If __y__ is present __x__ is " +"_real`." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:20 +msgid "__atan(x)__ computes the arctangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:25 +msgid "" +"The type shall be _real_ or _complex_; if __y__ is present, __x__ shall " +"be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:28 +#: ../../source/learn/intrinsics/_pages/ATAN2.md:25 +#: ../../source/learn/intrinsics/_pages/DIM.md:27 +#: ../../source/learn/intrinsics/_pages/DPROD.md:25 +#: ../../source/learn/intrinsics/_pages/DPROD.md:36 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:31 +msgid "__y__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:29 +msgid "" +"Shall be of the same type and kind as __x__. If __x__ is zero, __y__ " +"must not be zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:34 +msgid "" +"The returned value is of the same type and kind as __x__. If __y__ is " +"present, the result is identical to __atan2(y,x)__. Otherwise, it is the " +"arc tangent of __x__, where the real part of the result is in radians and" +" lies in the range __-PI/2 \\<= atan(x) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:73 +msgid "" +"FORTRAN 77 and later for a complex argument; and for two arguments " +"Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN.md:80 +msgid "[__atan2__(3)](ATAN2), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:2 +msgid "atan2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:5 +msgid "__atan2__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Arctangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:13 +msgid "" +"__atan2(y, x)__ computes the arctangent of the complex number ( __x__ + i" +" __y__ ) ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:16 +msgid "" +"This function can be used to transform from Cartesian into polar " +"coordinates and allows to determine the angle in the correct quadrant. To" +" convert from Cartesian Coordinates __(x,y)__ to polar coordinates" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:20 +msgid "" +"(r,theta): $$ \\begin{aligned} r &= \\sqrt{x**2 + y**2} \\\\ \\theta &= " +"\\tan**{__-1__}(y / x) \\end{aligned} $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:20 +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:20 +#: ../../source/learn/intrinsics/_pages/CEILING.md:23 +#: ../../source/learn/intrinsics/_pages/EPSILON.md:33 +#: ../../source/learn/intrinsics/_pages/ERF.md:22 +#: ../../source/learn/intrinsics/_pages/ERFC.md:38 +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:25 +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:26 +#: ../../source/learn/intrinsics/_pages/HYPOT.md:29 +msgid "The type shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:29 +msgid "" +"The type and kind type parameter shall be the same as __y__. If __y__ is " +"zero, then __x__ must be nonzero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATAN2.md:34 +msgid "" +"The return value has the same type and kind type parameter as __y__. It " +"is the principal value of the complex number __(x + i, y)__. If x is " +"nonzero, then it lies in the range __-PI \\<= atan(x) \\<= PI__. The sign" +" is positive if __y__ is positive. If __y__ is zero, then the return " +"value is zero if __x__ is strictly positive, __PI__ if __x__ is negative " +"and __y__ is positive zero (or the processor does not handle signed " +"zeros), and __-PI__ if __x__ is negative and __Y__ is negative zero. " +"Finally, if __x__ is zero, then the magnitude of the result is __PI/2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:2 +msgid "atanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:5 +msgid "" +"__atanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Inverse hyperbolic tangent" +" function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:14 +msgid "__atanh(x)__ computes the inverse hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians and lies between" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:26 +msgid "__-PI/2 \\<= aimag(atanh(x)) \\<= PI/2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATANH.md:53 +msgid "Inverse function: [__tanh__(3)](TANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:2 +msgid "cos" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:5 +msgid "__cos__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:19 +msgid "" +"__cos(x)__ computes the cosine of an angle __x__ given the size of the " +"angle in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:22 +msgid "" +"The cosine of a _real_ value is the ratio of the adjacent side to the " +"hypotenuse of a right-angled triangle." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:28 +msgid "The type shall be _real_ or _complex_. __x__ is assumed to be in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:33 +#: ../../source/learn/intrinsics/_pages/TINY.md:30 +msgid "The return value is of the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:35 +msgid "" +"If __x__ is of the type _real_, the return value lies in the range __-1 " +"\\<= cos(x) \\<= 1__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:70 +#: ../../source/learn/intrinsics/_pages/SIN.md:126 +msgid "[Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COS.md:72 +msgid "[__acos__(3)](ACOS), [__sin__(3)](SIN), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:2 +msgid "cosh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:5 +msgid "__cosh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic cosine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:15 +msgid "" +"where TYPE may be _real_ or _complex_ and KIND may be any supported kind" +" for the associated type. The returned __value__ will be the same type " +"and kind as the input value __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:21 +msgid "__cosh(x)__ computes the hyperbolic cosine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:30 +msgid "" +"The return value has same type and kind as __x__. If __x__ is _complex_, " +"the imaginary part of the result is in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:33 +msgid "" +"If __x__ is _real_, the return value has a lower bound of one, __cosh(x)" +" \\>= 1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:52 +msgid "FORTRAN 77 and later, for a complex argument - Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COSH.md:57 +msgid "Inverse function: [__acosh__(3)](ACOSH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:2 +msgid "sin" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:5 +msgid "__sin__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:14 +msgid "" +"Where the returned value has the kind of the input value and TYPE may be " +"_real_ or _complex_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:19 +msgid "" +"__sin(x)__ computes the sine of an angle given the size of the angle in " +"radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:22 +msgid "" +"The sine of an angle in a right-angled triangle is the ratio of the " +"length of the side opposite the given angle divided by the length of the " +"hypotenuse." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:29 +msgid "The type shall be _real_ or _complex_ in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:48 +msgid "__Haversine Formula__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:50 +msgid "From the article on \"Haversine formula\" in Wikipedia:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:58 +msgid "" +"So to show the great-circle distance between the Nashville International " +"Airport (BNA) in TN, USA, and the Los Angeles International Airport (LAX)" +" in CA, USA you would start with their latitude and longitude, commonly " +"given as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:68 +msgid "which converted to floating-point values in degrees is:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:80 +msgid "" +"And then use the haversine formula to roughly calculate the distance " +"along the surface of the Earth between the locations:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIN.md:128 +msgid "[__asin__(3)](ASIN), [__cos__(3)](COS), [__tan__(3)](TAN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:2 +msgid "sinh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:5 +msgid "__sinh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic sine function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:19 +msgid "__sinh(x)__ computes the hyperbolic sine of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:21 +msgid "The hyperbolic sine of x is defined mathematically as:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:23 +msgid "__sinh(x) = (exp(x) - exp(-x)) / 2.0__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:25 +msgid "" +"If __x__ is of type _complex_ its imaginary part is regarded as a value " +"in radians." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:35 +msgid "The return value has same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:83 +msgid "Fortran 95 and later, for a complex argument Fortran 2008 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SINH.md:88 +msgid "[__asinh__(3)](ASINH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:2 +msgid "tan" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:5 +msgid "__tan__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:14 +msgid "__tan(x)__ computes the tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:44 +msgid "FORTRAN 77 and later. For a complex argument, Fortran 2008 or later." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TAN.md:48 +msgid "[__atan__(3)](ATAN), [__cos__(3)](COS), [__sin__(3)](SIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:2 +msgid "tanh" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:5 +msgid "__tanh__(3) - \\[MATHEMATICS:TRIGONOMETRIC\\] Hyperbolic tangent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:14 +msgid "__tanh(x)__ computes the hyperbolic tangent of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:23 +msgid "" +"The return value has same type and kind as __x__. If __x__ is complex, " +"the imaginary part of the result is in radians. If __x__ is _real_, the " +"return value lies in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TANH.md:54 +msgid "[__atanh__(3)](ATANH)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:2 +msgid "random\\_number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:5 +msgid "__random\\_number__(3) - \\[MATHEMATICS:RANDOM\\] Pseudo-random number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:14 +msgid "" +"Returns a single pseudorandom number or an array of pseudorandom numbers " +"from the uniform distribution over the range 0 \\<= x \\< 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:19 +msgid "__harvest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:20 +msgid "Shall be a scalar or an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_NUMBER.md:87 +msgid "[__random\\_seed__(3)](RANDOM_SEED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:2 +msgid "random\\_seed" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:5 +msgid "" +"__random\\_seed__(3) - \\[MATHEMATICS:RANDOM\\] Initialize a pseudo-" +"random number sequence" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:14 +msgid "" +"Restarts or queries the state of the pseudorandom number generator used " +"by random\\_number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:17 +msgid "" +"If random\\_seed is called without arguments, it is seeded with random " +"data retrieved from the operating system." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:23 +msgid "" +"(Optional) Shall be a scalar and of type default _integer_, with " +"__intent(out)__. It specifies the minimum size of the arrays used with " +"the __put__ and __get__ arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:27 +msgid "__put__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:28 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(in)__ and the size of the array must be larger than or equal " +"to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:32 +msgid "__get__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:33 +msgid "" +"(Optional) Shall be an array of type default _integer_ and rank one. It " +"is __intent(out)__ and the size of the array must be larger than or equal" +" to the number returned by the __size__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANDOM_SEED.md:66 +msgid "[__random\\_number__(3)](RANDOM_NUMBER)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:2 +msgid "exp" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:5 +msgid "__exp__(3) - \\[MATHEMATICS\\] Exponential function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:13 +msgid "" +"__exp__(x) computes the base \"_e_\" exponential of __x__ where \"_e_\" " +"is _Euler's constant_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:16 +msgid "" +"If __x__ is of type _complex_, its imaginary part is regarded as a value " +"in radians such that (see _Euler's formula_):" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:19 +msgid "" +"if __cx=(re,im)__ then " +"__exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:24 +msgid "" +"Since __exp__(3) is the inverse function of __log__(3) the maximum valid " +"magnitude of the _real_ component of __x__ is __log(huge(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:34 +msgid "The value of the result is __e\\*\\*x__ where __e__ is Euler's constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:88 +msgid "[__log__(3)](LOG)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:90 +msgid "" +"Wikipedia:[Exponential " +"function](https://en.wikipedia.org/wiki/Exponential_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXP.md:92 +#, python-format +msgid "" +"Wikipedia:[Euler's " +"formula](https://en.wikipedia.org/wiki/Euler%27s_formula)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:2 +msgid "log" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:5 +msgid "__log__(3) - \\[MATHEMATICS\\] Logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:14 +msgid "" +"__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to" +" the base \"e\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:24 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is " +"in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG.md:27 +msgid "__-PI__ \\< OMEGA \\<= PI." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:2 +msgid "log10" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:5 +msgid "__log10__(3) - \\[MATHEMATICS\\] Base 10 logarithm function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:16 +msgid "" +"__log10(x)__ computes the base 10 logarithm of __x__. This is generally " +"called the \"common logarithm\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:22 +msgid "A _real_ value > 0 to take the log of." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG10.md:26 +msgid "" +"The return value is of type _real_ . The kind type parameter is the same " +"as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:2 +msgid "sqrt" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:5 +msgid "__sqrt__(3) - \\[MATHEMATICS\\] Square-root function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:15 +msgid "" +"Where TYPE may be _real_ or _complex_ and __KIND__ may be any kind valid " +"for the declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:20 +msgid "__sqrt(x)__ computes the principal square root of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:22 +msgid "" +"In mathematics, a square root of a number __x__ is a number __y__ such " +"that __y*y = x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:25 +msgid "" +"The number whose square root is being considered is known as the " +"_radicand_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:28 +msgid "" +"Every nonnegative number _x_ has two square roots of the same unique " +"magnitude, one positive and one negative. The nonnegative square root is " +"called the principal square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:32 +msgid "" +"The principal square root of 9 is 3, for example, even though (-3)*(-3) " +"is also 9." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:35 +msgid "A _real_, _radicand_ must be positive." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:37 +msgid "" +"Square roots of negative numbers are a special case of complex numbers, " +"where the components of the _radicand_ need not be positive in order to " +"have a valid square root." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:44 +msgid "" +"If __x__ is real its value must be greater than or equal to zero. The " +"type shall be _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SQRT.md:49 +msgid "" +"The return value is of type _real_ or _complex_. The kind type parameter " +"is the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:2 +msgid "hypot" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:5 +msgid "" +"__hypot__(3) - \\[MATHEMATICS\\] returns the distance between the point " +"and the origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:14 +msgid "where __x,y,value__ shall all be of the same __kind__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:18 +msgid "" +"__hypot(x,y)__ is referred to as the Euclidean distance function. It is " +"equal to __sqrt(x**2 + y**2)__, without undue underflow or overflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:21 +msgid "" +"In mathematics, the _Euclidean distance_ between two points in Euclidean " +"space is the length of a line segment between two points." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:24 +msgid "" +"__hypot(x,y)__ returns the distance between the point ____ and the " +"origin." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:32 +msgid "The type and kind type parameter shall be the same as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:36 +msgid "The return value has the same type and kind type parameter as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HYPOT.md:38 +msgid "" +"The result is the positive magnitude of the distance of the point " +"____ from the origin __<0.0,0.0>__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:2 +msgid "bessel\\_j0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:5 +msgid "" +"__bessel\\_j0__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:14 +msgid "" +"__bessel\\_j0(x)__ computes the Bessel function of the first kind of " +"order __0__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.4027 \\<= " +"bessel(0,x) \\<= 1__. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J0.md:52 +msgid "" +"[__bessel\\_j1__(3)](BESSEL_J1), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:2 +msgid "bessel\\_j1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:5 +msgid "" +"__bessel\\_j1__(3) - \\[MATHEMATICS\\] Bessel function of the first kind " +"of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:14 +msgid "" +"__bessel\\_j1(x)__ computes the Bessel function of the first kind of " +"order __1__ of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:24 +msgid "" +"The return value is of type _real_ and lies in the range __-0.5818 \\<= " +"bessel(0,x) \\<= 0.5818__ . It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_J1.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_jn__(3)](BESSEL_JN), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:2 +msgid "bessel\\_jn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:5 +msgid "__bessel\\_jn__(3) - \\[MATHEMATICS\\] Bessel function of the first kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:16 +msgid "" +"__bessel\\_jn(n, x)__ computes the Bessel function of the first kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:20 +msgid "" +"__bessel\\_jn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:25 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:25 +msgid "__n__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:26 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:26 +msgid "Shall be a scalar or an array of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:28 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:28 +msgid "__n1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:32 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:29 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:32 +msgid "Shall be a non-negative scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:31 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:31 +msgid "__n2__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_. For __bessel\\_jn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:40 +msgid "" +"The return value is a scalar of type _real_. It has the same kind as " +"__x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_JN.md:67 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_y0__(3)](BESSEL_Y0), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:2 +msgid "bessel\\_y0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:5 +msgid "" +"__bessel\\_y0__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 0" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:14 +msgid "" +"__bessel\\_y0(x)__ computes the Bessel function of the second kind of " +"order 0 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:24 +msgid "The return value is of type _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y0.md:51 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y1__(3)](BESSEL_Y1), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:2 +msgid "bessel\\_y1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:5 +msgid "" +"__bessel\\_y1__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +" of order 1" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:14 +msgid "" +"__bessel\\_y1(x)__ computes the Bessel function of the second kind of " +"order 1 of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:24 +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:40 +msgid "The return value is _real_. It has the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_Y1.md:46 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_yn__(3)](BESSEL_YN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:2 +msgid "bessel\\_yn" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:5 +msgid "__bessel\\_yn__(3) - \\[MATHEMATICS\\] Bessel function of the second kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:16 +msgid "" +"__bessel\\_yn(n, x)__ computes the Bessel function of the second kind of " +"order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and " +"shapes shall conform." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:20 +msgid "" +"__bessel\\_yn(n1, n2, x)__ returns an array with the Bessel " +"function\\|Bessel functions of the first kind of the orders __n1__ to " +"__n2__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:35 +msgid "" +"Shall be a scalar or an array of type _real_; for __bessel\\_yn(n1, n2, " +"x)__ it shall be scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/BESSEL_YN.md:65 +msgid "" +"[__bessel\\_j0__(3)](BESSEL_J0), [__bessel\\_j1__(3)](BESSEL_J1), " +"[__bessel\\_jn__(3)](BESSEL_JN), [__bessel\\_y0__(3)](BESSEL_Y0), " +"[__bessel\\_y1__(3)](BESSEL_Y1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:2 +msgid "erf" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:5 +msgid "__erf__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:14 +msgid "" +"__erf__(x) computes the error function of __x__, defined as $$ " +"\\text{erf}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_0^x e^{__-t__^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:26 +msgid "" +"The return value is of type _real_, of the same kind as __x__ and lies in" +" the range __-1__ \\<= __erf__(x) \\<= 1 ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:50 +#: ../../source/learn/intrinsics/_pages/ERFC.md:68 +msgid "See also" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:52 +msgid "[__erfc__(3)](ERFC)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERF.md:54 +#: ../../source/learn/intrinsics/_pages/ERFC.md:71 +msgid "[Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:2 +msgid "erfc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:5 +msgid "__erfc__(3) - \\[MATHEMATICS\\] Complementary error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:18 +msgid "" +"__erfc__(x) computes the complementary error function of __x__. Simpy " +"put this is equivalent to __1 - erf(x)__, but __erfc__ is provided " +"because of the extreme loss of relative accuracy if __erf(x)__ is called " +"for large __x__ and the result is subtracted from __1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:23 +msgid "__erfc(x)__ is defined as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:31 +msgid "" +"$$ \\text{erfc}(x) = 1 - \\text{erf}(x) = 1 - \\frac{2}{\\sqrt{\\pi}} " +"\\int_x^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:42 +msgid "" +"The return value is of type _real_ and of the same kind as __x__. It lies" +" in the range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:45 +msgid "0 \\<= __erfc__(x) \\<= 2." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:69 +msgid "[__erf__(3)](ERF)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC.md:73 +msgid "####### fortran-lang intrinsic descriptions license: MIT) @urbanjost" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:2 +msgid "erfc\\_scaled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:5 +msgid "__erfc\\_scaled__(3) - \\[MATHEMATICS\\] Error function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:14 +msgid "" +"__erfc\\_scaled__(x) computes the exponentially-scaled complementary " +"error function of __x__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:17 +msgid "$$ e^{x^2} \\frac{2}{\\sqrt{\\pi}} \\int_{x}^{\\infty} e^{-t^2} dt. $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ERFC_SCALED.md:29 +msgid "The return value is of type _real_ and of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:2 +msgid "gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:5 +msgid "" +"__gamma__(3) - \\[MATHEMATICS\\] Gamma function, which yields factorials " +"for positive whole numbers" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:13 +msgid "" +"__gamma(x)__ computes Gamma of __x__. For positive whole number values of" +" __n__ the Gamma function can be used to calculate factorials, as " +"__(n-1)! == gamma(real(n))__. That is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:20 +msgid "" +"$$ \\\\__Gamma__(x) = \\\\int\\_0\\*\\*\\\\infty " +"t\\*\\*{x-1}{\\\\mathrm{e}}\\*\\*{__-t__}\\\\,{\\\\mathrm{d}}t $$" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:26 +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:19 +msgid "Shall be of type _real_ and neither zero nor a negative integer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:30 +msgid "The return value is of type _real_ of the same kind as _x_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:124 +msgid "Logarithm of the Gamma function: [__log\\_gamma__(3)](LOG_GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GAMMA.md:126 +msgid "[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:2 +msgid "log\\_gamma" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:5 +msgid "__log\\_gamma__(3) - \\[MATHEMATICS\\] Logarithm of the Gamma function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:14 +msgid "" +"__log\\_gamma(x)__ computes the natural logarithm of the absolute value " +"of the Gamma function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:23 +msgid "The return value is of type _real_ of the same kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOG_GAMMA.md:46 +msgid "Gamma function: [__gamma__(3)](GAMMA)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:2 +msgid "norm2" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:5 +msgid "__norm2__(3) - \\[MATHEMATICS\\] Euclidean vector norm" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:19 +msgid "" +"Calculates the Euclidean vector norm (L\\_2 norm) of __array__ along " +"dimension __dim__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:25 +msgid "Shall be an array of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:28 +msgid "" +"shall be a scalar of type _integer_ with a value in the range from __1__ " +"to __rank(array)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:35 +msgid "" +"If __dim__ is absent, a scalar with the square root of the sum of squares" +" of the elements of __array__ is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:38 +msgid "" +"Otherwise, an array of rank __n-1__, where __n__ equals the rank of " +"__array__, and a shape similar to that of __array__ with dimension DIM " +"dropped is returned." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NORM2.md:87 +msgid "[__product__(3)](PRODUCT), [__sum__(3)](SUM), [__hypot__(3)](HYPOT)" +msgstr "" + +#: ../../source/learn/intrinsics/MODEL_index.md:1 +msgid "Controlling and querying the current numeric model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:2 +msgid "exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:5 +msgid "__exponent__(3) - \\[MODEL\\_COMPONENTS\\] Exponent function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:14 +msgid "" +"__exponent__(x) returns the value of the exponent part of __x__. If __x__" +" is zero the value returned is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:24 +msgid "The return value is of type default _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXPONENT.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:2 +msgid "fraction" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:5 +msgid "" +"__fraction__(3) - \\[MODEL\\_COMPONENTS\\] Fractional part of the model " +"representation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:14 +msgid "" +"__fraction(x)__ returns the fractional part of the model representation " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:21 +#: ../../source/learn/intrinsics/_pages/SCALE.md:22 +msgid "The type of the argument shall be a _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:25 +msgid "" +"The return value is of the same type and kind as the argument. The " +"fractional part of the model representation of __x__ is returned; it is " +"__x \\* radix(x)\\*\\*(-exponent(x))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FRACTION.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:2 +msgid "nearest" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:5 +msgid "__nearest__(3) - \\[MODEL\\_COMPONENTS\\] Nearest representable number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:14 +msgid "" +"__nearest(x, s)__ returns the processor-representable number nearest to " +"__x__ in the direction indicated by the sign of __s__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/NEAREST.md:20 +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:20 +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:20 +#: ../../source/learn/intrinsics/_pages/SPACING.md:20 +#: ../../source/learn/intrinsics/_pages/TINY.md:24 +msgid "Shall be of type _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:22 +msgid "__s__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:23 +msgid "Shall be of type _real_ and not equal to zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:27 +msgid "" +"The return value is of the same type as __x__. If __s__ is positive, " +"__nearest__ returns the processor-representable number greater than __x__" +" and nearest to it. If __s__ is negative, __nearest__ returns the " +"processor-representable number smaller than __x__ and nearest to it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NEAREST.md:67 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:2 +msgid "rrspacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:5 +msgid "" +"__rrspacing__(3) - \\[MODEL\\_COMPONENTS\\] Reciprocal of the relative " +"spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:14 +msgid "" +"__rrspacing(x)__ returns the reciprocal of the relative spacing of model " +"numbers near __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:24 +msgid "" +"The return value is of the same type and kind as __x__. The value " +"returned is equal to __abs(fraction(x)) \\* " +"float(radix(x))\\*\\*digits(x)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RRSPACING.md:33 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:2 +msgid "scale" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:5 +msgid "" +"__scale__(3) - \\[MODEL\\_COMPONENTS\\] Scale a real value by a whole " +"power of the radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:17 +msgid "__scale(x,i)__ returns x \\* __radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:25 +msgid "The type of the argument shall be a _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:29 +msgid "" +"The return value is of the same type and kind as __x__. Its value is __x" +" \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SCALE.md:57 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:2 +msgid "set\\_exponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:5 +msgid "" +"__set\\_exponent__(3) - \\[MODEL\\_COMPONENTS\\] Set the exponent of the " +"model" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:14 +msgid "" +"__set\\_exponent(x, i)__ returns the real number whose fractional part is" +" that of __x__ and whose exponent part is __i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:27 +msgid "" +"The return value is of the same type and kind as __x__. The real number " +"whose fractional part is that that of __x__ and whose exponent part if " +"__i__ is returned; it is __fraction(x) \\* radix(x)\\*\\*i__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SET_EXPONENT.md:53 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__spacing__(3)](SPACING), [__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:2 +msgid "spacing" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:5 +msgid "" +"__spacing__(3) - \\[MODEL\\_COMPONENTS\\] Smallest distance between two " +"numbers of a given type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:14 +msgid "" +"Determines the distance between the argument __x__ and the nearest " +"adjacent number of the same type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:24 +msgid "The result is of the same type as the input argument __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SPACING.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set\\_exponent__(3)](SET_EXPONENT), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:2 +msgid "digits" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:5 +msgid "__digits__(3) - \\[NUMERIC MODEL\\] Significant digits function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:14 +msgid "" +"where TYPE may be _integer_ or _real_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:19 +msgid "" +"__digits(x)__ returns the number of significant digits of the internal " +"model representation of __x__. For example, on a system using a 32-bit " +"floating point representation, a default real number would likely return " +"24." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:27 +msgid "The type may be a scalar or array of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:31 +msgid "The return value is of type _integer_ of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIGITS.md:63 +msgid "" +"[__epsilon__(3)](EPSILON), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:2 +msgid "epsilon" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:5 +msgid "__epsilon__(3) - \\[NUMERIC MODEL\\] Epsilon function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:13 +msgid "" +"__epsilon(x)__ returns the floating point relative accuracy. It is the " +"nearly negligible number relative to __1__ such that __1+ little_number__" +" is not equal to __1__; or more precisely" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:20 +msgid "" +"It may be thought of as the distance from 1.0 to the next largest " +"floating point number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:23 +msgid "" +"One use of __epsilon__(3) is to select a _delta_ value for algorithms " +"that search until the calculation is within _delta_ of an estimate." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:26 +msgid "" +"If _delta_ is too small the algorithm might never halt, as a computation " +"summing values smaller than the decimal resolution of the data type does " +"not change." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:37 +msgid "The return value is of the same type as the argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EPSILON.md:112 +msgid "" +"[__digits__(3)](DIGITS), [__exponent__(3)](EXPONENT), " +"[__fraction__(3)](FRACTION), [__huge__(3)](HUGE), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:2 +msgid "huge" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:5 +msgid "__huge__(3) - \\[NUMERIC MODEL\\] Largest number of a type and kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:15 +msgid "" +"where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported" +" associated _kind_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:20 +msgid "" +"__huge(x)__ returns the largest number that is not an infinity for the " +"kind and type of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:26 +msgid "" +"Shall be an arbitrary value of type _real_ or _integer_. The value is " +"used merely to determine what _kind_ and _type_ of scalar is being " +"queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:32 +msgid "" +"The return value is of the same type and kind as _x_ and is the largest " +"value supported by the specified model." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/HUGE.md:91 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__maxexponent__(3)](MAXEXPONENT), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:2 +msgid "maxexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:5 +msgid "__maxexponent__(3) - \\[NUMERIC MODEL\\] Maximum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:14 +msgid "" +"__maxexponent(x)__ returns the maximum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAXEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__minexponent__(3)](MINEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:2 +msgid "minexponent" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:5 +msgid "__minexponent__(3) - \\[NUMERIC MODEL\\] Minimum exponent of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:14 +msgid "" +"__minexponent(x)__ returns the minimum exponent in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MINEXPONENT.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__nearest__(3)](NEAREST), [__precision__(3)](PRECISION), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:2 +msgid "precision" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:5 +msgid "__precision__(3) - \\[NUMERIC MODEL\\] Decimal precision of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:14 +msgid "" +"__precision(x)__ returns the decimal precision in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:20 +#: ../../source/learn/intrinsics/_pages/RANGE.md:26 +msgid "Shall be of type _real_ or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRECISION.md:52 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__radix__(3)](RADIX), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:2 +msgid "radix" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:5 +msgid "__radix__(3) - \\[NUMERIC MODEL\\] Base of a model number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:14 +msgid "__radix(x)__ returns the base of the model representing the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:19 +msgid "Shall be of type _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:23 +#: ../../source/learn/intrinsics/_pages/RADIX.md:23 +msgid "" +"The return value is a scalar of type _integer_ and of the default integer" +" kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RADIX.md:51 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:2 +msgid "range" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:5 +msgid "__range__(3) - \\[NUMERIC MODEL\\] Decimal exponent range of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:16 +msgid "" +"where TYPE is _real_ or _complex_ and KIND is any kind supported by " +"TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:20 +msgid "" +"__range(x)__ returns the decimal exponent range in the model of the type " +"of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/RANGE.md:58 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__rrspacing__(3)](RRSPACING), [__scale__(3)](SCALE), " +"[__set\\_exponent__(3)](SET_EXPONENT), [__spacing__(3)](SPACING), " +"[__tiny__(3)](TINY)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:2 +msgid "tiny" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:5 +msgid "__tiny__(3) - \\[NUMERIC MODEL\\] Smallest positive number of a real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:14 +msgid "where KIND may be any kind supported by type _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:18 +msgid "" +"__tiny(x)__ returns the smallest positive (non zero) number of the type " +"and kind of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:28 +msgid "The smallest positive value for the _real_ type of the specified kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TINY.md:54 +msgid "" +"[__digits__(3)](DIGITS), [__epsilon__(3)](EPSILON), " +"[__exponent__(3)](EXPONENT), [__fraction__(3)](FRACTION), " +"[__huge__(3)](HUGE), [__maxexponent__(3)](MAXEXPONENT), " +"[__minexponent__(3)](MINEXPONENT), [__nearest__(3)](NEAREST), " +"[__precision__(3)](PRECISION), [__radix__(3)](RADIX), " +"[__range__(3)](RANGE), [__rrspacing__(3)](RRSPACING), " +"[__scale__(3)](SCALE), [__set_exponent__(3)](SET_EXPONENT), " +"[__spacing__(3)](SPACING)" +msgstr "" + +#: ../../source/learn/intrinsics/NUMERIC_index.md:1 +#: ../../source/learn/intrinsics/index.md:20 +msgid "Manipulation and properties of numeric values" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:2 +msgid "abs" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:5 +msgid "__abs__(3) - \\[NUMERIC\\] Absolute value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:15 +msgid "" +"where the TYPE and KIND is determined by the type and type attributes of " +"__a__, which may be any _real_, _integer_, or _complex_ value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:18 +msgid "" +"If the type of __a__ is _cmplx_ the type returned will be _real_ with the" +" same kind as the _real_ part of the input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:21 +msgid "Otherwise the returned type will be the same type as __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:25 +msgid "__abs(a)__ computes the absolute value of numeric argument __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:27 +msgid "" +"In mathematics, the absolute value or modulus of a real number __x__, " +"denoted __|x|__, is the magnitude of __x__ without regard to its sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:30 +msgid "" +"The absolute value of a number may be thought of as its distance from " +"zero, which is the definition used by __abs__(3) when dealing with " +"_complex_ values (_see below_)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:37 +msgid "" +"the type of the argument shall be an _integer_, _real_, or _complex_ " +"scalar or array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:42 +msgid "" +"If __a__ is of type _integer_ or _real_, the value of the result is " +"__|a|__ and of the same type and kind as the input argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ABS.md:45 +msgid "" +"(Take particular note) if __a__ is _complex_ with value __(x, y)__, the " +"result is a _real_ equal to a processor-dependent approximation to " +"__sqrt(x\\*\\*2 + y\\*\\*2)__ computed without undue overflow or " +"underflow." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:2 +msgid "aint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:5 +msgid "__aint__(3) - \\[NUMERIC\\] Truncate to a whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:16 +msgid "or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:27 +msgid "__aint(x, kind)__ truncates its argument to a whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:32 +#: ../../source/learn/intrinsics/_pages/ANINT.md:19 +msgid "the type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:40 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If the magnitude of __x__ is less " +"than one, __aint(x)__ returns zero. If the magnitude is equal to or " +"greater than one then it returns the largest whole number that does not " +"exceed its magnitude. The sign is the same as the sign of __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AINT.md:85 +msgid "" +"[__anint__(3)](ANINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:2 +msgid "anint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:5 +msgid "__anint__(3) - \\[NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:14 +msgid "__anint(a \\[, kind\\])__ rounds its argument to the nearest whole number." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:27 +msgid "" +"The return value is of type real with the kind type parameter of the " +"argument if the optional __kind__ is absent; otherwise, the kind type " +"parameter will be given by __kind__. If __a__ is greater than zero, " +"__anint(a)__ returns __aint(a + 0.5)__. If __a__ is less than or equal to" +" zero then it returns __aint(a - 0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ANINT.md:75 +msgid "" +"[__aint__(3)](AINT), [__int__(3)](INT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:2 +msgid "ceiling" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:5 +msgid "__ceiling__(3) - \\[NUMERIC\\] Integer ceiling function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:18 +msgid "__ceiling(a)__ returns the least integer greater than or equal to __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:31 +msgid "" +"The return value is of type __integer__(kind) if __kind__ is present and " +"a default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:34 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:37 +#: ../../source/learn/intrinsics/_pages/INT.md:49 +#: ../../source/learn/intrinsics/_pages/NINT.md:44 +msgid "" +"The result is undefined if it cannot be represented in the specified " +"integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:69 +msgid "[__floor__(3)](FLOOR), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CEILING.md:73 +#: ../../source/learn/intrinsics/_pages/FLOOR.md:85 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:2 +msgid "conjg" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:5 +msgid "__conjg__(3) - \\[NUMERIC\\] Complex conjugate of a complex value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:14 +msgid "where __K__ is the kind of the parameter __z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:18 +msgid "__conjg(z)__ returns the complex conjugate of the _complex_ value __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:20 +msgid "" +"In mathematics, the complex conjugate of a complex_ number is the number " +"with an equal real part and an imaginary part equal in magnitude but " +"opposite in sign." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:24 +msgid "That is, If __z__ is __(x, y)__ then the result is __(x, -y)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:26 +msgid "" +"For matrices of complex numbers, __conjg(array)__ represents the element-" +"by-element conjugation of __array__; not the conjugate transpose of " +"__array__ ." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:22 +#: ../../source/learn/intrinsics/_pages/CONJG.md:32 +msgid "__z__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:33 +msgid "The type shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CONJG.md:37 +msgid "The return value is of type _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:2 +msgid "dim" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:5 +msgid "__dim__(3) - \\[NUMERIC\\] Positive difference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:16 +#: ../../source/learn/intrinsics/_pages/SIGN.md:16 +msgid "" +"where TYPE may be _real_ or _integer_ and KIND is any supported kind for " +"the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:19 +msgid "" +"__dim(x,y)__ returns the difference __x - y__ if the result is positive; " +"otherwise it returns zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:25 +msgid "The type shall be _integer_ or _real_" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:28 +msgid "The type shall be the same type and kind as __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DIM.md:32 +msgid "" +"The return value is the same type and kind as the input arguments __x__ " +"and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:2 +msgid "dprod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:5 +msgid "__dprod__(3) - \\[NUMERIC\\] Double product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:14 +msgid "" +"__dprod(x,y)__ produces a higher _doubleprecision_ product of default " +"_real_ numbers __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:17 +msgid "" +"The result has a value equal to a processor-dependent approximation to " +"the product of __x__ and __y__. It is recommended that the processor " +"compute the product in double precision, rather than in single precision " +"and then converted to double precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:23 +#: ../../source/learn/intrinsics/_pages/DPROD.md:26 +msgid "shall be default real." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:28 +msgid "" +"The setting of compiler options specifying _real_ size can affect this " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:34 +msgid "Must be of default _real(kind=kind(0.0))_ type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:37 +msgid "Must have the same type and kind parameters as __x__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DPROD.md:41 +msgid "The return value is of type _real(kind=kind(0.0d0))_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:2 +msgid "floor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:5 +msgid "" +"__floor__(3) - \\[NUMERIC\\] function to return largest integral value " +"not greater than argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:19 +msgid "" +"__floor(a)__ returns the greatest integer less than or equal to __a__. " +"That is, it picks the whole number at or to the left of the value on the " +"scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:29 +msgid "" +"(Optional) A scalar _integer_ constant initialization expression " +"indicating the kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:34 +msgid "" +"The return value is of type _integer(kind)_ if __kind__ is present and of" +" default-kind _integer_ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/FLOOR.md:81 +msgid "[__ceiling__(3)](CEILING), [__nint__(3)](NINT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:2 +msgid "max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:5 +msgid "__max__(3) - \\[NUMERIC\\] Maximum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:13 +msgid "Returns the argument with the largest (most positive) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:17 +#: ../../source/learn/intrinsics/_pages/MIN.md:18 +msgid "__a1__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:18 +#: ../../source/learn/intrinsics/_pages/MIN.md:19 +msgid "The type shall be _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:20 +msgid "__a2,a3,...__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:21 +msgid "An expression of the same type and kind as __a1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:25 +msgid "" +"The return value corresponds to the maximum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:28 +msgid "" +"The function is both elemental and allows for an arbitrary number of " +"arguments. This means if some elements are scalar and some are arrays " +"that all the arrays must be of the same size, and the returned value will" +" be an array that is the result as if multiple calls were made with all " +"scalar values with a single element of each array used in each call. If " +"called with all arrays the returned array is the same as if multiple " +"calls were made with __max(arr1(1),arr2(1), ...)__ to " +"__max(arr1(N),arr2(N))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MAX.md:115 +msgid "[__maxloc__(3)](MAXLOC), [__maxval__(3)](MAXVAL), [__min__(3)](MIN)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:2 +msgid "min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:5 +msgid "__min__(3) - \\[NUMERIC\\] Minimum value of an argument list" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:14 +msgid "Returns the argument with the smallest (most negative) value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:21 +msgid "__a2, a3, \\`\\`\\`__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:22 +msgid "An expression of the same type and kind as __A1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:26 +msgid "" +"The return value corresponds to the minimum value among the arguments, " +"and has the same type and kind as the first argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MIN.md:52 +msgid "[__max__(3)](MAX), [__minloc__(3)](MINLOC), [__minval__(3)](MINVAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:2 +msgid "mod" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:5 +msgid "__mod__(3) - \\[NUMERIC\\] Remainder function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:14 +msgid "__mod__(a,p) computes the remainder of the division of __a__ by __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:19 +#: ../../source/learn/intrinsics/_pages/MODULO.md:19 +msgid "Shall be a scalar of type _integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:21 +#: ../../source/learn/intrinsics/_pages/MODULO.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:20 +msgid "__p__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__ and not equal to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:27 +msgid "" +"The return value is the result of __a - (int(a/p) \\* p)__. The type and " +"kind of the return value is the same as that of the arguments. The " +"returned value has the same sign as __a__ and a magnitude less than the " +"magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOD.md:76 +msgid "[__modulo__(3)](MODULO)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:2 +msgid "modulo" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:5 +msgid "__modulo__(3) - \\[NUMERIC\\] Modulo function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:14 +msgid "__modulo(a,p)__ computes the __a__ modulo __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:22 +msgid "" +"Shall be a scalar of the same type and kind as __a__. It shall not be " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:27 +msgid "The type and kind of the result are those of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:29 +msgid "" +"If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value " +"of __a - floor (real(a) / real(p)) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:32 +msgid "" +"If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of " +"__a - floor (a / p) \\* p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:35 +msgid "" +"The returned value has the same sign as __p__ and a magnitude less than " +"the magnitude of __p__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MODULO.md:70 +msgid "[__mod__(3)](MOD)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:2 +msgid "sign" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:5 +msgid "__sign__(3) - \\[NUMERIC\\] Sign copying function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SIGN.md:76 +msgid "####### fortran-lang intrinsic descriptions (license: MIT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:2 +msgid "cshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:5 +msgid "__cshift__(3) - \\[TRANSFORMATIONAL\\] Circular shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:14 +msgid "" +"__cshift(array, shift \\[, dim\\])__ performs a circular shift on " +"elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= dim \\<= n__, where \"n\" is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are shifted back in the other end." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CSHIFT.md:36 +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:49 +msgid "Returns an array of same type and rank as the __array__ argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:2 +msgid "dot\\_product" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:5 +msgid "__dot\\_product__(3) - \\[TRANSFORMATIONAL\\] Dot product function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:14 +msgid "" +"__dot\\_product(vector\\_a, vector\\_b)__ computes the dot product " +"multiplication of two vectors vector\\_a and vector\\_b. The two vectors " +"may be either numeric or logical and must be arrays of rank one and of " +"equal size. If the vectors are _integer_ or _real_, the result is " +"__sum(vector\\_a\\*vector\\_b)__. If the vectors are _complex_, the " +"result is __sum(conjg(vector\\_a)\\*vector\\_b)__. If the vectors are " +"_logical_, the result is __any(vector\\_a .and. vector\\_b)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:24 +msgid "__vector\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:25 +msgid "The type shall be numeric or _logical_, rank 1." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:27 +msgid "__vector\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:28 +msgid "" +"The type shall be numeric if vector\\_a is of numeric type or _logical_ " +"if vector\\_a is of type _logical_. vector\\_b shall be a rank-one array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DOT_PRODUCT.md:34 +msgid "" +"If the arguments are numeric, the return value is a scalar of numeric " +"type, _integer_, _real_, or _complex_. If the arguments are _logical_, " +"the return value is .true. or .false.." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:2 +msgid "eoshift" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:5 +msgid "__eoshift__(3) - \\[TRANSFORMATIONAL\\] End-off shift elements of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:14 +msgid "" +"__eoshift(array, shift\\[, boundary, dim\\])__ performs an end-off shift " +"on elements of __array__ along the dimension of __dim__. If __dim__ is " +"omitted it is taken to be __1__. __dim__ is a scalar of type _integer_ in" +" the range of __1 \\<= DIM \\<= n__ where __\"n\"__ is the rank of " +"__array__. If the rank of __array__ is one, then all elements of " +"__array__ are shifted by __shift__ places. If rank is greater than one, " +"then all complete rank one sections of __array__ along the given " +"dimension are shifted. Elements shifted out one end of each rank one " +"section are dropped. If __boundary__ is present then the corresponding " +"value of from __boundary__ is copied back in the other end. If " +"__boundary__ is not present then the following are copied in depending on" +" the type of __array__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:25 +msgid "\\*Array Type\\* - \\*Boundary Value\\*" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:27 +msgid "Numeric 0 of the type and kind of __array__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:29 +msgid "Logical .false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:31 +msgid "__Character(len)__ LEN blanks" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:36 +msgid "May be any type, not scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:41 +msgid "__boundary__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EOSHIFT.md:42 +msgid "Same type as ARRAY." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:2 +msgid "matmul" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:5 +msgid "__matmul__(3) - \\[TRANSFORMATIONAL\\] matrix multiplication" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:14 +msgid "Performs a matrix multiplication on numeric or logical arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:18 +msgid "__matrix\\_a__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:19 +msgid "" +"An array of _integer_, _real_, _complex_, or _logical_ type, with a rank " +"of one or two." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:22 +msgid "__matrix\\_b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:23 +msgid "" +"An array of _integer_, _real_, or _complex_ type if __matrix\\_a__ is of " +"a numeric type; otherwise, an array of _logical_ type. The rank shall be " +"one or two, and the first (or only) dimension of __matrix\\_b__ shall be " +"equal to the last (or only) dimension of __matrix\\_a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MATMUL.md:30 +msgid "" +"The matrix product of __matrix\\_a__ and __matrix\\_b__. The type and " +"kind of the result follow the usual type and kind promotion rules, as for" +" the \\* or .and. operators." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:2 +msgid "parity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:5 +msgid "__parity__(3) - \\[TRANSFORMATIONAL\\] Reduction with exclusive __OR__()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PARITY.md:17 +msgid "where KIND and LKIND are any supported kind for the type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:2 +msgid "null" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:5 +msgid "" +"__null__(3) - \\[TRANSFORMATIONAL\\] Function that returns a " +"disassociated pointer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:15 +msgid "Returns a disassociated pointer." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:17 +msgid "" +"If __mold__ is present, a disassociated pointer of the same type is " +"returned, otherwise the type is determined by context." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:20 +msgid "" +"In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ " +"includes cases where it is required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:23 +#: ../../source/learn/intrinsics/_pages/NULL.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:26 +msgid "__mold__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:25 +msgid "(Optional) shall be a pointer of any association status and of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:30 +msgid "A disassociated pointer or an unallocated allocatable entity." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NULL.md:116 +msgid "[__associated__(3)](ASSOCIATED)" +msgstr "" + +#: ../../source/learn/intrinsics/PARALLEL_index.md:1 +msgid "Parallel programming using co\\_arrays and co\\_indexed arrays" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:2 +msgid "co\\_broadcast" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:5 +msgid "" +"__co\\_broadcast__(3) - \\[COLLECTIVE\\] Copy a value to all images the " +"current set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:14 +msgid "" +"__co\\_broadcast(3)__ copies the value of argument __a__ on the image " +"with image index source\\_image to all images in the current team. __a__ " +"becomes defined as if by intrinsic assignment. If the execution was " +"successful and __stat__ is present, it is assigned the value zero. If the" +" execution failed, __stat__ gets assigned a nonzero value and, if " +"present, __errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:24 +msgid "" +"__intent(inout)__ argument; shall have the same dynamic type and type " +"parameters on all images of the current team. If it is an array, it shall" +" have the same shape on all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:28 +msgid "__source\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:29 +msgid "" +"a scalar integer expression. It shall have the same the same value on all" +" images and refer to an image of the current team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:41 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:38 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:36 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:32 +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:32 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:34 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:34 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:51 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:34 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:30 +msgid "__stat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:33 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:35 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:52 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:35 +msgid "(optional) a scalar integer variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:35 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:37 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:37 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:54 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:37 +msgid "__errmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:36 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:38 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:38 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:55 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:38 +msgid "(optional) a scalar character variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_BROADCAST.md:56 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_reduce__(3)](CO_REDUCE)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:2 +msgid "co\\_lbound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:5 +msgid "__co\\_lbound__(3) - \\[COLLECTIVE\\] Lower codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:14 +msgid "" +"Returns the lower bounds of a coarray, or a single lower cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:20 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:20 +msgid "Shall be an coarray, of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:23 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:23 +msgid "(Optional) Shall be a scalar _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:31 +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:31 +msgid "" +"The return value is of type _integer_ and of kind __kind__. If __kind__ " +"is absent, the return value is of default integer kind. If __dim__ is " +"absent, the result is an array of the lower cobounds of __coarray__. If " +"__dim__ is present, the result is a scalar corresponding to the lower " +"cobound of the array along that codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_LBOUND.md:43 +msgid "[__co\\_ubound__(3)](CO_UBOUND), [__lbound__(3)](LBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:2 +msgid "co\\_max" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:5 +msgid "" +"__co\\_max__(3) - \\[COLLECTIVE\\] Maximal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:14 +msgid "" +"co\\_max determines element-wise the maximal value of __a__ on all images" +" of the current team. If result\\_image is present, the maximum values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:26 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:26 +msgid "" +"shall be an integer, real or character variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:29 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:29 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:29 +msgid "__result\\_image__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:30 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:30 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:47 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:30 +msgid "" +"(optional) a scalar integer expression; if present, it shall have the " +"same the same value on all images and refer to an image of the current " +"team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:49 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:59 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:54 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:50 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:50 +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:62 +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:58 +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:92 +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:63 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:54 +msgid "TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MAX.md:66 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:2 +msgid "co\\_min" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:5 +msgid "" +"__co\\_min__(3) - \\[COLLECTIVE\\] Minimal value on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:14 +msgid "" +"co\\_min determines element-wise the minimal value of __a__ on all images" +" of the current team. If result\\_image is present, the minimal values " +"are returned in __a__ on the specified image only and the value of __a__ " +"on the other images become undefined. If result\\_image is not present, " +"the value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_MIN.md:62 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_sum__(3)](CO_SUM), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:2 +msgid "co\\_reduce" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:5 +msgid "" +"__co\\_reduce__(3) - \\[COLLECTIVE\\] Reduction of values on the current " +"set of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:14 +msgid "" +"co\\_reduce determines element-wise the reduction of the value of __a__ " +"on all images of the current team. The pure function passed as " +"__operation__ is used to pairwise reduce the values of __a__ by passing " +"either the value of __a__ of different images or the result values of " +"such a reduction as argument. If __a__ is an array, the reduction is done" +" element wise. If result\\_image is present, the result values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:30 +msgid "" +"is an __intent(inout)__ argument and shall be nonpolymorphic. If it is " +"allocatable, it shall be allocated; if it is a pointer, it shall be " +"associated. __a__ shall have the same type and type parameters on all " +"images of the team; if it is an array, it shall have the same shape on " +"all images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:36 +msgid "__operation__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:37 +msgid "" +"pure function with two scalar nonallocatable arguments, which shall be " +"nonpolymorphic and have the same type and type parameters as __a__. The " +"function shall return a nonallocatable scalar of the same type and type " +"parameters as __a__. The function shall be the same on all images and " +"with regards to the arguments mathematically commutative and associative." +" Note that OPERATION may not be an elemental" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:44 +msgid "__function, unless it is an intrinsic function.__ result\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:85 +msgid "" +"While the rules permit in principle an intrinsic function, none of the " +"intrinsics in the standard fulfill the criteria of having a specific " +"function, which takes two arguments of the same type and returning that " +"type as a result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_REDUCE.md:96 +msgid "" +"[__co\\_min__(3)](CO_MIN), [__co\\_max__(3)](CO_MAX), " +"[__co\\_sum__(3)](CO_SUM), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:2 +msgid "co\\_sum" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:5 +msgid "" +"__co\\_sum__(3) - \\[COLLECTIVE\\] Sum of values on the current set of " +"images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:14 +msgid "" +"co\\_sum sums up the values of each element of __a__ on all images of the" +" current team. If result\\_image is present, the summed-up values are " +"returned in __a__ on the specified image only and the value of __a__ on " +"the other images become undefined. If result\\_image is not present, the " +"value is returned on all images. If the execution was successful and " +"__stat__ is present, it is assigned the value zero. If the execution " +"failed, __stat__ gets assigned a nonzero value and, if present, " +"__errmsg__ gets assigned a value describing the occurred error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:26 +msgid "" +"shall be an integer, real or complex variable, which has the same type " +"and type parameters on all images of the team." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_SUM.md:67 +msgid "" +"[__co\\_max__(3)](CO_MAX), [__co\\_min__(3)](CO_MIN), " +"[__co\\_reduce__(3)](CO_REDUCE), [__co\\_broadcast__(3)](CO_BROADCAST)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:2 +msgid "co\\_ubound" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:5 +msgid "__co\\_ubound__(3) - \\[COLLECTIVE\\] Upper codimension bounds of an array" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:14 +msgid "" +"Returns the upper cobounds of a coarray, or a single upper cobound along " +"the __dim__ codimension." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CO_UBOUND.md:43 +msgid "" +"[__co\\_lbound__(3)](CO_LBOUND), [__lbound__(3)](LBOUND), " +"[__ubound__(3)](UBOUND)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:2 +msgid "event\\_query" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:5 +msgid "" +"__event\\_query__(3) - \\[COLLECTIVE\\] Query whether a coarray event has" +" occurred" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:14 +msgid "" +"__event\\_query__ assigns the number of events to __count__ which have " +"been posted to the __event__ variable and not yet been removed by calling" +" __event\\_wait__. When __stat__ is present and the invocation was " +"successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value and __count__ is " +"assigned the value __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:22 +msgid "__event__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:23 +msgid "" +"(intent(in)) Scalar of type event\\_type, defined in iso\\_fortran\\_env;" +" shall not be coindexed." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:25 +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:26 +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:42 +msgid "__count__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:27 +msgid "" +"(intent(out))Scalar integer with at least the precision of default " +"_integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EVENT_QUERY.md:31 +msgid "(OPTIONAL) Scalar default-kind _integer_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:2 +msgid "image\\_index" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:5 +msgid "" +"__image\\_index__(3) - \\[COLLECTIVE\\] Cosubscript to image index " +"conversion" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:14 +msgid "Returns the image index belonging to a cosubscript." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:23 +msgid "__coarray__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:19 +msgid "Coarray of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:21 +msgid "__sub__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:22 +msgid "default integer rank-1 array of a size equal to the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:27 +msgid "" +"Scalar default integer with the value of the image index which " +"corresponds to the cosubscripts. For invalid cosubscripts the result is " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IMAGE_INDEX.md:50 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__num\\_images__(3)](NUM_IMAGES)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:2 +msgid "num\\_images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:5 +msgid "__num\\_images__(3) - \\[COLLECTIVE\\] Number of images" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:14 +msgid "Returns the number of images." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:18 +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:19 +msgid "__distance__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:19 +msgid "(optional, __intent(in)__) Nonnegative scalar integer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:21 +msgid "__failed__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:22 +msgid "(optional, __intent(in)__) Scalar logical expression" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:26 +msgid "" +"Scalar default-kind _integer_. If __distance__ is not present or has " +"value 0, the number of images in the current team is returned. For values" +" smaller or equal distance to the initial team, it returns the number of " +"images index on the ancestor team which has a distance of __distance__ " +"from the invoking team. If __distance__ is larger than the distance to " +"the initial team, the number of images of the initial team is returned. " +"If __failed__ is not present the total number of images is returned; if " +"it has the value .true., the number of failed images is returned, " +"otherwise, the number of images which do have not the failed status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:59 +msgid "" +"Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or " +"later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NUM_IMAGES.md:63 +msgid "[__this\\_image__(3)](THIS_IMAGE), [__image\\_index__(3)](THIS_INDEX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:2 +msgid "this\\_image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:5 +msgid "__this\\_image__(3) - \\[COLLECTIVE\\] Cosubscript index of this image" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:15 +msgid "Returns the cosubscript for this image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:20 +msgid "" +"(optional, __intent(in)__) Nonnegative scalar integer (not permitted " +"together with __coarray__)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:24 +msgid "Coarray of any type (optional; if __dim__ present, required)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:27 +msgid "" +"default integer scalar (optional). If present, __dim__ shall be between " +"one and the corank of __coarray__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:32 +msgid "" +"Default integer. If __coarray__ is not present, it is scalar; if " +"__distance__ is not present or has value __0__, its value is the image " +"index on the invoking image for the current team, for values smaller or " +"equal distance to the initial team, it returns the image index on the " +"ancestor team which has a distance of __distance__ from the invoking " +"team. If __distance__ is larger than the distance to the initial team, " +"the image index of the initial team is returned. Otherwise when the " +"__coarray__ is present, if __dim__ is not present, a rank-1 array with " +"corank elements is returned, containing the cosubscripts for __coarray__ " +"specifying the invoking image. If __dim__ is present, a scalar is " +"returned, with the value of the __dim__ element of " +"__this\\_image(coarray)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/THIS_IMAGE.md:66 +msgid "" +"! ! Check whether the current image is the initial image if " +"(this_image(huge(1)) /= this_image()) error stop \"something is rotten " +"here\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:2 +msgid "atomic\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:5 +msgid "" +"__atomic\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise AND " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:14 +msgid "" +"__atomic\\_and(atom, value)__ atomically defines __atom__ with the " +"bitwise __and__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value 0. If it is present and the invocation has failed, it is assigned " +"a positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:23 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:24 +msgid "__atom__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:26 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:25 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:24 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:28 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:32 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:34 +msgid "__value__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:28 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:35 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:29 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:25 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:29 +msgid "" +"Scalar of the same type as __atom__. If the kind is different, the value " +"is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:42 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:39 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:37 +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:33 +msgid "(optional) Scalar default-kind integer variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_AND.md:53 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:2 +msgid "atomic\\_fetch\\_and" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:5 +msgid "" +"__atomic\\_fetch\\_and__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise AND operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:14 +msgid "" +"__atomic\\_fetch\\_and(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise AND between " +"the values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:31 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:33 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:33 +msgid "__old__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:32 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:34 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:34 +msgid "Scalar of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md:65 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:65 +msgid "[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:2 +msgid "atomic\\_fetch\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:5 +msgid "" +"__atomic\\_fetch\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise" +" OR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:14 +msgid "" +"__atomic\\_fetch\\_or(atom, value, old)__ atomically stores the value of " +"__atom__ in __old__ and defines __atom__ with the bitwise OR between the " +"values of __atom__ and __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's stat\\_stopped\\_image" +" and if the remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), [__atomic\\_or__(3)](ATOMIC_OR)," +" [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md:62 +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:62 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:2 +msgid "atomic\\_fetch\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:5 +msgid "" +"__atomic\\_fetch\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic " +"bitwise XOR operation with prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:14 +msgid "" +"__atomic\\_fetch\\_xor(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and defines __atom__ with the bitwise __xor__ " +"between the values of __atom__ and __value__. When __stat__ is present " +"and the invocation was successful, it is assigned the value __0__. If it " +"is present and the invocation has failed, it is assigned a positive " +"value; in particular, for a coindexed __atom__, if the remote image has " +"stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_xor__(3)](ATOMIC_XOR), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md:65 +msgid "[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:2 +msgid "atomic\\_or" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:5 +msgid "" +"__atomic\\_or__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:14 +msgid "" +"__atomic\\_or(atom, value)__ atomically defines __atom__ with the bitwise" +" __or__ between the values of __atom__ and __value__. When __stat__ is " +"present and the invocation was successful, it is assigned the value " +"__0__. If it is present and the invocation has failed, it is assigned a " +"positive value; in particular, for a coindexed __atom__, if the remote " +"image has stopped, it is assigned the value of iso\\_fortran\\_env's " +"stat\\_stopped\\_image and if the remote image has failed, the value " +"stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:57 +msgid "" +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_OR.md:61 +msgid "[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:2 +msgid "atomic\\_xor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:5 +msgid "" +"__atomic\\_xor__(3) - \\[ATOMIC:BIT MANIPULATION\\] Atomic bitwise OR " +"operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:14 +msgid "" +"__atomic\\_xor(atom, value)__ atomically defines __atom__ with the " +"bitwise __xor__ between the values of __atom__ and __value__. When " +"__stat__ is present and the invocation was successful, it is assigned the" +" value __0__. If it is present and the invocation has failed, it is " +"assigned a positive value; in particular, for a coindexed __atom__, if " +"the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_XOR.md:54 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_FETCH), " +"[__iso\\_fortran\\_env__(3)](), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_or__(3)](ATOMIC_OR), [__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:2 +msgid "atomic\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:5 +msgid "__atomic\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:13 +msgid "" +"__atomic\\_ad(atom, value)__ atomically adds the value of VAR to the " +"variable __atom__. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed ATOM, if the remote image has stopped, it is assigned the" +" value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote " +"image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_ADD.md:53 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_fetch\\_add__(3)](ATOMIC_FETCH), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR) __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:2 +msgid "atomic\\_cas" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:5 +msgid "__atomic\\_cas__(3) - \\[ATOMIC\\] Atomic compare and swap" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:14 +msgid "" +"atomic\\_cas compares the variable __atom__ with the value of " +"__compare__; if the value is the same, __atom__ is set to the value of " +"__new__. Additionally, __old__ is set to the value of __atom__ that was " +"used for the comparison. When __stat__ is present and the invocation was " +"successful, it is assigned the value 0. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:27 +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:30 +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:29 +msgid "" +"Scalar coarray or coindexed variable of either integer type with " +"atomic\\_int\\_kind kind or logical type with atomic\\_logical\\_kind " +"kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:34 +msgid "__compare__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:35 +msgid "Scalar variable of the same type and kind as __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:37 +msgid "__new__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:38 +msgid "" +"Scalar variable of the same type as __atom__. If kind is different, the " +"value is converted to the kind of __atom__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_CAS.md:63 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_ref__(3)](ATOMIC_REF), [__iso\\_fortran\\_env__(3)]()" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:2 +msgid "atomic\\_define" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:5 +msgid "__atomic\\_define__(3) - \\[ATOMIC\\] Setting a variable atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:19 +msgid "" +"__atomic\\_define(atom, value)__ defines the variable __atom__ with the " +"value __value__ atomically. When __stat__ is present and the invocation " +"was successful, it is assigned the value __0__. If it is present and the " +"invocation has failed, it is assigned a positive value; in particular, " +"for a coindexed __atom__, if the remote image has stopped, it is assigned" +" the value of iso\\_fortran\\_env's stat\\_stopped\\_image and if the " +"remote image has failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:55 +msgid "Fortran 2008 and later; with __stat__, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_DEFINE.md:59 +msgid "" +"[__atomic\\_ref__(3)](ATOMIC_REF), [__atomic\\_cas__(3)](ATOMIC_CAS), " +"__iso\\_fortran\\_env__(3), [__atomic\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_and__(3)](ATOMIC_AND), [__atomic\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:2 +msgid "atomic\\_fetch\\_add" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:5 +msgid "" +"__atomic\\_fetch\\_add__(3) - \\[ATOMIC\\] Atomic ADD operation with " +"prior fetch" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:14 +msgid "" +"__atomic\\_fetch\\_add(atom, value, old)__ atomically stores the value of" +" __atom__ in __old__ and adds the value of __var__ to the variable " +"__atom__. When __stat__ is present and the invocation was successful, it " +"is assigned the value __0__. If it is present and the invocation has " +"failed, it is assigned a positive value; in particular, for a coindexed " +"__atom__, if the remote image has stopped, it is assigned the value of " +"iso\\_fortran\\_env's stat\\_stopped\\_image and if the remote image has " +"failed, the value stat\\_failed\\_image." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:26 +msgid "" +"Scalar coarray or coindexed variable of integer type with " +"atomic\\_int\\_kind kind. atomic\\_logical\\_kind kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:58 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_add__(3)](ATOMIC_ADD), __iso\\_fortran\\_env__(3)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md:62 +msgid "" +"[__atomic\\_fetch\\_and__(3)](ATOMIC_FETCH_AND), " +"[__atomic\\_fetch\\_or__(3)](ATOMIC_FETCH_OR)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:2 +msgid "atomic\\_ref" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:5 +msgid "" +"__atomic\\_ref__(3) - \\[ATOMIC\\] Obtaining the value of a variable " +"atomically" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:14 +msgid "" +"__atomic\\_ref(value, atom)__ atomically assigns the value of the " +"variable __atom__ to __value__. When __stat__ is present and the " +"invocation was successful, it is assigned the value __0__. If it is " +"present and the invocation has failed, it is assigned a positive value; " +"in particular, for a coindexed __atom__, if the remote image has stopped," +" it is assigned the value of iso\\_fortran\\_env's " +"__stat\\_stopped\\_image__ and if the remote image has failed, the value " +"__stat\\_failed\\_image__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:57 +msgid "Fortran 2008 and later; with STAT, TS 18508 or later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:61 +msgid "" +"[__atomic\\_define__(3)](ATOMIC_DEFINE), " +"[__atomic\\_cas__(3)](ATOMIC_CAS), [__iso\\_fortran\\_env__(3)]()," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:65 +msgid "" +"[__atomic\\_fetch\\_add__(3)](ATOMIC_ADD), " +"[__atomic\\_fetch\\_and__(3)](ATOMIC_AND)," +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ATOMIC_REF.md:68 +msgid "" +"[__atomic\\_fetch\\_or__(3)](ATOMIC_OR), " +"[__atomic\\_fetch\\_xor__(3)](ATOMIC_XOR)" +msgstr "" + +#: ../../source/learn/intrinsics/STATE_index.md:1 +msgid "General and miscellaneous intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:2 +msgid "associated" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:5 +msgid "__associated__(3) - \\[STATE\\] Status of a pointer or pointer/target pair" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:14 +msgid "" +"__associated(pointer \\[, target\\])__ determines the status of the " +"pointer __pointer__ or if __pointer__ is associated with the target " +"__target__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:19 +msgid "__pointer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:20 +msgid "__pointer__ shall have the _pointer_ attribute and it can be of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:22 +msgid "__target__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:23 +msgid "" +"(Optional) __target__ shall be a pointer or a target. It must have the " +"same type, kind type parameter, and array rank as __pointer__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:26 +msgid "" +"The association status of neither __pointer__ nor __target__ shall be " +"undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:30 +msgid "" +"__associated(pointer)__ returns a scalar value of type _logical_. There " +"are several cases:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:33 +msgid "" +"When the optional __target__ is not present then __associated(pointer)__ " +"is true if __pointer__ is associated with a target; otherwise, it returns" +" false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:37 +msgid "" +"If __target__ is present and a scalar target, the result is true if " +"__target__ is not a zero-sized storage sequence and the target associated" +" with __pointer__ occupies the same storage units. If __pointer__ is " +"disassociated, the result is false." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:42 +msgid "" +"If __target__ is present and an array target, the result is true if " +"__target__ and __pointer__ have the same shape, are not zero-sized " +"arrays, are arrays whose elements are not zero-sized storage sequences, " +"and __target__ and __pointer__ occupy the same storage units in array " +"element order." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:48 +msgid "As in case 2, the result is false, if __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:50 +msgid "" +"If __target__ is present and an scalar pointer, the result is true if " +"__target__ is associated with __pointer__, the target associated with " +"__target__ are not zero-sized storage sequences and occupy the same " +"storage units." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:55 +msgid "" +"The result is __.false.__, if either __target__ or __pointer__ is " +"disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:57 +msgid "" +"If __target__ is present and an array pointer, the result is true if " +"target associated with __pointer__ and the target associated with " +"__target__ have the same shape, are not zero-sized arrays, are arrays " +"whose elements are not zero-sized storage sequences, and __target__ and " +"__pointer__ occupy the same storage units in array element order. The " +"result is false, if either __target__ or __pointer__ is disassociated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/ASSOCIATED.md:86 +msgid "[__null__(3)](NULL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:2 +msgid "extends\\_type\\_of" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:5 +msgid "" +"__extends\\_type\\_of__(3) - \\[STATE\\] determine if the dynamic type of" +" __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:14 +msgid "" +"__extends\\_type\\_of__(3) is __.true.__ if and only if the dynamic type " +"of __a__ is an extension of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:17 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:27 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:25 +msgid "__Options__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:20 +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:24 +msgid "" +"shall be an object of extensible type. If it is a pointer, it shall not " +"have an undefined association status." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:30 +msgid "Default logical scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:33 +msgid "" +"If __mold__ is unlimited polymorphic and is either a disassociated " +"pointer or unallocated allocatable variable, the result is true; " +"otherwise if __a__ is unlimited polymorphic and is either a disassociated" +" pointer or unallocated allocatable variable, the result is false; " +"otherwise the result is true if and only if the dynamic type of __a__ is " +"an extension type of the dynamic type of __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md:40 +msgid "" +"The dynamic type of a disassociated pointer or unallocated allocatable " +"variable is its declared type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:2 +msgid "is\\_iostat\\_end" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:5 +msgid "__is\\_iostat\\_end__(3) - \\[STATE\\] Test for end-of-file value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:17 +msgid "" +"is\\_iostat\\_end(3) tests whether a variable (assumed returned as a " +"status from an I/O statement) has the \"end of file\" I/O status value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:20 +msgid "" +"The function is equivalent to comparing the variable with the " +"__iostat\\_end__ parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:26 +msgid "An _integer_ status value to test if indicating end of file." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_END.md:30 +msgid "" +"Returns a _logical_ of the default kind, __.true.__ if __i__ has the " +"value which indicates an end of file condition for __iostat=__ " +"specifiers, and is __.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:2 +msgid "is\\_iostat\\_eor" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:5 +msgid "__is\\_iostat\\_eor__(3) - \\[STATE\\] Test for end-of-record value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:14 +msgid "" +"is\\_iostat\\_eor tests whether an variable has the value of the I/O " +"status \"end of record\". The function is equivalent to comparing the " +"variable with the iostat\\_eor parameter of the intrinsic module " +"__iso\\_fortran\\_env__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:22 +msgid "Shall be of the type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md:26 +msgid "" +"Returns a _logical_ of the default kind, which .true. if __i__ has the " +"value which indicates an end of file condition for iostat= specifiers, " +"and is .false. otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:2 +msgid "move\\_alloc" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:5 +msgid "__move\\_alloc__(3) - \\[\\] Move allocation from one object to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:14 +msgid "" +"__move\\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC " +"will become deallocated in the process." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:19 +msgid "__src__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:20 +msgid "allocatable, __intent(inout)__, may be of any type and kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:22 +msgid "__dest__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:23 +msgid "" +"allocatable, __intent(out)__, shall be of the same type, kind and rank as" +" SRC." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:28 +msgid "Basic Sample program to allocate a bigger grid" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/MOVE_ALLOC.md:70 +msgid "[__allocated__(3)](ALLOCATED)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:2 +msgid "present" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:5 +msgid "" +"__present__(3) - [STATE\\] Determine whether an optional dummy argument" +" is specified" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:17 +msgid "Determines whether an optional dummy argument is present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:22 +msgid "" +"May be of any type and may be a pointer, scalar or array value, or a " +"dummy procedure. It shall be the name of an optional dummy argument " +"accessible within the current subroutine or function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/PRESENT.md:28 +msgid "" +"Returns either __.true.__ if the optional argument __a__ is present, or " +"__.false.__ otherwise." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:2 +msgid "same\\_type\\_as" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:5 +msgid "__same\\_type\\_as__(3) - \\[STATE\\] Query dynamic types for equality" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:14 +msgid "Query dynamic types for equality." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:19 +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:23 +msgid "Shall be an object of extensible declared type or unlimited polymorphic." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:22 +msgid "__b__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:28 +msgid "" +"The return value is a scalar of type default logical. It is true if and " +"only if the dynamic type of __a__ is the same as the dynamic type of " +"__b__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SAME_TYPE_AS.md:37 +msgid "[__extends\\_type\\_of__(3)](EXTENDS_TYPE_OF)" +msgstr "" + +#: ../../source/learn/intrinsics/SYSTEM_index.md:1 +msgid "Accessing external system information" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:2 +msgid "command\\_argument\\_count" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:5 +msgid "" +"__command\\_argument\\_count__(3) - \\[SYSTEM:COMMAND LINE\\] Get number " +"of command line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:16 +msgid "" +"__command\\_argument\\_count()__ returns the number of arguments passed" +" on the command line when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:21 +msgid "None" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:26 +msgid "" +"The return value is of type default _integer_. It is the number of " +"arguments passed on the command line when the program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:42 +msgid "Sample output:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md:60 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:2 +msgid "get\\_command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:5 +msgid "" +"__get\\_command__(3) - \\[SYSTEM:COMMAND LINE\\] Get the entire command " +"line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:18 +msgid "Retrieve the entire command line that was used to invoke the program." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:20 +msgid "" +"Note that what is typed on the command line is often processed by a " +"shell. The shell typically processes special characters and white space " +"before passing it to the program. The processing can typically be turned " +"off by turning off globbing or quoting the command line arguments and/or " +"changing the default field separators, but this should rarely be " +"necessary." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:42 +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:29 +msgid "__command__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:30 +msgid "" +"Shall be of type _character_ and of default kind. If __command__ is " +"present, stores the entire command line that was used to invoke the " +"program in __command__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:34 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:42 +msgid "__length__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:35 +msgid "" +"Shall be of type _integer_ and of default kind. If __length__ is present," +" it is assigned the length of the command line." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:38 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:48 +msgid "__status__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:39 +msgid "" +"Shall be of type _integer_ and of default kind. If __status__ is present," +" it is assigned 0 upon success of the command, __-1__ if __command__ is " +"too short to store the command line, or a positive value in case of an " +"error." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND.md:83 +msgid "" +"[__get\\_command\\_argument__(3)](GET_COMMAND_ARGUMENT), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:2 +msgid "get\\_command\\_argument" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:5 +msgid "" +"__get\\_command\\_argument__(3) - \\[SYSTEM:COMMAND LINE\\] Get command " +"line arguments" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:19 +msgid "" +"Retrieve the __number__-th argument that was passed on the command line " +"when the containing program was invoked." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:22 +msgid "" +"There is not anything specifically stated about what an argument is but " +"in practice the arguments are split on whitespace unless the arguments " +"are quoted and IFS values (Internal Field Separators) used by common " +"shells are ignored." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:29 +msgid "__number__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:30 +msgid "" +"Shall be a scalar of type __integer__, __number \\>= 0__. If __number = " +"0__, __value__ is set to the name of the program (on systems that support" +" this feature)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:36 +msgid "" +"__value__ :Shall be a scalar of type _character_ and of default kind. " +"After get\\_command\\_argument returns, the __value__ argument holds the " +"__number__-th command line argument. If __value__ can not hold the " +"argument, it is truncated to fit the length of __value__. If there are " +"less than __number__ arguments specified at the command line, __value__ " +"will be filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:44 +msgid "" +"__length__ :(Optional) Shall be a scalar of type _integer_. The " +"__length__ argument contains the length of the __number__-th command line" +" argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:48 +msgid "" +"__status__ :(Optional) Shall be a scalar of type _integer_. If the " +"argument retrieval fails, __status__ is a positive number; if __value__ " +"contains a truncated command line argument, __status__ is __-1__; and " +"otherwise the __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md:125 +msgid "" +"[__get\\_command__(3)](GET_COMMAND), " +"[__command\\_argument\\_count__(3)](COMMAND_ARGUMENT_COUNT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:2 +msgid "cpu\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:5 +msgid "__cpu\\_time__(3) - \\[SYSTEM:TIME\\] return CPU processor time in seconds" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:14 +msgid "" +"Returns a _real_ value representing the elapsed CPU time in seconds. This" +" is useful for testing segments of code to determine execution time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:17 +msgid "" +"The exact definition of time is left imprecise because of the variability" +" in what different processors are able to provide." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:20 +msgid "If no time source is available, TIME is set to a negative value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:22 +msgid "" +"Note that TIME may contain a system dependent, arbitrary offset and may " +"not start with 0.0. For cpu\\_time the absolute value is meaningless. " +"Only differences between subsequent calls, as shown in the example below," +" should be used." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:27 +msgid "" +"A processor for which a single result is inadequate (for example, a " +"parallel processor) might choose to provide an additional version for " +"which time is an array." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:33 +msgid "__TIME__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:34 +msgid "" +"The type shall be _real_ with __intent(out)__. It is assigned a " +"processor-dependent approximation to the processor time in seconds. If " +"the processor cannot return a meaningful time, a processor-dependent " +"negative value" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:39 +msgid "" +"__is returned.__ The start time is left imprecise because the purpose is " +"to time sections of code, as in the example. This might or might not " +"include system overhead time." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CPU_TIME.md:71 +msgid "" +"[__system\\_clock__(3)](SYSTEM_CLOCK), " +"[__date\\_and\\_time__(3)](DATE_AND_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:2 +msgid "date\\_and\\_time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:5 +msgid "__date\\_and\\_time__(3) - \\[SYSTEM:TIME\\] gets current time" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:18 +msgid "" +"__date\\_and\\_time(date, time, zone, values)__ gets the corresponding " +"date and time information from the real-time system clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:21 +msgid "Unavailable time and date _character_ parameters return blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:25 +msgid "__date__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:26 +msgid "" +"A character string of default kind of the form CCYYMMDD, of length 8 or " +"larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:28 +msgid "__time__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:29 +msgid "" +"A character string of default kind of the form HHMMSS.SSS, of length 10 " +"or larger." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:31 +msgid "__zone__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:32 +msgid "" +"A character string of default kind of the form (+-)HHMM, of length 5 or " +"larger, representing the difference with respect to Coordinated Universal" +" Time (UTC)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:35 +msgid "__values__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:36 +msgid "An _integer_ array of eight elements that contains:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:38 +msgid "__values__(1)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:39 +msgid ": The year" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:40 +msgid "__values__(2)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:41 +msgid ": The month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:42 +msgid "__values__(3)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:43 +msgid ": The day of the month" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:44 +msgid "__values__(4)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:45 +msgid ": Time difference with UTC in minutes" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:46 +msgid "__values__(5)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:47 +msgid ": The hour of the day" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:48 +msgid "__values__(6)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:49 +msgid ": The minutes of the hour" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:50 +msgid "__values__(7)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:51 +msgid ": The seconds of the minute" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:52 +msgid "__values__(8)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:53 +msgid ": The milliseconds of the second" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:103 +msgid "[__cpu\\_time__(3)](CPU_TIME), [__system\\_clock__(3)](SYSTEM_CLOCK)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:107 +msgid "date and time conversion, formatting and computation" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:109 +msgid "[M_time](https://github.com/urbanjost/M_time)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:110 +msgid "[datetime](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DATE_AND_TIME.md:111 +msgid "[datetime-fortran](https://github.com/wavebitscientific/datetime-fortran)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:2 +msgid "system_clock" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:5 +msgid "" +"__system\\_clock__(3) - \\[SYSTEM:TIME\\] Return numeric data from a " +"real-time clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:20 +msgid "" +"__system\\_clock__ lets you measure durations of time with the precision " +"of the smallest time increment generally available on a system by " +"returning processor-dependent values based on the current value of the " +"processor clock. The __clock__ value is incremented by one for each clock" +" count until the value __count\\_max__ is reached and is then reset to " +"zero at the next count. __clock__ therefore is a modulo value that lies " +"in the range __0 to count\\_max__. __count\\_rate__ and __count\\_max__ " +"are assumed constant (even though CPU rates can vary on a single " +"platform)." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:29 +msgid "" +"__count\\_rate__ is system dependent and can vary depending on the kind " +"of the arguments." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:32 +msgid "" +"If there is no clock, or querying the clock fails, __count__ is set to " +"__-huge(count)__, and __count\\_rate__ and __count\\_max__ are set to " +"zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:35 +msgid "" +"__system\\_clock__ is typically used to measure short time intervals " +"(system clocks may be 24-hour clocks or measure processor clock ticks " +"since boot, for example). It is most often used for measuring or tracking" +" the time spent in code blocks in lieu of using profiling tools." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:43 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned a processor-" +"dependent value based on the current value of the processor clock, or " +"__-huge(count)__ if there is no clock. The processor-dependent value is " +"incremented by one for each clock count until the value __count\\_max__ " +"is reached and is reset to zero at the next count. It lies in the range " +"__0__ to __count\\_max__ if there is a clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:51 +msgid "__count\\_rate__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:52 +msgid "" +"(optional) shall be an _integer_ or _real_ scalar. It is assigned a " +"processor-dependent approximation to the number of processor clock counts" +" per second, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:56 +msgid "__count\\_max__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:57 +msgid "" +"(optional) shall be an _integer_ scalar. It is assigned the maximum value" +" that __COUNT__ can have, or zero if there is no clock." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:82 +msgid "" +"If the processor clock is a 24-hour clock that registers time at " +"approximately 18.20648193 ticks per second, at 11:30 A.M. the reference" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:87 +msgid "defines" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SYSTEM_CLOCK.md:100 +msgid "[__date\\_and\\_time__(3)](DATE_AND_TIME), [__cpu\\_time__(3)](CPU_TIME)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:2 +msgid "execute\\_command\\_line" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:5 +msgid "" +"__execute\\_command\\_line__(3) - \\[SYSTEM:PROCESSES\\] Execute a shell " +"command" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:20 +msgid "" +"The __command__ argument is passed to the shell and executed. (The shell " +"is generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If " +"__wait__ is present and has the value __.false.__, the execution of the " +"command is asynchronous if the system supports it; otherwise, the command" +" is executed synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:26 +msgid "" +"The three last arguments allow the user to get status information. After " +"synchronous execution, __exitstat__ contains the integer exit code of the" +" command, as returned by __system__. __cmdstat__ is set to zero if the " +"command line was executed (whatever its exit status was). __cmdmsg__ is " +"assigned an error message if an error has occurred." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:32 +msgid "" +"Note that the system call need not be thread-safe. It is the " +"responsibility of the user to ensure that the system is not called " +"concurrently if required." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:36 +msgid "" +"When the command is executed synchronously, __execute\\_command\\_line__ " +"returns after the command line has completed execution. Otherwise, " +"__execute\\_command\\_line__ returns without waiting." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:43 +msgid "" +"a default _character_ scalar containing the command line to be executed. " +"The interpretation is programming-environment dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:46 +msgid "__wait__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:47 +msgid "" +"(Optional) a default _logical_ scalar. If __wait__ is present with the " +"value .false., and the processor supports asynchronous execution of the " +"command, the command is executed asynchronously; otherwise it is executed" +" synchronously." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:52 +msgid "__exitstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:53 +msgid "" +"(Optional) an _integer_ of the default kind with __intent(inout)__. If " +"the command is executed synchronously, it is assigned the value of the " +"processor-dependent exit status. Otherwise, the value of __exitstat__ is " +"unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:58 +msgid "__cmdstat__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:59 +msgid "" +"(Optional) an _integer_ of default kind with __intent(inout)__. If an " +"error condition occurs and __cmdstat__ is not present, error termination " +"of execution of the image is initiated." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:63 +msgid "" +"It is assigned the value __-1__ if the processor does not support command" +" line execution, a processor-dependent positive value if an error " +"condition occurs, or the value __-2__ if no error condition occurs but " +"__wait__ is present with the value false and the processor does not " +"support asynchronous execution. Otherwise it is assigned the value 0." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:70 +msgid "__cmdmsg__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:71 +msgid "" +"(Optional) a _character_ scalar of the default kind. It is an __intent " +"(inout)__ argument.If an error condition occurs, it is assigned a " +"processor-dependent explanatory message.Otherwise, it is unchanged." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md:94 +msgid "" +"Because this intrinsic is making a system call, it is very system " +"dependent. Its behavior with respect to signaling is processor dependent." +" In particular, on POSIX-compliant systems, the SIGINT and SIGQUIT " +"signals will be ignored, and the SIGCHLD will be blocked. As such, if the" +" parent process is terminated, the child process might not be terminated " +"alongside." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:2 +msgid "get\\_environment" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:5 +msgid "" +"__get\\_environment\\_variable__(3) - \\[SYSTEM:ENVIRONMENT\\] Get an " +"environmental variable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:19 +msgid "Get the __value__ of the environmental variable __name__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:21 +msgid "" +"Note that __get\\_environment\\_variable__(3) need not be thread-safe. It" +" is the responsibility of the user to ensure that the environment is not " +"being updated concurrently." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:27 +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:22 +msgid "__name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:28 +msgid "The name of the environment variable to query." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:30 +msgid "Shall be a scalar of type _character_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:35 +msgid "The value of the environment variable being queried." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:37 +msgid "" +"Shall be a scalar of type _character_ and of default kind. The value of " +"__name__ is stored in __value__. If __value__ is not large enough to hold" +" the data, it is truncated. If __name__ is not set, __value__ will be " +"filled with blanks." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:43 +msgid "" +"Argument __length__ contains the length needed for storing the " +"environment variable __name__ or zero if it is not present." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:46 +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:54 +msgid "Shall be a scalar of type _integer_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:49 +msgid "" +"__status__ is __-1__ if __value__ is present but too short for the " +"environment variable; it is __1__ if the environment variable does not " +"exist and __2__ if the processor does not support environment variables; " +"in all other cases __status__ is zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:56 +msgid "__trim\\_name__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:57 +msgid "" +"If __trim\\_name__ is present with the value __.false.__, the trailing " +"blanks in __name__ are significant; otherwise they are not part of the " +"environment variable name." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md:61 +msgid "Shall be a scalar of type _logical_ and of default kind." +msgstr "" + +#: ../../source/learn/intrinsics/TRANSFORM_index.md:1 +msgid "Matrix multiplication, dot product, and array shifts" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:1 +msgid "Types and kinds" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:3 +msgid "" +"These intrinsics allow for explicitly casting one type of variable to " +"another or can be used to conditionally execute code blocks based on " +"variable types when working with polymorphic variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:7 +msgid "Fortran Data Types" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:9 +msgid "Fortran provides five basic intrinsic data types:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:11 +msgid "Integer type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:12 +msgid "The integer types can hold only whole number values." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:13 +msgid "Real type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:14 +msgid "Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:15 +msgid "Complex type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:16 +msgid "" +"A complex number has two parts, the real part and the imaginary part. Two" +" consecutive floating point storage units store the two parts." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:19 +msgid "Logical type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:20 +msgid "There are only two logical values: .true. and .false." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:21 +msgid "Character type" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:22 +msgid "" +"The character type stores strings. The length of the string can be " +"specified by the __len__ specifier. If no length is specified, it is 1." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:25 +msgid "" +"These \"types\" can be of many \"kinds\". Often different numeric kinds " +"take up different storage sizes and therefore can represent different " +"ranges; but a different kind can have other meanings. A _character_ " +"variable might represent ASCII characters or UTF-8 or Unicode characters," +" for example." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:31 +msgid "You can derive your own data types from these fundamental types as well." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:33 +msgid "Implicit Typing" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:35 +msgid "" +"Fortran allows a feature called implicit typing, i.e., you do not have to" +" declare some variables before use. By default if a variable is not " +"declared, then the first letter of its name will determine its type:" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:39 +msgid "" +"Variable names starting with __i-n__ (the first two letters of " +"\"integer\") specify _integer_ variables." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:42 +msgid "All other variable names default to _real_." +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:45 +msgid "" +"However, in most circles it is considered good programming practice to " +"declare all the variables. For that to be enforced, you start your " +"variable declaration section with a statement that turns off implicit " +"typing: the statement" +msgstr "" + +#: ../../source/learn/intrinsics/TYPE_index.md:52 +msgid "For more information refer to the __implicit__ statement." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:2 +msgid "aimag" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:5 +msgid "__aimag__(3) - \\[TYPE:NUMERIC\\] Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:18 +msgid "__aimag(z)__ yields the imaginary part of complex argument __z__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:23 +msgid "The type of the argument shall be _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/AIMAG.md:27 +msgid "" +"The return value is of type _real_ with the kind type parameter of the " +"argument." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:2 +msgid "cmplx" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:5 +msgid "__cmplx__(3) - \\[TYPE:NUMERIC\\] Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:19 +msgid "" +"To convert numeric variables to complex, use the __cmplx__(3) function. " +"Constants can be used to define a complex variable using the syntax" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:26 +msgid "" +"but this will not work for variables. You must use the __cmplx__(3) " +"function." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:28 +msgid "" +"__cmplx(x \\[, y \\[, kind\\]\\])__ returns a complex number where __x__ " +"is converted to the _real_ component. If __x__ is _complex_ then __y__ " +"must not be present. If __y__ is present it is converted to the imaginary" +" component. If __y__ is not present then the imaginary component is set " +"to __0.0__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:33 +msgid "__cmplx(3) and double precision__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:35 +msgid "" +"The Fortran 90 language defines __cmplx__(3) as always returning a result" +" that is type __complex(kind=KIND(0.0))__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:38 +msgid "" +"This means \\`__cmplx(d1,d2)__', where __\\`d1'__ and __\\`d2'__ are " +"_doubleprecision_, is treated as: fortran" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:45 +msgid "_doubleprecision complex_ numbers require specifying a precision." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:47 +msgid "" +"It was necessary for Fortran 90 to specify this behavior for " +"_doubleprecision_ arguments, since that is the behavior mandated by " +"FORTRAN 77." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:51 +msgid "" +"So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra " +"argument used to specify the desired kind of complex result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:75 +msgid "" +"F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity " +"can be accessed independently with a component-like syntax in f2018:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:78 +msgid "A complex-part-designator is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:80 +msgid "``fortran designator % RE or designator % IM." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:103 +msgid "__x__ The type may be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:106 +msgid "" +"__y__ (Optional; only allowed if __x__ is not _complex_.). May be " +"_integer_ or _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:110 +msgid "" +"__kind__ (Optional) An _integer_ initialization expression indicating the" +" kind parameter of the result." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:116 +msgid "" +"The return value is of _complex_ type, with a kind equal to __kind__ if " +"it is specified. If __kind__ is not specified, the result is of the " +"default _complex_ kind, regardless of the kinds of __x__ and __y__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:153 +msgid "[__aimag__(3)](AIMAG) - Imaginary part of complex number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:155 +msgid "[__cmplx__(3)](CMPLX) - Complex conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:157 +msgid "[__conjg__(3)](CONJG) - Complex conjugate function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/CMPLX.md:159 +msgid "[__real__(3)](REAL) - Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:2 +msgid "int" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:4 +msgid "" +"__int__(3) - \\[TYPE:NUMERIC\\] Convert to integer type by truncating " +"towards zero" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:16 +msgid "Convert to integer type by truncating towards zero." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:21 +msgid "" +"Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-" +"constant." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:27 +msgid "If not present the returned type is that of default integer type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:31 +msgid "returns an _integer_ variable or array applying the following rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:33 +msgid "__Case__:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:35 +msgid "If __a__ is of type _integer_, __int__(a) = a" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:37 +msgid "" +"If __a__ is of type _real_ and __|a| \\< 1, int(a)__ equals __0__. If " +"__|a| \\>= 1__, then __int(a)__ equals the integer whose magnitude does " +"not exceed __a__ and whose sign is the same as the sign of __a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:41 +msgid "" +"If __a__ is of type _complex_, rule 2 is applied to the _real_ part of " +"__a__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:43 +msgid "" +"If _a_ is a boz-literal constant, it is treated as an _integer_ with the " +"_kind_ specified." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:46 +msgid "" +"The interpretation of a bit sequence whose most significant bit is __1__ " +"is processor dependent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/INT.md:118 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__nint__(3)](NINT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:2 +msgid "nint" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:5 +msgid "__nint__(3) - \\[TYPE:NUMERIC\\] Nearest whole number" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:15 +msgid "" +"__nint(x)__ rounds its argument to the nearest whole number with its sign" +" preserved." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:18 +msgid "" +"The user must ensure the value is a valid value for the range of the " +"__kind__ returned. If the processor cannot represent the result in the " +"kind specified, the result is undefined." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:22 +msgid "If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:24 +msgid "" +"If __x__ is less than or equal to zero, __nint(x)__ has the value " +"__int(a-0.5)__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:30 +msgid "The type of the argument shall be _real_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:33 +msgid "" +"(Optional) A constant _integer_ expression indicating the kind parameter " +"of the result. Otherwise, the kind type parameter is that of default " +"_integer_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:39 +msgid "__answer__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:40 +msgid "" +"The result is the integer nearest __x__, or if there are two integers " +"equally near __x__, the result is whichever such _integer_ has the " +"greater magnitude." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:112 +msgid "FORTRAN 77 and later, with KIND argument - Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/NINT.md:116 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__selected_int_kind__(3)](SELECTED_INT_KIND), [__ceiling__(3)](CEILING)," +" [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:2 +msgid "real" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:4 +msgid "__real__(3) - \\[TYPE:NUMERIC\\] Convert to real type" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:13 +msgid "__real(x, kind)__ converts its argument __x__ to a real type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:18 +msgid "Shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:26 +msgid "" +"These functions return a _real_ variable or array under the following " +"rules:" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:29 +msgid "" +"__real__(x) is converted to a default _real_ type if __x__ is an " +"_integer_ or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:32 +msgid "" +"__real__(x) is converted to a real type with the kind type parameter of " +"__x__ if __x__ is a _complex_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:35 +msgid "" +"__real(x, kind)__ is converted to a _real_ type with kind type parameter " +"__kind__ if __x__ is a _complex_, _integer_, or _real_ variable." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/REAL.md:71 +msgid "[__dble__(3)](DBLE), [__float__(3)](FLOAT)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:2 +msgid "dble" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:5 +msgid "__dble__(3) - \\[TYPE:NUMERIC\\] Double conversion function" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:16 +msgid "" +"where TYPE may be _integer_, _real_, or _complex_ and KIND any kind " +"supported by the TYPE." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:20 +msgid "__dble(a)__ Converts __a__ to double precision _real_ type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:25 +msgid "The type shall be _integer_, _real_, or _complex_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:29 +msgid "" +"The return value is of type _doubleprecision_. For _complex_ input, the " +"returned value has the magnitude and sign of the real component of the " +"input value." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/DBLE.md:56 +msgid "[__float__(3)](FLOAT), [__real__(3)](REAL)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:2 +msgid "transfer" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:5 +msgid "__transfer__(3) - \\[TYPE:MOLD\\] Transfer bit patterns" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:14 +msgid "" +"Interprets the bitwise representation of __source__ in memory as if it is" +" the representation of a variable or array of the same type and type " +"parameters as __mold__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:18 +msgid "" +"This is approximately equivalent to the C concept of \\*casting\\* one " +"type to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:24 +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:27 +msgid "Shall be a scalar or an array of any type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:30 +msgid "(Optional) shall be a scalar of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:34 +msgid "" +"The result has the same type as __mold__, with the bit level " +"representation of __source__. If __size__ is present, the result is a " +"one-dimensional array of length __size__. If __size__ is absent but " +"__mold__ is an array (of any size or shape), the result is a one-" +"dimensional array of the minimum length needed to contain the entirety of" +" the bitwise representation of __source__. If __size__ is absent and " +"__mold__ is a scalar, the result is a scalar." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:41 +msgid "" +"If the bitwise representation of the result is longer than that of " +"__source__, then the leading bits of the result correspond to those of " +"__source__ and any trailing bits are filled arbitrarily." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:45 +msgid "" +"When the resulting bit representation does not correspond to a valid " +"representation of a variable of the same type as __mold__, the results " +"are undefined, and subsequent operations on the result cannot be " +"guaranteed to produce sensible behavior. For example, it is possible to " +"create _logical_ variables for which __var__ and .not. var both appear to" +" be true." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:80 +msgid "__Comments__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:82 +msgid "_Joe Krahn_: Fortran uses __molding__ rather than __casting__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:84 +msgid "" +"Casting, as in C, is an in-place reinterpretation. A cast is a device " +"that is built around an object to change its shape." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:87 +msgid "" +"Fortran TRANSFER reinterprets data out-of-place. It can be considered " +"__molding__ rather than casting. A __mold__ is a device that confers a " +"shape onto an object placed into it." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:91 +msgid "" +"The advantage of molding is that data is always valid in the context of " +"the variable that holds it. For many cases, a decent compiler should " +"optimize TRANSFER into a simple assignment." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:95 +msgid "" +"There are disadvantages of this approach. It is problematic to define a " +"union of data types because you must know the largest data object, which " +"can vary by compiler or compile options. In many cases, an EQUIVALENCE " +"would be far more effective, but Fortran Standards committees seem " +"oblivious to the benefits of EQUIVALENCEs when used sparingly." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/TRANSFER.md:103 +msgid "Fortran 90 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:2 +msgid "logical" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:5 +msgid "" +"__logical__(3) - \\[TYPE:LOGICAL\\] Converts one kind of _logical_ " +"variable to another" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:18 +msgid "Converts one kind of _logical_ variable to another." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:23 +msgid "__l__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:24 +msgid "The type shall be _logical_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:32 +msgid "" +"The return value is a _logical_ value equal to __l__, with a kind " +"corresponding to __kind__, or of the default logical kind if __kind__ is " +"not given." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:61 +msgid "Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/LOGICAL.md:65 +msgid "[__int__(3)](INT), [__real__(3)](REAL), [__cmplx__(3)](CMPLX)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:2 +msgid "kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:5 +msgid "__kind__(3) - \\[KIND INQUIRY\\] Kind of an entity" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:14 +msgid "__kind(x)__ returns the kind value of the entity __x__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/KIND.md:19 +msgid "Shall be of type _logical_, _integer_, _real_, _complex_ or _character_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:2 +msgid "selected\\_char\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:5 +msgid "" +"__selected\\_char\\_kind__(3) - \\[KIND\\] Choose character kind such as " +"\"Unicode\"" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:14 +msgid "" +"__selected\\_char\\_kind(name)__ returns the kind value for the character" +" set named NAME, if a character set with such a name is supported, or " +"__-1__ otherwise. Currently, supported character sets include \"ASCII\" " +"and \"DEFAULT\" (iwhich are equivalent), and \"ISO\\_10646\" (Universal " +"Character Set, UCS-4) which is commonly known as \"Unicode\"." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md:23 +msgid "Shall be a scalar and of the default character type." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:2 +msgid "selected\\_int\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:5 +msgid "__selected\\_int\\_kind__(3) - \\[KIND\\] Choose integer kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:14 +msgid "" +"__selected\\_int\\_kind(r)__ return the kind value of the smallest " +"integer type that can represent all values ranging from __-10\\*\\*r__ " +"(exclusive) to __10\\*\\*r__ (exclusive). If there is no integer kind " +"that accommodates this range, selected\\_int\\_kind returns __-1__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:23 +msgid "__r__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:22 +msgid "Shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_INT_KIND.md:55 +msgid "" +"[__aint__(3)](AINT), [__anint__(3)](ANINT), [__int__(3)](INT), " +"[__nint__(3)](NINT), [__ceiling__(3)](CEILING), [__floor__(3)](FLOOR)" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:2 +msgid "selected\\_real\\_kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:5 +msgid "__selected\\_real\\_kind__(3) - \\[KIND\\] Choose real kind" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:14 +msgid "" +"__selected\\_real\\_kind(p, r, radix)__ return the kind value of a real " +"data type with decimal precision of at least __p__ digits, exponent range" +" of at least __r__, and with a radix of __radix__." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:21 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:24 +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:27 +msgid "(Optional) shall be a scalar and of type _integer_." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:26 +msgid "__radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:29 +msgid "" +"Before __Fortran 2008__, at least one of the arguments __r__ or __p__ " +"shall be present; since __Fortran 2008__, they are assumed to be zero if " +"absent." +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:35 +msgid "" +"selected\\_real\\_kind returns the value of the kind type parameter of a " +"real data type with decimal precision of at least __p__ digits, a decimal" +" exponent range of at least R, and with the requested __radix__. If the " +"__radix__ parameter is absent, real kinds with any radix can be returned." +" If more than one real data type meet the criteria, the kind of the data " +"type with the smallest decimal precision is returned. If no real data " +"type matches the criteria, the result is" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:43 +msgid "" +"__-1__ if the processor does not support a real data type with a " +"precision greater than or equal to __p__, but the __r__ and __radix__ " +"requirements can be fulfilled" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:47 +msgid "" +"__-2__ if the processor does not support a real type with an exponent " +"range greater than or equal to __r__, but __p__ and __radix__ are " +"fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:51 +msgid "__-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:53 +msgid "__-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:55 +msgid "__-5__ if there is no real type with the given __radix__" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:84 +msgid "Fortran 95 and later; with RADIX - Fortran 2008 and later" +msgstr "" + +#: ../../source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md:88 +msgid "" +"[__precision__(3)](PRECISION), [__range__(3)](RANGE), " +"[__radix__(3)](RADIX)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:7 +msgid "Fortran Intrinsics" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:9 +msgid "" +"This is a collection of extended descriptions of the Fortran intrinsics " +"based on the reference document \"[Current F2018 Working Document as of " +"April " +"2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)\"." +" Vendor-specific extensions are not included." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:14 +msgid "☛[Array Operations](ARRAY_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:16 +msgid "☛[Mathematics](MATH_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:18 +msgid "☛[Type and Kind](TYPE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:19 +msgid "☛[Numeric](NUMERIC_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:21 +msgid "☛[Transformational](TRANSFORM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:22 +msgid "Matrix multiplication, Dot product, array shifts," +msgstr "" + +#: ../../source/learn/intrinsics/index.md:23 +msgid "☛[General State](STATE_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:24 +msgid "General and miscellaneous intrinsics on state of variables and I/O" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:25 +msgid "☛[Character](CHARACTER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:26 +msgid "basic procedures specifically for manipulating _character_ variables" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:27 +msgid "☛[System Environment](SYSTEM_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:28 +msgid "" +"accessing external system information such as environmental variables, " +"command line arguments, date and timing data ..." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:29 +msgid "☛[C Interface](C_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:30 +msgid "procedures useful for binding to C interfaces" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:31 +msgid "☛[Bit-level](BIT_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:32 +msgid "bit-level manipulation and inquiry of values0" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:33 +msgid "☛[Parallel Programming](PARALLEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:34 +msgid "Parallel programming using co-arrays and co-indexing" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:35 +msgid "☛[Numeric Model](MODEL_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:36 +msgid "numeric compiler-specific numeric model information" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:37 +msgid "☛[Compiler Information](COMPILER_index)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:38 +msgid "information about compiler version and compiler options used for building" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:40 +msgid "Overview" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:41 +msgid "" +"The standard documents and most vendor-supplied descriptions of the " +"intrinsics are often very brief and concise to the point of the " +"functionality of the intrinsics being obscure, particularly to someone " +"unfamiliar with the procedure." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:46 +msgid "By describing the procedures here" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:47 +msgid "in greater detail" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:48 +msgid "with a working example" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:49 +msgid "" +"providing links to additional resources (including additional documents " +"at fortran-lang.org and related discussions in Fortran Discourse)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:53 +msgid "these documents strive to be a valuable asset for Fortran programmers." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:55 +msgid "" +"This is a community-driven resource and everyone is encouraged to " +"contribute to the documents. For contribution guidelines see " +"[MINIBOOKS](https://github.com/fortran-lang/fortran-" +"lang.org/blob/master/MINIBOOKS.md) and the following Copyright " +"guidelines." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:60 +msgid "See Also" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:61 +msgid "The [Fortran stdlib](https://stdlib.fortran-lang.org/) project" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:62 +msgid "" +"[fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which " +"are general-purpose libraries/modules" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:64 +msgid "Experimental" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:66 +msgid "" +"[review by procedure " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:68 +msgid "" +"[review by header " +"](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html)" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:70 +msgid "" +"[fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A " +"self-contained Fortran program that lets you view the non-graphical plain" +" ASCII portions of the documentation from a terminal interface. Compile " +"the program and enter \"./fman --help\" for directions." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:75 +msgid "" +"[man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) " +"A gzipped tar(1) file containing early versions of man-pages derived from" +" the markdown documents." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:78 +msgid "" +"Typical installation on a Linux platform as an administrator ( but it " +"varies) :" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:110 +msgid "Text Content Copyrights" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:112 +msgid "" +"Many of the documents presented here are modified versions of man-pages " +"from the [Fortran Wiki](https://fortranwiki.org) and as such are " +"available under the terms of the GNU Free Documentation License " +"[__GFDL__](GNU_Free_Documentation_License.md) with no invariant sections," +" front-cover texts, or back-cover texts." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:118 +msgid "" +"If you contribute to this site by modifying the files marked as GFDL, you" +" thereby agree to license the contributed material to the public under " +"the GFDL (version 1.2 or any later version published by the Free Software" +" Foundation, with no invariant sections, front-cover texts, or back-cover" +" texts)." +msgstr "" + +#: ../../source/learn/intrinsics/index.md:124 +msgid "" +"If you contribute new material you thereby agree to release it under the " +"MIT license, and should indicate this by placing MIT on the specially-" +"formatted last line. For example, change" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:130 +msgid "to" +msgstr "" + +#: ../../source/learn/intrinsics/index.md:135 +msgid "" +"Written in [Markdown](https://github.com/adam-p/markdown-here/wiki" +"/Markdown-Cheatsheet) " +"[kramdown](https://kramdown.gettalong.org/syntax.html)" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:8 +msgid "Choosing a compiler" +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:10 +msgid "" +"A comprehensive list of available compilers is provided " +"[here]({{site.baseurl}}/compilers). In this guide, we will focus only on " +"those that are free to install and use." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:12 +msgid "" +"Of those listed at the link above, open source and free are GFortran " +"(with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their " +"compilers for free and as of the latest update of this tutorial, " +"NVFortran (NVIDIA) is available only for Linux systems, while Intel " +"oneAPI is available for Linux, Windows and macOS systems. Both are well " +"documented and readers can find detailed information about installing and" +" using them on their websites respectively." +msgstr "" + +#: ../../source/learn/os_setup/choose_compiler.md:14 +msgid "" +"In the next chapter, we use GFortran for the tutorial as it is a mature " +"open source compiler. We encourage users to also try other open source " +"and commercial compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:8 +msgid "IDEs" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:10 +msgid "" +"An IDE (Integrated Development Environment) refers to a complete software" +" development environment, where, all those packages that come as external" +" plug-ins in Text-Editors, are already integrated within the software. An" +" IDE is usually optimized towards a specific set of languages. For " +"example it is very common for IDEs to advertise themselves towards either" +" compiled or interpreted languages, or even towards a single language, or" +" depending on the application developed, like scientific or web " +"development. IDEs are recommended for beginner programmers, since it is " +"possible to start coding with minimum effort after installation. However," +" it is quite common, in professional environments, individual developers " +"and teams alike, to choose an IDE for large projects because of some " +"unique features that they may offer over a Text-Editor." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:13 +msgid "" +"A list of popular IDEs that provide good Fortran support is provided in " +"alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/ides.md:14 +msgid "" +"[AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-" +"ide/): commercial product, cross-platform, comes with Absoft's own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:15 +msgid "" +"[Code::Blocks](http://www.codeblocks.org/): free product, cross-platform " +"and supports multiple compilers. Plenty of tutorials online on how to " +"install it and add a Fortran Compiler. As well as a recent presentation, " +"[here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon)," +" of its capabilities and future prospects at the International Fortran " +"Conference 2020 by its main developer." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:16 +msgid "" +"[Eclipse-Photran](https://marketplace.eclipse.org/content/photran-" +"fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran " +"based on Eclipse and the C/C++ Development Tools*. A free product, cross-" +"platform and supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:17 +msgid "" +"[Geany](https://www.geany.org/): a free product, cross platform and " +"supports multiple compilers." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:18 +msgid "" +"[NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) " +"is a commercial product, available in Windows and MacOS and supports " +"NAG's own Fortran Compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:19 +msgid "" +"[Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial " +"product, cross-platform, comes with Silverfrost's Fortran FTN95 own " +"Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:20 +msgid "" +"[SimplyFortran](https://simplyfortran.com/) is a commercial product, " +"cross-platform with support of the GNU Fortran compiler." +msgstr "" + +#: ../../source/learn/os_setup/ides.md:21 +msgid "" +"[Visual Studio](https://visualstudio.microsoft.com/) its *Community " +"Edition 2019* is a free product, available in Windows and macOS and " +"supports only Intel's Fortran compiler, now bundled with many other free-" +"to-use HPC tools under *Intel oneAPI*." +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "choose compiler" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "text editors" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "ides" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "install gfortran" +msgstr "" + +#: ../../source/learn/os_setup/index.md:30 +msgid "tips" +msgstr "" + +#: ../../source/learn/os_setup/index.md:7 +msgid "

" +msgstr "" + +#: ../../source/learn/os_setup/index.md:12 +msgid "" +"*Authors: Stavros Meskos, " +"Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:14 +msgid "" +"*Last update: " +"16-Feb-2021*" +msgstr "" + +#: ../../source/learn/os_setup/index.md:18 +msgid "Setting up your OS" +msgstr "" + +#: ../../source/learn/os_setup/index.md:20 +msgid "" +"In this mini-book we address the very first problem that many new Fortran" +" programmers encounter. Before everything, you will need to choose a " +"compiler and install it. Then you will need a text editor or perhaps an " +"IDE (Integrated Development Environment). There are many options, most of" +" them available in all major OSs (operating systems). However, the " +"process to install and configure them greatly differs between Windows, " +"Linux, and macOS. There are several Fortran compilers. Here, we pick " +"those that meet certain criteria and provide a guide on how to install " +"them in all the aforementioned OSs. A list of popular text editors and " +"IDEs and information on how to choose between them is presented as well." +msgstr "" + +#: ../../source/learn/os_setup/index.md:24 +msgid "" +"If you have already set up your environment, you may skip this tutorial " +"and move forward with the Quickstart Fortran Tutorial to start coding " +"your first `Hello World` program or with the Building programs mini-book " +"to understand how a compiler works." +msgstr "" + +#: ../../source/learn/os_setup/index.md:28 +msgid "" +"*The choice of text editors and IDEs has been controversial among the " +"developers. What you choose is a matter of personal taste. Every solution" +" comes with its own pros and cons. For that reason, in this guide, we " +"will not push the reader towards one or another direction. We will, " +"however, present a list of the most popular tools.*" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:8 +msgid "Installing GFortran" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:10 +msgid "" +"GFortran is the name of the [GNU Fortran " +"project](https://gcc.gnu.org/fortran/). The main " +"[wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links " +"about GFortran, as well as Fortran in general. In this guide, the " +"installation process for GFortran on Windows, Linux, macOS and OpenBSD is" +" presented in a beginner-friendly format based on the information from " +"[GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries)." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:12 +msgid "Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:15 +msgid "" +"Three sources provide quick and easy way to install GFortran compiler on " +"Windows:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:16 +msgid "" +"[http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran)," +" provides 32 and 64-bit x86 executables of the latest (10.2) gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:18 +msgid "" +"[TDM GCC](https://jmeubank.github.io/tdm-" +"gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 " +"executables of the 9.2 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:19 +msgid "" +"[MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides" +" a 64-bit x86 executable of the 8.1.0 gcc-version." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:21 +msgid "" +"In all the above choices, the process is straightforward—just download " +"the installer and follow the installation wizard." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:23 +msgid "Unix-like development on Windows" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:24 +msgid "" +"For those familiar with a unix-like development environment, several " +"emulation options are available on Windows each of which provide packages" +" for gfortran:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:26 +msgid "" +"__Cygwin:__ A runtime environment that provides POSIX compatibility to " +"Windows;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:27 +msgid "" +"__MSYS2:__ A collection of Unix-like development tools, based on modern " +"Cygwin and MinGW-w64;" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:28 +msgid "" +"__Windows Subsystem for Linux (WSL):__ An official compatibility layer " +"for running Linux binary executables on Windows. With [Windows Subsystem " +"for Linux GUI](https://github.com/microsoft/wslg) one can run text " +"editors and other graphical programs." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:30 +msgid "" +"All of the above approaches provide access to common shells such as bash " +"and development tools including GNU coreutils, Make, CMake, autotools, " +"git, grep, sed, awk, ssh, etc." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:32 +msgid "" +"We recommend the WSL environment for those looking for a Unix-like " +"development environment on Windows." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:34 +msgid "Linux" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:37 +msgid "Debian-based (Debian, Ubuntu, Mint, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:38 +msgid "Check whether you have gfortran already installed" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:42 +msgid "" +"If nothing is returned then gfortran is not installed. To install " +"gfortran type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:47 +msgid "to check what version was installed type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:51 +msgid "" +"You can install multiple versions up to version 9 by typing the version " +"number immediately after \"gfortran\", e.g.:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:55 +msgid "" +"To install the latest version 10 you need first to add / update the " +"following repository and then install:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:61 +#, python-format +msgid "" +"Finally, you can switch between different versions or set the default one" +" with the **update-alternatives** ([see " +"manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-" +"alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.))." +" There are many online tutorials on how to use this feature. A well " +"structured one using as an example C and C++ can be found " +"[here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g" +"-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the " +"same logic by replacing either `gcc` or `g++` with `gfortran`." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:63 +msgid "RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:68 +msgid "Since Fedora 22, `dnf` is the default package manager for Fedora:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:73 +msgid "Arch-based (Arch Linux, Antergos, Manjaro, etc...)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:78 +msgid "macOS" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:79 +msgid "Xcode" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:80 +msgid "If you have Xcode installed, open a terminal window and type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:84 +msgid "Binaries" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:85 +msgid "" +"Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert" +"/gfortran-for-macOS/releases) to directly install binaries." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:86 +msgid "Homebrew" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:90 +msgid "Fink" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:91 +msgid "" +"GNU-gcc Package " +"[link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version)" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:92 +msgid "MacPorts" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:93 +msgid "Search for available gcc versions:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:97 +msgid "Install a gcc version:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:102 +msgid "OpenBSD" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:107 +msgid "" +"On OpenBSD, the GFortran executable is named `egfortran`. To test it, " +"type:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:113 +msgid "OpenCoarrays" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:115 +msgid "" +"[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software " +"project that produces an application binary interface (ABI) used by the " +"GNU Compiler Collection (GCC) Fortran front-end to build executable " +"programs that leverage the parallel programming features of Fortran 2018." +" Since OpenCoarrays is not a separate compiler, we include it here, under" +" gfortran." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:117 +msgid "" +"While with gfortran you can compile perfectly valid code using coarrays, " +"the generated binaries will only run in a single image (_image_ is a " +"Fortran term for a parallel process), that is, in serial mode. " +"OpenCoarrays allows running code in parallel on shared- and distributed-" +"memory machines, similar to MPI:" +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:122 +msgid "" +"The process of installation is provided in a clear and comprehensive " +"manner on the official site." +msgstr "" + +#: ../../source/learn/os_setup/install_gfortran.md:124 +msgid "" +"We emphasize that native installation on Windows is not possible. It is " +"only possible through WSL." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:8 +msgid "Text Editors" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:10 +msgid "" +"After you have installed your compiler, you will need a text editor to " +"write your code. Any text editor can serve this purpose, even the built-" +"in Notepad on Windows. However, there are specialized editors for " +"programming languages. These editors come with many useful features like " +"auto-complete, syntax-highlighting, auto-indentation, brace-matching, and" +" many more, with few of them pre-installed and the majority in form of " +"external plug-ins. This means that by default these features are not " +"installed in the editor, but it's up to you to search for them through a " +"package manager and install and configure them manually." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:12 +msgid "" +"Here's a list of the most popular text editors that support Fortran " +"syntax, in alphabetical order:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:13 +msgid "[Atom](https://atom.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:14 +msgid "[Emacs](https://www.gnu.org/software/emacs/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:15 +msgid "[NotePad++](https://notepad-plus-plus.org/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:16 +msgid "[SublimeText](https://www.sublimetext.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:17 +msgid "[Vim](https://www.vim.org/) and [Neovim](https://neovim.io/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:18 +msgid "[Visual Studio Code](https://code.visualstudio.com/)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:20 +msgid "" +"A comprehensive list with more choices is provided in " +"[fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:22 +msgid "Things to consider before choosing a text editor:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:23 +msgid "" +"**Ergonomics:** This is purely subjective and concerns how easy, " +"uninterrupted the UI (User Interface) feels to the developer while using " +"the editor." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:24 +msgid "" +"**Extensibility:** As mentioned above, text editors come with many " +"features as external packages. The variety, the installation process, the" +" documentation, and user-friendliness of the packages all fall under this" +" category." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:25 +msgid "" +"**Speed:** With how powerful modern hardware can be, the speed of editors" +" is becoming of minor importance. However, for the less powerful systems," +" you may want to consider this as well. Heavyweight editors may impact " +"the writing performance. For example, you can expect Atom and VSCode to " +"run slower than the lightweight editors like Vim or Emacs." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:26 +msgid "" +"**Learning curve:** Last but not least, new users should consider how " +"easy it is to get used to a new editor. Vim and Emacs have a steep " +"learning curve and are notoriously difficult for newcomers. They offer a " +"uniquely different experience than any other editor by forcing you to use" +" the keyboard for all editing tasks." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:28 +msgid "Configuring VS Code" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:30 +msgid "" +"With the editor opened, at the main UI, at the buttoned-column on the " +"left, there is a *four-square-shaped* icon to open the Marketplace for " +"extensions. Install [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm" +".linter-gfortran) for syntax highlighting, linting and Language Server " +"support and formatting." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:33 +msgid "Additional Tools" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:35 +msgid "" +"The following extensions are not essential but most users might find them" +" useful:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:37 +msgid "" +"[GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)" +" for advanced Git visualization and operations." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:38 +msgid "" +"[CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode" +".cmake-tools) for full-featured CMake integration in VS Code." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:39 +msgid "" +"[Remote Development](https://marketplace.visualstudio.com/items?itemName" +"=ms-vscode-remote.vscode-remote-extensionpack) for working with " +"containers, on a remote machines, or in the Windows Subsystem for Linux " +"(WSL)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:40 +msgid "" +"[Even Better TOML by " +"tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe" +".even-better-toml). For Fortran developers that are using the new " +"[fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a " +"TOML language support might come in handy." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:42 +msgid "Configuring SublimeText" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:44 +msgid "" +"A well structured gist that provides instructions on how to set up " +"SublimeText for Fortran developement is given " +"[here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995)." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:46 +msgid "Configuring Atom" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:48 +msgid "" +"Atom's configuration process is similar to VSCode one. At the main " +"interface, if the *Welcome Guide* page is already opened for you, just " +"click the **Install a Package** option, otherwise you can find the same " +"option through the navigation bar at the top by clicking *Packages*. In " +"doing so a new page under *Settings* opens where you can just start " +"typing the package you want to install." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:50 +msgid "" +"One package that includes many Fortran features is [IDE-FORTRAN by " +"hansec](https://atom.io/packages/ide-fortran). It needs the following " +"packages to be installed:" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:51 +msgid "[atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:52 +msgid "[language-fortran by dparkins](https://atom.io/packages/language-fortran)" +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:54 +msgid "" +"Additionally just like in VSCode it needs " +"[Python](https://www.python.org/) and [Fortran Language " +"Server](https://github.com/hansec/fortran-language-server) to be " +"installed." +msgstr "" + +#: ../../source/learn/os_setup/text_editors.md:56 +msgid "" +"For version control a very popular package is [Git-Plus by " +"akonwi](https://atom.io/packages/git-plus)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:8 +msgid "Smart Tips" +msgstr "" + +#: ../../source/learn/os_setup/tips.md:10 +msgid "" +"To conclude, we give a few tips that may help you to choose a compiler " +"and an editor or an IDE." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:12 +msgid "" +"Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) " +"for a comprehensive comparison of Fortran compilers." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:13 +msgid "" +"Since NVFortran version 17.1, the support for compute capability 2.0 " +"(Fermi) and lower has been removed. This is important because, at any " +"time, only the latest compiler version is free to download. Users with " +"older GPUs will not be able to run CUDA Fortran with the current (20.7) " +"or future versions. Read [this " +"wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your " +"GPU's compute capability and cross-check with the latest CUDA SDK that " +"supports it." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:14 +msgid "" +"There are many online Fortran compilers. These are websites that offer a " +"basic text editor and allow you to compile and run your code on a remote " +"server. They are particularly useful for quick prototyping and testing. " +"Although we promised neutrality, we recommend that you check out the " +"open-source and free [Compiler Explorer](https://godbolt.org/), an " +"amazing tool with unique features." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:15 +msgid "" +"Arguably the most popular text editor, according to recent online " +"surveys, is the Visual Studio Code, developed by Microsoft." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:16 +msgid "" +"The most popular free IDEs are the Code::Blocks and Geany. Many " +"commercial IDEs give up to 30 days of free trial. Keep in mind that the " +"prices of commercial IDEs may vary, and some may be quite affordable. " +"Finally, if you are a student, an open-source developer, or a …hobbyist " +"*Fortraner* do not hesitate to contact those companies and request a " +"discount. There have been cases, e.g., in r/fortran, where " +"representatives, from at least one company, have offered discount codes " +"to individuals looking for affordable complete solutions (IDE + " +"compiler)." +msgstr "" + +#: ../../source/learn/os_setup/tips.md:17 +msgid "" +"Finally, please join us on [Fortran Discourse](https://fortran-" +"lang.discourse.group/) and do not hesitate to post your questions and " +"request for further information." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:9 +msgid "" +"More often than not, we need to store and operate on long lists of " +"numbers as opposed to just the single scalar variables that we have been " +"using so far; in computer programming such lists are called _arrays_." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:12 +msgid "" +"Arrays are _multidimensional_ variables that contain more than one value " +"where each value is accessed using one or more indices." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:15 +msgid "" +"Arrays in Fortran are _one-based_ by default; this means that the first " +"element along any dimension is at index 1." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:19 +msgid "Array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:21 +msgid "" +"We can declare arrays of any type. There are two common notations for " +"declaring array variables: using the `dimension` attribute or by " +"appending the array dimensions in parentheses to the variable name." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:24 +msgid "__Example:__ static array declaration" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:45 +msgid "Array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:47 +msgid "" +"A powerful feature of the Fortran language is its built-in support for " +"array operations; we can perform operations on all or part of an array " +"using array _slicing_ notation:" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:50 +msgid "__Example:__ array slicing" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:72 +msgid "" +"Fortran arrays are stored in _column-major_ order; the first index varies" +" fastest." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:75 +msgid "Allocatable (dynamic) arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:77 +msgid "" +"So far we have specified the size of our array in our program code---this" +" type of array is known as a _static_ array since its size is fixed when " +"we compile our program." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:81 +msgid "" +"Quite often, we do not know how big our array needs to be until we run " +"our program, for example, if we are reading data from a file of unknown " +"size." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:83 +msgid "" +"For this problem, we need `allocatable` arrays. These are _allocated_ " +"while the program is running once we know how big the array needs to be." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:86 +msgid "__Example:__ allocatable arrays" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:105 +msgid "" +"Allocatable local arrays are deallocated automatically when they go out " +"of scope." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:109 +msgid "Character strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:112 +msgid "__Example:__ static character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:132 +msgid "__Example:__ allocatable character string" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:153 +msgid "Array of strings" +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:155 +msgid "" +"An array of strings can be expressed in Fortran as an array of " +"`character` variables. All elements in a `character` array have equal " +"length. However, strings of varying lengths can be provided as input to " +"the array constructor, as shown in the example below. They will be " +"truncated or right-padded with spaces if they are longer or shorter, " +"respectively, than the declared length of the `character` array. Finally," +" we use the intrinsic function `trim` to remove any excess spaces when " +"printing the values to the standard output." +msgstr "" + +#: ../../source/learn/quickstart/arrays_strings.md:162 +msgid "__Example:__ string array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:6 +msgid "Derived Types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:7 +msgid "" +"As discussed previously in [Variables](variables), there are five built-" +"in data types in Fortran. A _derived type_ is a special form of data type" +" that can encapsulate other built-in types as well as other derived " +"types. It could be considered equivalent to _struct_ in the C and C++ " +"programming languages." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:9 +msgid "A quick take on derived types" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:11 +msgid "Here's an example of a basic derived type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:20 +msgid "" +"The syntax to create a variable of type `t_pair` and access its members " +"is:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:29 +msgid "The percentage symbol `%` is used to access the members of a derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:31 +msgid "" +"In the above snippet, we declared an instance of a derived type and " +"initialized its members explicitly. You can also initialize derived type " +"members by invoking the derived type constructor." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:35 +msgid "Example using the derived type constructor:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:42 +msgid "Example with default initialization:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:55 +msgid "Derived types in detail" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:57 +msgid "" +"The full syntax of a derived type with all optional properties is " +"presented below:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:69 +msgid "Options to declare a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:71 +msgid "`attribute-list` may refer to the following:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:73 +msgid "_access-type_ that is either `public` or `private`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:74 +msgid "`bind(c)` offers interoperability with C programming language" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:75 +msgid "" +"`extends(`_parent_`)`, where _parent_ is the name of a previously " +"declared derived type from which the current derived type will inherit " +"all its members and functionality" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:76 +msgid "" +"`abstract` -- an object oriented feature that is covered in the advanced " +"programming tutorial" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:78 +msgid "" +"If the attribute `bind(c)` or the statement `sequence` is used, then a " +"derived type cannot have the attribute `extends` and vice versa." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:80 +msgid "" +"The `sequence` attribute may be used only to declare that the following " +"members should be accessed in the same order as they are defined within " +"the derived type." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:82 +msgid "Example with `sequence`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:93 +msgid "" +"The use of the statement `sequence` presupposes that the data types " +"defined below are neither of `allocatable` nor of `pointer` type. " +"Furthermore, it does not imply that these data types will be stored in " +"memory in any particular form, i.e., there is no relation to the " +"`contiguous` attribute." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:95 +msgid "" +"The _access-type_ attributes `public` and `private`, if used, declare " +"that all member-variables declared below will be automatically assigned " +"the attribute accordingly." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:97 +msgid "" +"The attribute `bind(c)` is used to achieve compatibility between " +"Fortran's derived type and C's struct." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:99 +msgid "Example with `bind(c)`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:111 +msgid "matches the following C struct type:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:117 +msgid "" +"A fortran derived type with the attribute `bind(c)` cannot have the " +"`sequence` and `extends` attributes. Furthermore it cannot contain any " +"Fortran `pointer` or `allocatable` types." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:119 +msgid "" +"`parameterized-declaration-list` is an optional feature. If used, then " +"the parameters must be listed in place of `[parameterized-definition-" +"statements]` and must be either `len` or `kind` parameters or both." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:121 +msgid "" +"Example of a derived type with `parameterized-declaration-list` and with " +"the attribute `public`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:143 +msgid "" +"In this example the parameter `k` has already been assigned a default " +"value of `kind(0.0)` (single-precision floating-point). Therefore, it can" +" be omitted, as is the case here in the declaration inside the main " +"program." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:145 +msgid "" +"By default, derived types and their members are public. However, in this " +"example, the attribute `private` is used at the beginning of the module. " +"Therefore, everything within the module will be by default `private` " +"unless explicitly declared as `public`. If the type `t_matrix` was not " +"given the attribute `public` in the above example, then the compiler " +"would throw an error inside `program test`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:147 +msgid "" +"The attribute `extends` was added in the F2003 standard and introduces an" +" important feature of the object oriented paradigm (OOP), namely " +"inheritance. It allows code reusability by letting child types derive " +"from extensible parent types: `type, extends(parent) :: child`. Here, " +"`child` inherits all the members and functionality from `type :: parent`." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:149 +msgid "Example with the attribute `extends`:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:209 +msgid "Options to declare members of a derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:211 +msgid "" +"`[member-variables]` refers to the declaration of all the member data " +"types. These data types can be of any built-in data type, and/or of other" +" derived types, as already showcased in the above examples. However, " +"member-variables can have their own extensive syntax, in form of: `type " +"[,member-attributes] :: name[attr-dependent-spec][init]`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:214 +msgid "`type`: any built-in type or other derived type" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:216 +msgid "`member-attributes` (optional):" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:218 +msgid "`public` or `private` access attributes" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:219 +msgid "`protected` access attribute" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:220 +msgid "`allocatable` with or without `dimension` to specify a dynamic array" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:221 +msgid "`pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous`" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:223 +msgid "Examples of common cases:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:245 +msgid "" +"The following attributes: `pointer`, `codimension`, `contiguous`, " +"`volatile`, `asynchronous` are advanced features that will not be " +"addressed in the *Quickstart* tutorial. However, they are presented here," +" in order for the readers to know that these features do exist and be " +"able to recognize them. These features will be covered in detail in the " +"upcoming *Advanced programing* mini-book." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:247 +msgid "Type-bound procedures" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:249 +msgid "" +"A derived type can contain functions or subroutines that are *bound* to " +"it. We'll refer to them as _type-bound procedures_. Type-bound procedures" +" follow the `contains` statement that, in turn, follows all member " +"variable declarations." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:251 +msgid "" +"It is impossible to describe type-bound procedures in full without " +"delving into OOP features of modern Fortran. For now we'll focus on a " +"simple example to show their basic use." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:253 +msgid "Here's an example of a derived type with a basic type-bound procedure:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:296 +msgid "What is new:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:298 +msgid "" +"`self` is an arbitrary name that we chose to represent the instance of " +"the derived type `t_square` inside the type-bound function. This allows " +"us to access its members and to automatically pass it as an argument when" +" we invoke a type-bound procedure." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:299 +msgid "" +"We now use `class(t_square)` instead of `type(t_square)` in the interface" +" of the `area` function. This allows us to invoke the `area` function " +"with any derived type that extends `t_square`. The keyword `class` " +"introduces the OOP feature polymorphism." +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:301 +msgid "" +"In the above example, the type-bound procedure `area` is defined as a " +"function and can be invoked only in an expression, for example `x = " +"sq%area()` or `print *, sq%area()`. If you define it instead as a " +"subroutine, you can invoke it from its own `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:319 +msgid "" +"In contrast to the example with the type-bound function, we now have two " +"arguments:" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:321 +msgid "" +"`class(t_square), intent(in) :: self` -- the instance of the derived type" +" itself" +msgstr "" + +#: ../../source/learn/quickstart/derived_types.md:322 +msgid "" +"`real, intent(out) :: x` -- used to store the calculated area and return " +"to the caller" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:7 +msgid "" +"In this part of the tutorial, we will write our first Fortran program: " +"the ubiquitous [\"Hello, " +"World!\"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) " +"example." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:10 +msgid "" +"However, before we can write our program, we need to ensure that we have " +"a Fortran compiler set up." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:13 +msgid "" +"Fortran is a *compiled language*, which means that, once written, the " +"source code must be passed through a compiler to produce a machine " +"executable that can be run." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:17 +msgid "Compiler setup" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:19 +msgid "" +"In this tutorial, we'll work with the free and open source [GNU Fortran " +"compiler (gfortran)](https://gcc.gnu.org/fortran/), which is part of the" +" [GNU Compiler Collection (GCC)](https://gcc.gnu.org/)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:24 +msgid "" +"To install gfortran on Linux, use your system package manager. On macOS, " +"you can install gfortran using [Homebrew](https://brew.sh/) or " +"[MacPorts](https://www.macports.org/). On Windows, you can get native " +"binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran)." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:28 +msgid "" +"To check if you have _gfortran_ setup correctly, open a terminal and run " +"the following command:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:34 +msgid "this should output something like:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:43 +msgid "Hello world" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:45 +msgid "" +"Once you have set up your compiler, open a new file in your favourite " +"code editor and enter the following:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:54 +msgid "" +"Having saved your program to `hello.f90`, compile at the command line " +"with:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:59 +msgid "" +"`.f90` is the standard file extension for modern Fortran source files. " +"The 90 refers to the first modern Fortran standard in 1990." +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:62 +msgid "To run your compiled program:" +msgstr "" + +#: ../../source/learn/quickstart/hello_world.md:68 +msgid "" +"Congratulations, you've written, compiled and run your first Fortran " +"program! In the next part of this tutorial, we will introduce variables " +"for storing data." +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "arrays strings" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "hello world" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "operators control_flow" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "variables" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "derived types" +msgstr "" + +#: ../../source/learn/quickstart/index.md:17 +msgid "organising code" +msgstr "" + +#: ../../source/learn/quickstart/index.md:7 +msgid "Quickstart" +msgstr "" + +#: ../../source/learn/quickstart/index.md:9 +msgid "" +"This quickstart tutorial gives an overview of the Fortran programming " +"language and its syntax for common structured programming concepts " +"including: types, variables, arrays, control flow and functions." +msgstr "" + +#: ../../source/learn/quickstart/index.md:13 +msgid "" +"The contents of this tutorial are shown in the navigation bar on the left" +" with the current page highlighted bold." +msgstr "" + +#: ../../source/learn/quickstart/index.md:15 +msgid "" +"Use the _Next_ button at the bottom to start the tutorial with a _Hello " +"World_ example." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:7 +msgid "" +"One of the powerful advantages of computer algorithms, compared to simple" +" mathematical formulae, comes in the form of program _branching_ whereby " +"the program can decide which instructions to execute next based on a " +"logical condition." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:11 +msgid "There are two main forms of controlling program flow:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:13 +msgid "" +"_Conditional_ (if): choose program path based on a boolean (true or " +"false) value" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:15 +msgid "_Loop_: repeat a portion of code multiple times" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:19 +msgid "Logical operators" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:20 +msgid "" +"Before we use a conditional branching operator, we need to be able to " +"form a logical expression." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:23 +msgid "" +"To form a logical expression, the following set of relational operators " +"are available:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Operator  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Alternative  " +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +#: ../../source/learn/quickstart/variables.md +msgid "Description" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`==`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eq.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests for equality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`/=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ne.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Test for inequality of two operands" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`> `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.gt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly greater than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`< `" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.lt.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is strictly less than right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`>=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.ge.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is greater than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`<=`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.le.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "Tests if left operand is less than or equal to right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:36 +msgid "as well as the following logical operators:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.and.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if both left and right operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.or.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if either left or right or both operands are TRUE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.not.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if right operand is FALSE" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.eqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has same logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "`.neqv.`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md +msgid "TRUE if left operand has the opposite logical value as right operand" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:49 +msgid "Conditional construct (`if`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:51 +msgid "" +"In the following examples, a conditional `if` construct is used to print " +"out a message to describe the nature of the `angle` variable:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:54 +msgid "__Example:__ single branch `if`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:62 +msgid "" +"In this first example, the code within the `if` construct is _only " +"executed if_ the test expression (`angle < 90.0`) is true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:66 +msgid "" +"It is good practice to indent code within constructs such as `if` and " +"`do` to make code more readable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:70 +#, python-format +msgid "" +"{% include tip.html content=\"It is good practice to indent code within " +"constructs such as `if` and `do` to make code more readable.\" %}" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:73 +msgid "" +"We can add an alternative branch to the construct using the `else` " +"keyword:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:75 +msgid "__Example:__ two-branch `if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:85 +msgid "" +"Now there are two _branches_ in the `if` construct, but _only one branch " +"is executed_ depending on the logical expression following the `if` " +"keyword." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:88 +msgid "" +"We can actually add any number of branches using `else if` to specify " +"more conditions:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:90 +msgid "__Example:__ multi-branch `if`-`else if`-`else`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:101 +msgid "" +"When multiple conditional expressions are used, each conditional " +"expression is tested only if none of the previous expressions have " +"evaluated to true." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:104 +msgid "Loop constructs (`do`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:106 +msgid "" +"In the following example, a `do` loop construct is used to print out the " +"numbers in a sequence. The `do` loop has an integer _counter_ variable " +"which is used to track which iteration of the loop is currently " +"executing. In this example we use a common name for this counter " +"variable: `i`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:111 +msgid "" +"When we define the start of the `do` loop, we use our counter variable " +"name followed by an equals (`=`) sign to specify the start value and " +"final value of our counting variable." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:114 +msgid "__Example:__ `do` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:124 +msgid "__Example:__ `do` loop with skip" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:134 +msgid "Conditional loop (`do while`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:136 +msgid "" +"A condition may be added to a `do` loop with the `while` keyword. The " +"loop will be executed while the condition given in `while()` evaluates to" +" `.true.`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:139 +msgid "__Example:__ `do while()` loop" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:152 +msgid "Loop control statements (`exit` and `cycle`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:154 +msgid "" +"Most often than not, loops need to be stopped if a condition is met. " +"Fortran provides two executable statements to deal with such cases." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:157 +msgid "" +"`exit` is used to quit the loop prematurely. It is usually enclosed " +"inside an `if`." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:159 +msgid "__Example:__ loop with `exit`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:173 +msgid "" +"On the other hand, `cycle` skips whatever is left of the loop and goes " +"into the next cycle." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:175 +msgid "__Example:__ loop with `cycle`" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:189 +msgid "" +"When used within nested loops, the `cycle` and `exit` statements operate " +"on the innermost loop." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:192 +msgid "Nested loop control: tags" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:194 +msgid "" +"A recurring case in any programming language is the use of nested loops. " +"Nested loops refer to loops that exist within another loop. Fortran " +"allows the programmer to _tag_ or _name_ each loop. If loops are tagged, " +"there are two potential benefits:" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:195 +msgid "" +"The readability of the code may be improved (when the naming is " +"meaningful)." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:196 +msgid "" +"`exit` and `cycle` may be used with tags, which allows for very fine-" +"grained control of the loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:198 +msgid "__Example:__ tagged nested loops" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:213 +msgid "Parallelizable loop (`do concurrent`)" +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:215 +msgid "" +"The `do concurrent` loop is used to explicitly specify that the _inside " +"of the loop has no interdependencies_; this informs the compiler that it " +"may use parallelization/_SIMD_ to speed up execution of the loop and " +"conveys programmer intention more clearly. More specifically, this means " +"that any given loop iteration does not depend on the prior execution of " +"other loop iterations. It is also necessary that any state changes that " +"may occur must only happen within each `do concurrent` loop. These " +"requirements place restrictions on what can be placed within the loop " +"body." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:221 +msgid "" +"Simply replacing a `do` loop with a `do concurrent` does not guarantee " +"parallel execution. The explanation given above does not detail all the " +"requirements that need to be met in order to write a correct `do " +"concurrent` loop. Compilers are also free to do as they see fit, meaning " +"they may not optimize the loop (e.g., a small number of iterations doing " +"a simple calculation, like the >below example). In general, compiler " +"flags are required to activate possible parallelization for `do " +"concurrent` loops." +msgstr "" + +#: ../../source/learn/quickstart/operators_control_flow.md:227 +msgid "__Example:__ `do concurrent()` loop" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:6 +msgid "Organising Code" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:8 +msgid "" +"Most programming languages allow you to collect commonly-used code into " +"_procedures_ that can be reused by _calling_ them from other sections of " +"code." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:11 +msgid "Fortran has two forms of procedure:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:13 +msgid "__Subroutine__: invoked by a `call` statement" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:14 +msgid "" +"__Function__: invoked within an expression or assignment to which it " +"returns a value" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:16 +msgid "" +"Both subroutines and functions have access to variables in the parent " +"scope by _argument association_; unless the `value` attribute is " +"specified, this is similar to call by reference." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:19 +msgid "Subroutines" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:21 +msgid "" +"The subroutine input arguments, known as _dummy arguments_, are specified" +" in parentheses after the subroutine name; the dummy argument types and " +"attributes are declared within the body of the subroutine just like local" +" variables." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:24 +#: ../../source/learn/quickstart/organising_code.md:118 +#: ../../source/learn/quickstart/variables.md:134 +msgid "__Example:__" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:44 +msgid "" +"Note the additional `intent` attribute when declaring the dummy " +"arguments; this optional attribute signifies to the compiler whether the " +"argument is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) " +"or ''read-write'' (`intent(inout)`) within the procedure. In this " +"example, the subroutine does not modify its arguments, hence all " +"arguments are `intent(in)`." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:48 +msgid "" +"It is good practice to always specify the `intent` attribute for dummy " +"arguments; this allows the compiler to check for unintentional errors and" +" provides self-documentation." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:52 +msgid "We can call this subroutine from a program using a `call` statement:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:66 +msgid "" +"This example uses a so-called _explicit-shape_ array argument since we " +"have passed additional variables to describe the dimensions of the array " +"`A`; this will not be necessary if we place our subroutine in a module as" +" described later." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:70 +msgid "Functions" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:84 +msgid "In production code, the intrinsic function `norm2` should be used." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:86 +msgid "To execute this function:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:102 +msgid "" +"It is good programming practice for functions not to modify their " +"arguments---that is, all function arguments should be `intent(in)`. Such " +"functions are known as `pure` functions. Use subroutines if your " +"procedure needs to modify its arguments." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:107 +msgid "Modules" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:109 +msgid "" +"Fortran modules contain definitions that are made accessible to programs," +" procedures, and other modules through the `use` statement. They can " +"contain data objects, type definitions, procedures, and interfaces." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:112 +msgid "" +"Modules allow controlled scoping extension whereby entity access is made " +"explicit" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:113 +msgid "" +"Modules automatically generate explicit interfaces required for modern " +"procedures" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:115 +msgid "" +"It is recommended to always place functions and subroutines within " +"modules." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:147 +msgid "" +"Compare this `print_matrix` subroutine with that written outside of a " +"module we no longer have to explicitly pass the matrix dimensions and can" +" instead take advantage of _assumed-shape_ arguments since the module " +"will generate the required explicit interface for us. This results in a " +"much simpler subroutine interface." +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:152 +msgid "To `use` the module within a program:" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:167 +msgid "__Example:__ explicit import list" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:173 +msgid "__Example:__ aliased import" +msgstr "" + +#: ../../source/learn/quickstart/organising_code.md:179 +msgid "" +"Each module should be written in a separate `.f90` source file. Modules " +"need to be compiled prior to any program units that `use` them." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:7 +msgid "" +"Variables store information that can be manipulated by the program. " +"Fortran is a _strongly typed_ language, which means that each variable " +"must have a type." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:11 +msgid "There are 5 built-in data types in Fortran:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:13 +msgid "`integer` -- for data that represent whole numbers, positive or negative" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:14 +msgid "`real` -- for floating-point data (not a whole number)" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:15 +msgid "`complex` -- pair consisting of a real part and an imaginary part" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:16 +msgid "`character` -- for text data" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:17 +msgid "`logical` -- for data that represent boolean (true or false) values" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:19 +msgid "" +"Before we can use a variable, we must _declare_ it; this tells the " +"compiler the variable type and any other variable attributes." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:22 +msgid "" +"Fortran is a _statically typed_ language, which means the type of each " +"variable is fixed when the program is compiled---variable types cannot " +"change while the program is running." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:25 +msgid "Declaring variables" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:27 +msgid "The syntax for declaring variables is:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:33 +msgid "" +"where `` is one of the built-in variable types listed " +"above and `` is the name that you would like to call your " +"variable." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:36 +msgid "" +"Variable names must start with a letter and can consist of letters, " +"numbers and underscores. In the following example we declare a variable " +"for each of the built-in types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:39 +msgid "__Example:__ variable declaration" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:54 +msgid "" +"Fortran code is __case-insensitive__; you don't have to worry about the " +"capitalisation of your variable names, but it's good practice to keep it " +"consistent." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:57 +msgid "" +"Note the additional statement at the beginning of the program: `implicit " +"none`. This statement tells the compiler that all variables will be " +"explicitly declared; without this statement variables will be implicitly" +" typed according to the letter they begin with." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:61 +msgid "" +"Always use the `implicit none` statement at the beginning of each program" +" and procedure. Implicit typing is considered bad practice in modern " +"programming since it hides information leading to more program errors." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:66 +msgid "" +"Once we have declared a variable, we can assign and reassign values to it" +" using the assignment operator `=`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:68 +msgid "__Example:__ variable assignment" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:78 +msgid "Characters are surrounded by either single (`'`) or double quotes (`\"`)." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:80 +msgid "Logical or boolean values can be either `.true.` or `.false.`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:82 +msgid "" +"Watch out\" content=\"for assignment at declaration: `integer :: amount =" +" 1`. __This is NOT a normal initialisation;__ it implies the `save` " +"attribute which means that the variable retains its value between " +"procedure calls. Good practice is to initialise your variables separately" +" to their declaration." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:87 +msgid "Standard input / output" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:89 +msgid "" +"In our _Hello World_ example, we printed text to the command window. This" +" is commonly referred to as writing to `standard output` or `stdout`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:92 +msgid "" +"We can use the `print` statement introduced earlier to print variable " +"values to `stdout`:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:102 +msgid "" +"In a similar way, we can read values from the command window using the " +"`read` statement:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:118 +msgid "This input source is commonly referred to as `standard input` or `stdin`." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:121 +msgid "Expressions" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:122 +msgid "" +"The usual set of arithmetic operators are available, listed in order or " +"precedence:" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`**`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Exponent" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`*`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Multiplication" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`/ `" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Division" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`+`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Addition" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "`-`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md +msgid "Subtraction" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:170 +msgid "Floating-point precision" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:172 +msgid "" +"The desired floating-point precision can be explicitly declared using a " +"`kind` parameter. The `iso_fortran_env` intrinsic module provides `kind` " +"parameters for the common 32-bit and 64-bit floating-point types." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:175 +msgid "__Example:__ explicit real `kind`" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:190 +msgid "Always use a `kind` suffix for floating-point literal constants." +msgstr "" + +#: ../../source/learn/quickstart/variables.md:192 +msgid "__Example:__ C-interoperable `kind`s" +msgstr "" + +#: ../../source/learn/quickstart/variables.md:204 +msgid "" +"In the next part we will learn how to use arrays for storing more than " +"one value in a variable." +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/news.po b/locale/zh_CN/LC_MESSAGES/news.po new file mode 100644 index 000000000..8440304f9 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/news.po @@ -0,0 +1,13945 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/news.rst:2 +msgid "News - The Fortran Programming Language" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:8 +msgid "" +"The J3 Fortran Committee meeting took place in Las Vegas, NV, on February" +" 24-28, 2020." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:11 +msgid "Attendance" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:13 +msgid "The following people / companies attended:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:15 +msgid "Voting members:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:17 +msgid "Intel: Jon Steidel" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:18 +msgid "HPE/Cray: Bill Long" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:19 +msgid "NVIDIA: Peter Klausler, Gary Klimowicz" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:20 +msgid "IBM: Daniel Chen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:21 +msgid "ARM: Srinath Vadlamani" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:22 +msgid "NCAR: Dan Nagle, Magne Haveraaen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:23 +msgid "NASA: Tom Clune" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:24 +msgid "JPL: Van Sneider" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:25 +msgid "LANL: Zach Jibben, Ondřej Čertík" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:26 +msgid "ORNL: Reuben Budiardja" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:27 +msgid "LBNL: Brian Friesen" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:28 +msgid "Sandia: Damian Rouson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:29 +msgid "Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:30 +msgid "Corbett: Bob Corbett" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:32 +msgid "Others:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:34 +msgid "AMD: Richard Bleikamp" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:35 +msgid "WG23: Stephen Michell (convenor), Erhard Ploedereder (member)" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:36 +msgid "Structural Integrity: Brad Richardson" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:38 +msgid "Proposals Discussed at Plenary" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:40 +msgid "Monday 2/24" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:42 +msgid "Tuesday 2/25" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:44 +msgid "" +"[#22] : Default values of optional arguments " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:46 +msgid "Wednesday 2/26" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:48 +msgid "" +"[#157] : Rank-agnostic array element and section denotation " +"(, " +")" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:49 +msgid "" +"[#158] : TYPEOF and CLASSOF " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:50 +msgid "" +"[#1] : Namespace for modules " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:51 +msgid "" +"Interpretation: FORM TEAM and failed images " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:52 +msgid "" +"Interpretation: Collective subroutines and STAT= " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:54 +msgid "Thursday 2/27" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:56 +msgid "" +"Interpretation: events that cause variables to become undefined " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:57 +msgid "" +"Edits for SIMPLE procedures " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:58 +msgid "BFLOAT16 ()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:59 +msgid "" +"[#146] : Interpretation: allocatable component finalization " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:61 +msgid "Friday 2/28" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:63 +msgid "" +"[#157] : Rank-agnostic syntax " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:64 +msgid "" +"[#156] : Protected components " +"(). Withdrawn to address " +"conflicting interests." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:65 +msgid "" +"[#160] : Edits for auto-allocate characters " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:66 +msgid "" +"Edits for procedure pointer association " +"(). Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:67 +msgid "" +"[#157] : Edits for rank-agnostic bounds " +"(). Withdrawn because some" +" edits were missing and need to be added. There were concerns about " +"fitting into the framework of generics later on." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:68 +msgid "" +"[#157] : Edits for rank-agnostic array element and section denotation " +"(). Failed (5 v 7). " +"Missing edits, and disagreement on types vs rank-1 integers, the options " +"need to be explored more." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:69 +msgid "" +"[#157] : Edits for rank-agnostic allocation and pointer assignment " +"(). Passed unanimously " +"with minor changes." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:70 +msgid "" +"Interpretation: Public namelist and private variable " +"(). Straw vote (0 yes, 8 " +"no, 9 undecided). Passed unanimously with \"no\" alternative." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:71 +msgid "" +"Interpretation F18/015 ()." +" Passed unanimously." +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:74 +msgid "Skipped" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:76 +msgid "This was on the plan but we did not get to it:" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:78 +msgid "" +"[#5] : US 27 POINTER dummy arguments, INTENT, and target modification " +"()" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:79 +msgid "[#19] : Short-circuiting proposal" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:81 +msgid "More Details" +msgstr "" + +#: ../../source/news/2020-02-28-J3-february-meeting.md:83 +msgid "" +"More details available at [j3-fortran/fortran_proposals " +"#155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at " +"the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt)" +" from the meeting." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:8 +msgid "" +"FortranCon 2020, the first international conference targeting the Fortran" +" programming language, will take place on July 2-4, 2020, in Zürich, " +"Switzerland." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:13 +msgid "" +"FortranCon aims to bring together developers of Fortran libraries, " +"applications, and language itself to share their experience and ideas. " +"The conference is organized in two full days of speaker presentations on" +" July 2 and 3, and a half-day workshop with lectures and hands-on " +"sessions on July 4. Click " +"[here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit an " +"abstract." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:21 +msgid "" +"The keynote presentation will be delivered by Steve Lionel " +"([@doctorfortran](https://twitter.com/doctorfortran)), convener of the " +"US Fortran Standards Committee." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:25 +msgid "" +"The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/)" +" is **free of charge**, with June 1, 2020 as the deadline. Virtual " +"participation will be enabled for speakers and attendees unable to " +"travel." +msgstr "" + +#: ../../source/news/2020-04-06-Announcing-FortranCon-2020.md:30 +msgid "" +"Read more about FortranCon 2020 " +"[here](https://tcevents.chem.uzh.ch/event/12/)." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:8 +msgid "" +"Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and " +"Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) " +"spoke yesterday about the future of Fortran in Episode 40 of the Open " +"Source Directions Webinar. We discussed the current state of the " +"language, how it's currently developed, and what we can do today to " +"build the Fortran community, ecosystem of packages, and developer tools." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:16 +msgid "Watch the episode now:" +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:20 +msgid "" +"Special thanks to our hosts Melissa Mendonça " +"([@melissawm](https://twitter.com/melissawm)) and Madicken Munk " +"([@munkium](https://twitter.com/munkium)), as well as " +"[OpenTeams](https://openteams.com) and " +"[QuanSight](https://www.quansight.com/) for having us." +msgstr "" + +#: ../../source/news/2020-04-18-Fortran-Webinar.md:26 +msgid "" +"You can find all previous episodes of the Open Source Directions webinar" +" [here](https://www.quansight.com/open-source-directions)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:13 +msgid "" +"Welcome to the first monthly Fortran newsletter. It will come out on the " +"first calendar day of every month, detailing Fortran news from the " +"previous month." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:17 +msgid "[This website](#this-website)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:18 +msgid "[Standard Library](#standard-library)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:19 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:16 +msgid "[Package Manager](#package-manager)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:20 +msgid "[WG5 Convenor candidates](#wg5-convenor-candidates)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:21 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:17 +msgid "[Events](#events)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:22 +msgid "[Who's hiring?](#whos-hiring)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:24 +msgid "This website" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:26 +msgid "" +"If you came to this newsletter from elsewhere, welcome to the new Fortran" +" website. We built this site mid-April and hope for it to be _the_ home " +"of Fortran on the internet, which traditionally there hasn't been any to " +"date. Look around and [let us know](https://github.com/fortran-lang" +"/fortran-lang.github.io/issues) if you have any suggestions for " +"improvement. Specifically, [Learn](/learn) and [Packages](/packages) are " +"the pages that we'll be focusing on in the coming months. Please help " +"us make them better!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:35 +msgid "Standard Library" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:37 +msgid "Here's what's new in Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:39 +msgid "" +"[#172](https://github.com/fortran-lang/stdlib/pull/172) New function " +"`cov` in the `stdlib_experimental_stats` module to compute covariance of " +"array elements. Read the full specification [here](https://github.com" +"/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov" +"---covariance-of-array-elements)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:43 +msgid "" +"[#168](https://github.com/fortran-lang/stdlib/pull/168) Specify " +"recommended order of attributes for dummy arguments in the [Stdlib style" +" guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:47 +msgid "[#173](https://github.com/fortran-lang/stdlib/pull/173) Minor bug fix." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:50 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) WIP: Addition of " +"`diag`, `eye`, and `trace` functions to make working with matrices " +"easier." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:54 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:75 +msgid "Package Manager" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:56 +msgid "" +"In the past month we've seen the first working implementation of the " +"[Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). " +"Specifically:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:59 +msgid "FPM supports three commands:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:60 +msgid "`fpm build`--compiles and links your application and/or library." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:61 +msgid "`fpm test`--runs tests if your package has any test programs." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:62 +msgid "`fpm run`--runs the application if your package has an executable program." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:63 +msgid "FPM can build an executable program, a library, or a combination of both." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:64 +msgid "" +"Currently only gfortran is supported as the compiler backend. FPM will " +"suport other compilers soon." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:66 +msgid "" +"Read the [FPM packaging guide](https://github.com/fortran-" +"lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with " +"FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:69 +msgid "" +"FPM is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:72 +msgid "Try to use it. Does it work? No? Let us know!" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:73 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:90 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:82 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:75 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:58 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:95 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:93 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:100 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:178 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:126 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:119 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:160 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:141 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:123 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:157 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:172 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:143 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:208 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:137 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:152 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:165 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:143 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:124 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:136 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:154 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:138 +msgid "" +"Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and " +"see if you can help implement any fixes or features." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:74 +msgid "Adapt your Fortran package for FPM." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:75 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:92 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:84 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:77 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:60 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:97 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:95 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:102 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:180 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:128 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:121 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:162 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:143 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:125 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:159 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:174 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:145 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:210 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:139 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:154 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:145 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:126 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:138 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:156 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:140 +msgid "Improve the documentation." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:77 +msgid "" +"The short term goal of FPM is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are " +"created and published with ease." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:81 +msgid "WG5 Convenor candidates" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:83 +msgid "" +"Last month was also the deadline for the [WG5](https://wg5-fortran.org/) " +"convenor candidates to apply for the next 3-year term (2021-2024). There " +"are two candidates:" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:87 +msgid "" +"[Steve Lionel](https://stevelionel.com), who is also the current WG5 " +"convenor, announced running for another term. Read Steve's " +"[post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-" +"forward) about how he has guided the standardization process over the " +"past three years and his direction for the future." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:92 +msgid "" +"[Ondřej Čertík](https://ondrejcertik.com) has also announced announced to" +" run for the WG5 convenor. Read Ondřej's " +"[announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5" +"-convenor-announcement/) and " +"[platform](https://github.com/certik/wg5_platform_2020) that detail " +"current issues with Fortran language development and how to overcome them" +" going forward." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:99 +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:105 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:90 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:140 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:141 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:176 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:166 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:161 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:215 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:174 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:163 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:260 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:215 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:165 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:181 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:207 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:279 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:296 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:231 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:232 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:284 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:249 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:261 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:369 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:470 +msgid "Events" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:101 +msgid "" +"[OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com)" +" hosted Ondřej Čertík and Milan Curcic in the Episode 40 of the Open " +"Source Directions Webinar. They talked about the current state and future" +" of Fortran, as well as about building the Fortran community and " +"developer tools. Read more about it and watch the video " +"[here](/newsletter/2020/04/18/Fortran-Webinar/)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:105 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:108 +msgid "" +"J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, " +"Nevada. You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:112 +msgid "Who's hiring?" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:114 +msgid "" +"[Intel Corporation (Santa Clara, CA): Software Engineer, " +"Fortran](https://g.co/kgs/aogdeh)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:115 +msgid "" +"[Intel Corporation (Hillsboro, OR): Software Engineer, " +"Fortran](https://g.co/kgs/5X3d2Y)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:116 +msgid "[Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:117 +msgid "" +"[American Cybersystems, Inc. (Binghamton, NY): Software Engineer " +"(Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:118 +msgid "[BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63)" +msgstr "" + +#: ../../source/news/2020-05-01-Fortran-Newsletter-May-2020.md:119 +msgid "" +"[Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and" +" Topology Optimization](https://g.co/kgs/eYftiA)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:9 +msgid "" +"Welcome to the June 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:13 +msgid "[fortran-lang.org](#fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:14 +msgid "[Fortran Discourse](#fortran-discourse)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:15 +msgid "[Standard Library](#fortran-standard-library)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:18 +msgid "[Contributors](#contributors)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:20 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:15 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:15 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:15 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:15 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:15 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:15 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:16 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:15 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:15 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:15 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:15 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:15 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:15 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:15 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:15 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:15 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:16 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:15 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:16 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:15 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:15 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:15 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:15 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:15 +msgid "fortran-lang.org" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:22 +msgid "" +"The Fortran website has been up since mid-April, and we've already got " +"great feedback from the community. In the past month we've updated the " +"[Compilers](/compilers) page which is now comprehensive and includes all " +"major open source and commercial compilers. The [Learn](/learn) page has " +"also seen significant updates—it's been reorganized for easier navigation" +" and currently features a quickstart tutorial, Fortran books, and other " +"online resources." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:30 +msgid "" +"If you haven't yet, please explore the website and [let us " +"know](https://github.com/fortran-lang/fortran-lang.org/issues) if you " +"have any suggestions for improvement. Specifically, we'll be focusing on " +"the [Learn](/learn) page and its mini-books in the coming months. Please " +"help us make them better!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:36 +msgid "Here are some specific items that we worked on:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:38 +msgid "" +"[#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) WIP: " +"Mini-book on building programs" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:40 +msgid "" +"[#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) Improving" +" the structure and navigation of the [Learn](/learn) pages" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:42 +msgid "" +"[#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) Build " +"website previews from pull requests" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:45 +msgid "Fortran Discourse" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:47 +msgid "" +"On May 4 we launched the [Fortran Discourse](https://fortran-" +"lang.discourse.group), an online discussion board for anything and " +"everything Fortran related. You can use it discuss the Fortran language, " +"ask for help, announce events and/or personal projects, or just lurk " +"around. There are already quite a few interesting discussions going on. " +"Join us!" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:54 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:41 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:40 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:32 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:32 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:47 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:34 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:47 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:34 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:44 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:45 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:36 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:40 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:44 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:56 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:36 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:64 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:42 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:35 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:44 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:35 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:35 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:41 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:59 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:45 +msgid "Fortran Standard Library" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:56 +msgid "" +"Recently we launched a [website](https://stdlib.fortran-lang.org) for the" +" API documentation of the Fortran Standard Library. The " +"[website](https://stdlib.fortran-lang.org) is automaticaly generated by " +"[FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). [Code of" +" Conduct](https://stdlib.fortran-" +"lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib" +".fortran-lang.org/page/License.html), and [workflow](https://stdlib" +".fortran-lang.org/page/contributing/Workflow.html) for contributing to " +"the Fortran Standard Library can also be found on the " +"[website](https://stdlib.fortran-lang.org/)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:60 +msgid "Here's what's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:62 +msgid "" +"[#191](https://github.com/fortran-lang/stdlib/pull/191) WIP: Function for" +" computing Pearson correlations among elements of an array in the " +"`stdlib_experimental_stats` module" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:65 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) WIP: Procedures " +"for sparse matrices operations. Ongoing discussion on the API can be " +"found [here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-" +"matrix-API)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:68 +msgid "" +"[#183](https://github.com/fortran-lang/stdlib/pull/183) Automatic API-doc" +" generation and deployment of this [stdlib website](https://stdlib" +".fortran-lang.org)" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:70 +msgid "" +"[#170](https://github.com/fortran-lang/stdlib/pull/170) Addition of the " +"new functions `diag`, `eye`, and `trace` functions to make working with " +"matrices easier. Read the full specifications [here](https://stdlib" +".fortran-lang.org/page/specs/stdlib_experimental_linalg.html)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:77 +msgid "" +"In this past month support for dependencies between packages has been " +"added to the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/fpm). You can specify either a path to another folder on your " +"machine with an fpm package, or a git repository (and optionally a " +"specific branch, tag or commit) that contains the package. fpm will then " +"take care of fetching the dependency for you (if necessary) and any " +"packages it depends on, and compiling and linking it into your project. " +"Check out an example [hello world " +"package](https://gitlab.com/everythingfunctional/hello_fpm) that uses " +"this functionality." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:86 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:78 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:71 +msgid "" +"fpm is still in very early development, and we need as much help as we " +"can get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:89 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:81 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:74 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:57 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:94 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:92 +msgid "" +"Try to use it. Does it work? No? Let us know! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:91 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:83 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:76 +msgid "Adapt your Fortran package for fpm." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:94 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:86 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:79 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:62 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:99 +msgid "" +"The short term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:98 +msgid "Specific items that are new this month:" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:100 +msgid "" +"[#82](https://github.com/fortran-lang/fpm/pull/82) You can now add remote" +" git repositories as Fortran dependencies to your project." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:102 +msgid "" +"[#73](https://github.com/fortran-lang/fpm/pull/73) Improved output " +"messages for the user" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:107 +msgid "" +"We hosted the very first Fortran Monthly call on May 14. The turnout was " +"astonishing--over 23 people joined. You can read the notes from the call " +"[here](https://fortran-lang.discourse.group/t/fortran-monthly-call-" +"may-2020). We'll have another one this month. Subscribe to the [mailing " +"list](https://groups.io/g/fortran-lang) and/or join the [Discourse](https" +"://fortran-lang.discourse.group) to stay tuned." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:113 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place " +"on July 2-4 in Zurich, Switzerland. Virtual participation is enabled for " +"both attendees and speakers. Registration is free and due by June 1, " +"2020. There are quite a few submissions from the fortran-lang community: " +"A talk on [stdlib](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, one " +"about the [Fortran Package Manager (fpm)](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, a talk on " +"[LFortran " +"compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by " +"Ondřej Čertík, as well as one about [building the Fortran " +"community](https://github.com/fortran-" +"lang/talks/tree/HEAD/FortranCon2020-community) by Milan Curcic." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:122 +msgid "" +"J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, " +"Nevada, has been " +"[cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html)." +" However, the work on proposals for the Fortran Standard doesn't stop. " +"You can submit a proposal for the Standards committee " +"[here](https://github.com/j3-fortran/fortran_proposals). For reference, " +"you can read the [notes from the February " +"meeting](/newsletter/2020/02/28/J3-february-meeting)." +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:127 +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:104 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:157 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:151 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:186 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:179 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:173 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:230 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:189 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:188 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:290 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:227 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:186 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:202 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:224 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:296 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:310 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:252 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:247 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:303 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:266 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:282 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:257 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:379 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:485 +msgid "Contributors" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:129 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories [fortran-" +"lang/stdlib](https://github.com/fortran-lang/stdlib), [fortran-" +"lang/fpm](https://github.com/fortran-lang/fpm), [fortran-lang/fortran-" +"lang.org](https://github.com/fortran-lang/fortran-lang.org), " +"[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-06-01-Fortran-Newsletter-June-2020.md:136 +msgid "" +"Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), Laurence Kedward " +"([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas " +"([@jvdp1](https://github.com/jvdp1)), Brad Richardson " +"([@everythingfunctional](https://github.com/everythingfunctional)), Izaak" +" \"Zaak\" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin " +"Diehl ([@MarDiehl](https://github.com/MarDiehl)), " +"[@arjenmarkus](https://github.com/arjenmarkus), Van Snyder " +"([@vansnyder](https://github.com/vansnyder)), " +"[@FortranFan](https://github.com/FortranFan), " +"[@epagone](https://github.com/epagone), Ivan ([@ivan-" +"pi](https://github.com/ivan-pi)), Neil Carlson " +"([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu " +"([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima " +"([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler " +"([@klausler](https://github.com/klausler)), Chris MacMackin " +"([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa " +"([@p-costa](https://github.com/p-costa)), [@mobius-" +"eng](https://github.com/mobius-eng), Salvatore Filippone " +"([@sfilippone](https://github.com/sfilippone)), " +"[@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar " +"([@aktech](https://github.com/aktech)), Bálint Aradi " +"([@aradi](https://github.com/aradi)), Melissa Weber Mendonça " +"([@melissawm](https://github.com/melissawm)), Jacob Williams " +"([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami " +"([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi " +"([@shahmoradi](https://github.com/shahmoradi)), Bill Long " +"([@longb](https://github.com/longb))." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:9 +msgid "" +"Welcome to the July 2020 edition of the monthly Fortran newsletter. The " +"newsletter comes out on the first calendar day of every month and details" +" Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:17 +msgid "" +"Work has continued on the Fortran-lang website, including a new community" +" page and additional tutorial content:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:19 +msgid "" +"[#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated " +"the [Quickstart mini-book](https://fortran-" +"lang.org/learn/quickstart/derived_types) tutorial with a comprehensive " +"overview of derived types;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:21 +msgid "" +"[#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a " +"second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) " +"page on building compiled programs and libraries;" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:23 +msgid "" +"[#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added " +"a new top-level web-page for Fortran-lang community projects. The page " +"gives useful information and links for new contributors, as well as " +"acknowledging each of our many existing contributors. Check it out at " +"." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:27 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:27 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:22 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:22 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:37 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:26 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:35 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:22 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:34 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:35 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:26 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:28 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:30 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:46 +msgid "Ongoing work:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:29 +msgid "" +"[#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code" +" style for Fortran examples in the tutorials. See the corresponding " +"community poll and discussion on [Discourse](https://fortran-" +"lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a" +"-consistent-style-for-code-listings/134);" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:32 +msgid "" +"[#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan" +" for core language tutorials." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:34 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:36 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:29 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:29 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:44 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:31 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:44 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:31 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:41 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:42 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:33 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:37 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:41 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:33 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:58 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:35 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:29 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:38 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:29 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:29 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:35 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:53 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:39 +msgid "" +"[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if" +" you have any suggestions for the website and its content. We welcome any" +" new contributors to the website and the tutorials page in particular - " +"see the [contributor guide](https://github.com/fortran-lang/fortran-" +"lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:37 +msgid "" +"__Did you know__ you don't need to know HTML or any fancy languages to " +"contribute to the website; all of the online tutorials and most of the " +"website content are written in [markdown](https://github.com/adam-p" +"/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for " +"formatting text - don't worry if you haven't used it before, it's very " +"easy to pick up!" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:43 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:42 +msgid "What's new in the Fortran Standard Library:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:45 +msgid "" +"[#209](https://github.com/fortran-lang/stdlib/pull/209) Implements " +"Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the " +"quadrature module (`stdlib_experimental_quadrature`)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:48 +msgid "" +"[#205](https://github.com/fortran-lang/stdlib/pull/205) Tests for and " +"improved standard conformance." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:51 +msgid "Some miscellaneous fixes and improvements:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:53 +msgid "" +"[#208](https://github.com/fortran-lang/stdlib/pull/208) Fixes to support " +"Intel Fortran compilers" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:55 +msgid "" +"[#210](https://github.com/fortran-lang/stdlib/pull/210) Fixes to support " +"NAG compiler" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:57 +msgid "" +"[#207](https://github.com/fortran-lang/stdlib/pull/207) " +"[#211](https://github.com/fortran-lang/stdlib/pull/211) Other minor fixes" +" and improvements" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:61 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:51 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:47 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:63 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:67 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:99 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:96 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:81 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:102 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:94 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:94 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:116 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:137 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:108 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:158 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:102 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:108 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:135 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:88 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:82 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:96 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:114 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:104 +msgid "Fortran Package Manager" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:63 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:53 +msgid "What's new in fpm:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:65 +msgid "" +"[#99](https://github.com/fortran-lang/fpm/pull/99) fpm now lets you " +"specify a custom build script or a Makefile to use. This will help " +"building packages that use a custom structure and/or external " +"dependencies in other languages." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:69 +msgid "" +"[#89](https://github.com/fortran-lang/fpm/pull/89) Allow specifying " +"specific tests or executables to run via command-line arguments." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:71 +msgid "" +"[#85](https://github.com/fortran-lang/fpm/pull/85) Enables having " +"specific dependencies for tests and executables." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:73 +msgid "" +"[#97](https://github.com/fortran-lang/fpm/pull/97) " +"[#100](https://github.com/fortran-lang/fpm/pull/100) " +"[#101](https://github.com/fortran-lang/fpm/pull/101) Minor improvements " +"to the README." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:92 +msgid "" +"We had our second Fortran Monthly call on June 19. You can read watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:97 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:153 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:148 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:183 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:176 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:170 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:222 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:186 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:185 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:287 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:224 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:183 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:199 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:221 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:293 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:307 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:249 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:244 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:300 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:263 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:279 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:254 +msgid "" +"As usual, subscribe to the [mailing list](https://groups.io/g/fortran-" +"lang) and/or join the [Discourse](https://fortran-lang.discourse.group) " +"to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:100 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today " +"(July 2), with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:106 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:159 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of the four repositories:" +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:109 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:162 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:156 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:191 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:110 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:163 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:157 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:192 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:111 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:164 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:159 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:194 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)," +msgstr "" + +#: ../../source/news/2020-07-01-Fortran-Newsletter-July-2020.md:112 +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:165 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:161 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:196 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals):" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:9 +msgid "" +"Welcome to the August 2020 edition of the monthly Fortran newsletter. The" +" newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:17 +msgid "We continued the work on the Fortran-lang website, including:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:19 +msgid "" +"[#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): " +"updates to the Quickstart tutorial on loop control and syntax" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:21 +msgid "" +"[#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): " +"updated the [Book section](https://fortran-lang.org/learn/) with a " +"comprehensive list of books about Fortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:25 +msgid "" +"[#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), " +"[#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), " +"[#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), " +"[#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): " +"additional packages added to the Fortran-lang.org [packages](https" +"://fortran-lang.org/packages) page" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:29 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:43 +msgid "" +"[#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of" +" the Fortran Standard Library has been modified for clarity and ease of " +"use. With these changes, both experimental and stable procedures will " +"reside together in the same modules. The status of the procedures " +"(experimental vs stable) are documented in the code, in the specs, and in" +" the [API docs](https://stdlib.fortran-lang.org/)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:45 +msgid "Main ongoing discussions:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:46 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:47 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside `stdlib`" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:48 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:39 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:55 +msgid "" +"[#221](https://github.com/fortran-lang/stdlib/issues/221): API for a " +"bitset data type" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:49 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:40 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:56 +msgid "" +"[#201](https://github.com/fortran-lang/stdlib/issues/201): API for file " +"system operations" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:54 +msgid "" +"We created the [fpm-registry](https://github.com/fortran-lang/fpm-" +"registry) repository, which serves as a registry of fpm-enabled Fortran " +"packages. Please see the README there to learn how to contribute a " +"package. For now, the registry is simply a list of fpm-enabled Fortran " +"packages that you can use as a dependency in your `fpm.toml` file. Soon, " +"this registry will be used to generate detailed metadata that will be " +"used by fpm to allow you to search for packages from the command-line, " +"e.g. `fpm search ` or similar." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:59 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the " +"design of the new Fortran implementation of fpm in a video call. We " +"agreed on the need for an intermediate package model which will allow for" +" clean separation of fpm frontends (user interface, parsing, and " +"semantics) and fpm backends (fpm itself, CMake, Make, etc.)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:60 +msgid "" +"[#131](https://github.com/fortran-lang/fpm/pull/131), " +"[#132](https://github.com/fortran-lang/fpm/pull/132), " +"[#139](https://github.com/fortran-lang/fpm/pull/139), " +"[#140](https://github.com/fortran-lang/fpm/pull/140), " +"[#142](https://github.com/fortran-lang/fpm/pull/142), " +"[#145](https://github.com/fortran-lang/fpm/pull/145), " +"[#147](https://github.com/fortran-lang/fpm/pull/147), " +"[#148](https://github.com/fortran-lang/fpm/pull/148), " +"[#151](https://github.com/fortran-lang/fpm/pull/151): We merged several " +"pull requests toward the Fortran fpm implementation. The Haskell " +"implementation has moved to the `fpm/bootstrap` directory, and the " +"Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of " +"course, an fpm package itself so it can be built by the Haskell fpm. " +"Soon, it will be able to be build by itself." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:83 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:66 +msgid "Fortran benchmarks" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:85 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:68 +msgid "" +"We created the [benchmarks repository](https://github.com/fortran-" +"lang/benchmarks) with the goal to design and implement a comprehensive " +"set of benchmarks. The benchmarks will aim to compare the performance of " +"various Fortran compilers, as well as the performance of canonical " +"algorithms implemented in Fortran and different languages. If you'd like " +"to contribute in any way, be it the design, implementation, or testing of" +" benchmarks, please join the ongoing discussion [here](https://github.com" +"/fortran-lang/benchmarks/issues)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:89 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:84 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:106 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:103 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:110 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:188 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:136 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:170 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:151 +msgid "Classic Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:91 +msgid "" +"We've begun to evaluate pull requests and merge them into the original " +"Flang compiler again. There is now a biweekly call to discuss issues and " +"plans for Classic Flang. The next call will be Wednesday, August 12, 8:30" +" AM Pacific time. The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:97 +msgid "" +"In the last call, AMD reviewed their outstanding pull requests for " +"Fortran debug metadata enhancements." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:100 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:100 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:131 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:125 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:134 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:196 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:156 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:196 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:162 +msgid "LLVM Flang" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other test suites that use F77." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:106 +msgid "" +"We cominue upstreaming the lowering code from the fir-dev fork (MLIR-" +"based Fortran IR) into the llvm-project repository. Arm is working on " +"changes to support a driver program to replace the throwaway driver we " +"currently have." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:110 +msgid "" +"AMD has been contributing parser and semantic processing for OpenMP " +"constructs like task wait, barrier and parallel constructs." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:113 +msgid "" +"Changes have been made to default parse/unparse/compile processing to " +"default to gfortran (not NVIDIA Fortran)." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:116 +msgid "Valentin Clement has been committing initial changes for OpenACC support." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:119 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:118 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:152 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:148 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:129 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:235 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:204 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:134 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:168 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:182 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:211 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:267 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:218 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:214 +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:131 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:269 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:196 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:251 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:237 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:236 +msgid "LFortran" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:121 +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:120 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:154 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:150 +msgid "What's new in LFortran:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:123 +msgid "" +"The initial prototype C++ backend can translate Fortran's `do concurrent`" +" to C++'s `Kokkos::parallel_for`: " +"[https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:124 +msgid "" +"LFortran has a Twitter account for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:125 +msgid "" +"Work is progressing on the production version of LFortran that is written" +" in C++" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:126 +msgid "" +"22 Merge Requests were merged and 4 issues fixed in July 2020. Some " +"notable ones:" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:127 +msgid "" +"[#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement " +"basic Fortran to C++ translation backend" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:128 +msgid "" +"[!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make " +"simple calculations work via LLVM in interactive mode" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:129 +msgid "" +"[!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build " +"ASR (Abstract Semantic Representation) properly for subroutines and " +"functions" +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:131 +msgid "" +"The short term goal is to get the C++ based production version of " +"LFortran matching most of the features from the Python prototype version " +"and make a public release. The long term goal is to build a modern " +"Fortran compiler that works with any production code and allows it to run" +" efficiently on modern hardware (CPUs and GPUs), both interactively and " +"compiling to binaries, and provide the basis for other tools such as the " +"Fortran to C++ translation, editor support, automatic documentation " +"generation (and doctesting like in Python), automatic formatting and " +"others." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:142 +msgid "" +"[FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 " +"- 4. with many interesting talks. See the talk schedule " +"[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed)." +" All presentations have been recorded and will be soon made available " +"online by the FortranCon organizers." +msgstr "" + +#: ../../source/news/2020-08-01-Fortran-Newsletter-August-2020.md:148 +msgid "" +"We had our third Fortran Monthly call on July 16. You can read watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:9 +msgid "" +"Welcome to the September 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:17 +msgid "We continued the work on the Fortran-lang website, specifically:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:19 +msgid "" +"[#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): " +"Listing fpm packages on the Packages page of the website" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:34 +msgid "" +"There hasn't been new stdlib development in August, however ongoing work " +"and discussions continue:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:36 +msgid "" +"[#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal " +"for logging facilities in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:37 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:53 +msgid "" +"[#225](https://github.com/fortran-lang/stdlib/issues/225): Name " +"convention for derived types in stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:38 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:54 +msgid "" +"[#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and " +"propagating errors inside stdlib" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:42 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:58 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:62 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:58 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:94 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:91 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:76 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:97 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:89 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:89 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:111 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:132 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:103 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:153 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:97 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:103 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:130 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:83 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:77 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:91 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:109 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:99 +msgid "" +"The candidate for file system operations to be included in stdlib is " +"being developed by [@MarDiehl](https://github.com/MarDiehl) and " +"[@arjenmarkus](https://github.com/arjenmarkus) in [this " +"repository](https://github.com/MarDiehl/stdlib_os). Please try it out and" +" let us know how it works, if there are any issues, or if the API can be " +"improved." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:49 +msgid "Ongoing work in fpm:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:51 +msgid "" +"[#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): " +"Implementing internal dependencies and build backend in the Fortran fpm" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:54 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:91 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:89 +msgid "" +"fpm is still in early development and we need as much help as we can get." +" Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:59 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:96 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:94 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:101 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:179 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:127 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:120 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:161 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:142 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:124 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:158 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:173 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:144 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:209 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:138 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:153 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:166 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:144 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:125 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:137 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:155 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:139 +msgid "" +"Adapt your Fortran package for fpm and submit it to the " +"[Registry](https://github.com/fortran-lang/fpm-registry)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:72 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:104 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:101 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:108 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:186 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:134 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:127 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:168 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:149 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:131 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:165 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:180 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:178 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:217 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:146 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:161 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:173 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:151 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:132 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:144 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:162 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:146 +msgid "Compilers" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:74 +msgid "GFortran" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:76 +msgid "" +"GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed " +"include PR94361, a memory leak with finalizers." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:79 +msgid "" +"The development version of `gfortran` now supports the full OpenMP 4.5 " +"specification. This will be released with GCC 11, but of course people " +"can already download and test it." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:86 +msgid "" +"We're evaluating pull requests and merging them into the original Flang " +"compiler again. We pulled in 4 changes in the past couple of weeks, and " +"expect to merge in a few more each week. One upcoming change is the " +"support for LLVM 10, which requires the use of a new fork, the _classic-" +"flang-llvm-project_ fork of the LLVM monorepo. See " +"[PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:94 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:102 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs. We are fixing " +"bugs we find in running FCVS and other F77 test suites (and the F77 parts" +" of non-F77 suites)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:107 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs. We continue to work on refactoring necessary to upstream this " +"fork into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:112 +msgid "" +"Arm is working on changes to support a driver program to replace the " +"temporary driver we currently use." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:115 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:142 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:122 +msgid "143 Merge Requests were merged and 22 issues fixed in August 2020" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:123 +msgid "" +"The C++ backend can now translate to C++ and compile many simple Fortran " +"programs" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:124 +msgid "" +"The parser can now parse a large subset of Fortran (if you find something" +" that cannot be parsed, please " +"[report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all " +"the information is yet represented in the AST (so later stages of the " +"compiler also work on a smaller subset), but one should not get parse " +"errors anymore for most valid codes." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:128 +msgid "" +"Initial `lfortran fmt` subcommand for formatting Fortran files, you can " +"provide feedback [here](https://fortran-lang.discourse.group/t/feedback-" +"for-lfortran-fmt-to-format-fortran-source-code/281)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:131 +msgid "A new command `lfortran kernel` can run LFortran as a Jupyter kernel." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:132 +msgid "" +"LFortran itself gives a nice Python like stacktrace (on Linux and macOS) " +"in Debug mode when an unhandled excetion happens or a segfault." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:135 +msgid "" +"Our goal for September is to get LFortran working for a much larger " +"subset of Fortran and allow it to compile and run via the C++ translation" +" backend (the LLVM backend will follow soon after)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:139 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:174 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:164 +msgid "" +"You can follow LFortran on Twitter for latest updates: " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:143 +msgid "" +"We had our fourth Fortran Monthly call on August 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:153 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:188 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:181 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:175 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:232 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:191 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:190 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:292 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:229 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:188 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:204 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:226 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:298 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:312 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:254 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:249 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:305 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:268 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:284 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:259 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:381 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:487 +msgid "" +"We thank everybody who contributed to fortran-lang in the past month by " +"commenting in any of these repositories:" +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:158 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:193 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)," +msgstr "" + +#: ../../source/news/2020-09-01-Fortran-Newsletter-September-2020.md:160 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:195 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)," +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:9 +msgid "" +"Welcome to the October 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:17 +msgid "This month we've had only one minor change to the website:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:19 +msgid "" +"[#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): Small " +"fix in the opening sentence on the compilers page" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:24 +msgid "" +"[#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): " +"Adding a Benchmarks section, a new dedicated repository was created at " +"https://github.com/fortran-lang/benchmarks and many details have been " +"discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) " +"there." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:34 +msgid "" +"This month we've had an improvement to the `stdlib_ascii` module, as well" +" as addition of logging facilities." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:37 +msgid "" +"[#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to " +"the `stdlib_stats` module by adding explicit conversions." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:38 +msgid "" +"[#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation " +"of the `stdlib_logger` module. It provides a global logger instance for " +"easy use in user applications, as well as a `logger_type` derived type if" +" multiple concurrent loggers are needed. See the [logger " +"specification](https://stdlib.fortran-" +"lang.org/page/specs/stdlib_logger.html) to learn more." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:44 +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:85 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:80 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:46 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:84 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:63 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:163 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:55 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:109 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:57 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:96 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:144 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:55 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:119 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:55 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:103 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:143 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:83 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:154 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:38 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:123 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:24 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:56 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:113 +msgid "Work in progress:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:46 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:51 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of the `stdlib_bitsets` module. It provides a bitset data type." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:47 +msgid "" +"[#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to " +"the `stdlib_ascii` module" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:51 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:53 +msgid "Otherwise, ongoing discussions continue:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:65 +msgid "" +"This month has seen over a dozen additions and improvements to the " +"Fortran implementation of fpm:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:67 +msgid "" +"[#186](https://github.com/fortran-lang/fpm/issues/186): Implement version" +" string validation and comparison" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:68 +msgid "[#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:69 +msgid "" +"[#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to " +"further development of subcommands" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:70 +msgid "" +"[#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source " +"discovery" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:71 +msgid "" +"[#178](https://github.com/fortran-lang/fpm/issues/178): Add more example " +"packages" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:72 +msgid "" +"[#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective " +"testing of single suites and tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:73 +msgid "" +"[#175](https://github.com/fortran-lang/fpm/issues/175): Updated " +"formatting of Markdown documents" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:74 +msgid "" +"[#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell " +"Stack build in CI" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:75 +msgid "" +"[#171](https://github.com/fortran-lang/fpm/issues/171): Increase test " +"coverage of fpm manifest" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:76 +msgid "" +"[#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing " +"tests" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:77 +msgid "" +"[#163](https://github.com/fortran-lang/fpm/issues/163): Use different " +"strategy to fetch git dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:78 +msgid "" +"[#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type " +"identification" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:79 +msgid "" +"[#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing " +"guidelines (you can read them [here](https://github.com/fortran-" +"lang/fpm/CONTRIBUTING.md))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:81 +msgid "" +"[#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading" +" of fpm.toml" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:82 +msgid "" +"[#155](https://github.com/fortran-lang/fpm/issues/155): Internal " +"dependencies and build backend" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:87 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path " +"dependencies" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:88 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto " +"discovery of executables" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:89 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement " +"`fpm new`" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:108 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in the past month." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:111 +msgid "" +"One important merge was support for LLVM 10, which required the use of a " +"new fork, the _classic-flang-llvm-project_ fork of the LLVM monorepo. See" +" [PR#1](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/1) for details." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:117 +msgid "Other recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:118 +msgid "" +"[PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-" +"compiler/flang/pull/658)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:119 +msgid "" +"[PR#737: TRAILZ function added to the fortran " +"compiler](https://github.com/flang-compiler/flang/pull/737)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:120 +msgid "" +"[PR#756: Fix ICE interf:new_symbol_and_link symbol not " +"found](https://github.com/flang-compiler/flang/pull/756)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:121 +msgid "" +"[PR#888: flang gen-exec does not show routine variables with parameter " +"attribute; there are multiple pull requests that this includes (details " +"below)](https://github.com/flang-compiler/flang/pull/888)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:122 +msgid "" +"[PR#916: Fix off-by-one error in minimum integers](https://github.com" +"/flang-compiler/flang/pull/916)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:123 +msgid "" +"[PR#921: Correction of representation of string (character type) " +"constants](https://github.com/flang-compiler/flang/pull/921)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:125 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, October 7 and 21, 8:30 AM Pacific time. The " +"notes from previous calls, upcoming agenda and a link to join the call " +"can be found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:133 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime sufficient to compile and run Fortran 77 programs." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:136 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS). We " +"continue to work on refactoring necessary to upstream the _fir-dev_ fork " +"into LLVM flang proper." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:142 +msgid "Arm has contributed changes toward a full-fledged driver for flang." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:144 +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:140 +msgid "AMD continues to add support for OpenMP semantics and lowering." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:146 +msgid "" +"Valentin Clement continues to contribute parsing and semantics changes " +"for OpenACC support. This will be the topic of the next Flang Technical " +"Community call on Monday, October 5, 8:30 AM Pacific Time." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:150 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC." +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:156 +msgid "59 Merge Requests were merged and 3 issues fixed in September 2020" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:157 +msgid "" +"The FortranCon 2020 LFortran video now " +"[available](https://www.youtube.com/watch?v=tW9tUxVMnzc)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:158 +msgid "" +"LFortran, now imlemented in C++, has surpassed the Python prototype from " +"a year ago" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:160 +msgid "The Jupyter notebook now works as it used to with the Python prototype" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:161 +msgid "" +"A new notebook added showcasing how to visualize AST, ASR and C++ " +"translation in Jupyter " +"([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:163 +msgid "" +"X86 backend to generate direct x86-32 machine code (very fast compilation" +" in Debug mode)" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:165 +msgid "Further parser improvements" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:166 +msgid "Initial Fortran modules support" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:167 +msgid "" +"Initial support for using GFortran modules " +"([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:169 +msgid "" +"Better compiler error messages " +"([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:171 +msgid "" +"The interactive prompt (REPL) now understands arrow keys " +"([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603))" +msgstr "" + +#: ../../source/news/2020-10-01-Fortran-Newsletter-October-2020.md:178 +msgid "" +"We had our fourth Fortran Monthly call on September 25. You can watch the" +" recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:9 +msgid "" +"Welcome to the November 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out on the first calendar day of every month and " +"details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:17 +msgid "This month we've had a few additions and improvements to the website:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:19 +msgid "" +"[#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): New " +"mini-book on setting up the Fortran development environment. You can read" +" it [here](https://fortran-lang.org/learn/os_setup)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:22 +msgid "" +"[#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): " +"Automated posting to @fortranlang Twitter using twitter-together." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:24 +msgid "" +"[#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): Fix " +"for a security vulnerability reported by the GitHub Security Team." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:26 +msgid "" +"The following packages were added to the [Package Index](https://fortran-" +"lang.org/packages): atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, " +"fypp, HANDE, libmbd, libnegf, mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT," +" QMD-PROGRESS, scalapackfx, tapenade, wannier90, and xtb." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:31 +msgid "" +"[#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), " +"[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), " +"[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), " +"[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): Minor " +"fixes and improvements." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:39 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:28 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): " +"In-depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:41 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): " +"Updating the mini-book on building programs." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:49 +msgid "This month progress was made on a few pull requests:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:52 +msgid "" +"[#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation " +"of the `stdlib_stats_distribution` module. It provides probability " +"distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:53 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to" +" support newline characters in the message provided to the logger." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:55 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:51 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:74 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:71 +msgid "Don't hesitate to test and review these pull requests!" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:57 +msgid "Otherwise, ongoing discussions continue;" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:58 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/pull/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:59 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/pull/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:69 +msgid "What's new:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:71 +msgid "" +"[#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm " +"submodule support" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:72 +msgid "" +"[#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to " +"`list_files` and `mkdir` in `fpm_filesystem`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:73 +msgid "" +"[#206](https://github.com/fortran-lang/fpm/issues/206): Add installation " +"script in `install.sh`" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:74 +msgid "" +"[#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote " +"package dependencies (Fortran fpm can now build itself)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:75 +msgid "" +"[#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of" +" executables" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:76 +msgid "" +"[#189](https://github.com/fortran-lang/fpm/issues/189), " +"[#204](https://github.com/fortran-lang/fpm/issues/204), " +"[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm " +"new` in Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:82 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:86 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:165 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:111 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:98 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:146 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:121 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:105 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:145 +msgid "" +"[First beta release](https://github.com/fortran-lang/fpm/milestone/1) " +"(WIP): First feature-complete release of the Fortran implementation." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:83 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and " +"executable runner options" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:84 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler " +"and flags" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:85 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove " +"bashism from install.sh" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:86 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add " +"automatic documentation for Fortran fpm" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:87 +msgid "" +"[#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create " +"package manifest with toml-f build interface" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:97 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:104 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:182 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:130 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:123 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:164 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:145 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:127 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:161 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:176 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:147 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:212 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:141 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:156 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:169 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:147 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:128 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:140 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:158 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:142 +msgid "" +"The short-term goal of fpm is to make development and installation of " +"Fortran packages with dependencies easier. Its long term goal is to build" +" a rich and decentralized ecosystem of Fortran packages and create a " +"healthy environment in which new open source Fortran projects are created" +" and published with ease." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:105 +msgid "" +"We continue to evaluate and merge pull requests into the original Flang " +"compiler again. We pulled in several changes in October." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:108 +msgid "Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:109 +msgid "" +"[PR#660: Enable support for simd directives](https://github.com/flang-" +"compiler/flang/pull/660)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:110 +msgid "" +"[PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug " +"metadata](https://github.com/flang-compiler/flang/pull/878)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:111 +msgid "" +"[PR#910: Fix f90_correct tests](https://github.com/flang-" +"compiler/flang/pull/910)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:112 +msgid "" +"[PR#922: Fix private flag overwrite in " +"find_def_in_most_recent_scope()](https://github.com/flang-" +"compiler/flang/pull/922)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:113 +msgid "" +"[PR#927: f90_correct: exclude tests failing with LLVM 10 on " +"OpenPOWER](https://github.com/flang-compiler/flang/pull/927)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:114 +msgid "" +"[PR#930: Fix HTML docs generation](https://github.com/flang-" +"compiler/flang/pull/930)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:115 +msgid "" +"[PR#931: [flang2] Fix segmentation faults (#421)](https://github.com" +"/flang-compiler/flang/pull/931)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:116 +msgid "" +"[PR#932: [flang1] Do not assume unempty derived types](https://github.com" +"/flang-compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:117 +msgid "" +"[PR#938: [flang2] Fixing possible crash due to ivl being NULL in " +"dinit.cpp](https://github.com/flang-compiler/flang/pull/938)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:119 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls will be Wednesday, November 4 and 18, 8:00 AM Pacific time (note " +"the time change). The notes from previous calls, upcoming agenda and a " +"link to join the call can be found " +"[here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:127 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:129 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:138 +msgid "" +"In conjunction with the MLIR-based code from the _fir-dev_ fork (the " +"Fortran IR used for lowering), Flang can compile and run most F77 " +"programs, including the Fortran Compiler Validation Suite (FCVS)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:133 +msgid "" +"Pat McCormick is working on an RFC for the merge of the lowering code in " +"the fir-dev fork into LLVM master. The goal is to expedite this in a way " +"that is acceptable to the Flang community, so we can do further work in " +"the single master branch." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:138 +msgid "" +"Arm continues to contribute changes toward a full-fledged driver for " +"flang." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:145 +msgid "" +"Michael Kruse continues to add support for building Flang on Windows with" +" MSVC to the point that he can build and test Flang on Windows." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:152 +msgid "9 Merge Requests were merged and 5 issues fixed in October 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:153 +msgid "" +"We gave LFortran " +"[talk](https://cfp.jupytercon.com/2020/schedule/presentation/169" +"/lfortran-interactive-llvm-based-fortran-compiler-for-modern-" +"architectures/) at JupyterCon 2020" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:156 +msgid "" +"A prototype compiler implementation of conditional expressions for the " +"October 2020 Fortran Standards Committee meeting " +"([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:159 +msgid "Better code formatting support (`lfortran fmt`)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:160 +msgid "Improvements to AST" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:161 +msgid "" +"Capture stdout on Windows in a Jupyter notebook " +"([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642))" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:168 +msgid "" +"The US Fortran Standards Committee held a virtual meeting from October " +"12-14. You can read the summary and the discussion " +"[here](https://github.com/j3-fortran/fortran_proposals/issues/185) and " +"all the documents [here](https://j3-fortran.org/doc/meeting/222)." +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:171 +msgid "" +"We had our 5th Fortran Monthly call on October 27. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:184 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:178 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:235 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:194 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:193 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:295 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:232 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:191 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:207 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:229 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:301 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:315 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:257 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:252 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:308 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:271 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:287 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:262 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:490 +msgid "[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:185 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:179 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:236 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:196 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:195 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:297 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:234 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:193 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:209 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:231 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:303 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:317 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:259 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:254 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:310 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:273 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:289 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:264 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:386 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:492 +msgid "[fortran-lang/fpm](https://github.com/fortran-lang/fpm)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:186 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:180 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:237 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:197 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:196 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:298 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:235 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:194 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:210 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:232 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:304 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:318 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:260 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:255 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:311 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:274 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:290 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:265 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:387 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:493 +msgid "[fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:187 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:181 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:239 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:199 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:198 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:301 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:238 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:197 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:213 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:235 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:307 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:321 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:263 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:258 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:315 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:278 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:294 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:269 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:391 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:497 +msgid "" +"[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-" +"lang.org)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:188 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:182 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:240 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:200 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:199 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:302 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:239 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:198 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:214 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:236 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:308 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:322 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:264 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:259 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:316 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:279 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:295 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:270 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:498 +msgid "[fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks)" +msgstr "" + +#: ../../source/news/2020-11-01-Fortran-Newsletter-November-2020.md:189 +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:183 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:241 +msgid "[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:9 +msgid "" +"Welcome to the December 2020 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:17 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:18 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:17 +msgid "This month we've had a few updates to the website:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:19 +msgid "" +"[#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): " +"Updates to the mini-book on building Fortran programs, including the " +"addition of short guides on Meson and CMake. You can read the mini-book " +"[here](https://fortran-lang.org/learn/building_programs)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:23 +msgid "" +"[#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): Add " +"PSBLAS to the package index." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:36 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:49 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:36 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:46 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:47 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:38 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:42 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:46 +msgid "Here's what's new in `stdlib`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:38 +msgid "" +"[#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation " +"of bitsets in `stdlib_bitsets`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:39 +msgid "" +"[#243](https://github.com/fortran-lang/stdlib/pull/243), " +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#252](https://github.com/fortran-lang/stdlib/pull/253), " +"[#255](https://github.com/fortran-lang/stdlib/pull/255): Various " +"improvements to `stdlib_logger`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:43 +msgid "" +"[#245](https://github.com/fortran-lang/stdlib/pull/245), " +"[#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to " +"the CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:48 +msgid "" +"(WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): " +"Implementation of the `stdlib_stats_distribution` module. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:49 +msgid "" +"(WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:54 +msgid "" +"[#220](https://github.com/fortran-lang/stdlib/issues/220): API for file " +"system operations: directory manipulation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:55 +msgid "" +"[#241](https://github.com/fortran-lang/stdlib/issues/241): Include a " +"`split` function (202X feature)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:56 +msgid "" +"[#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to" +" add a logger for debug phases and levels among the different logs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:65 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:101 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:98 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:83 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:104 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:96 +msgid "Here's what's new in `fpm`:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:67 +msgid "" +"[#259](https://github.com/fortran-lang/fpm/pull/259): Update the " +"instructions for building from source in README.md." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:68 +msgid "" +"[#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary " +"releases in CI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:69 +msgid "" +"[#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with " +"external libraries." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:70 +msgid "" +"[#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference " +"document for the package manifest (fpm.toml)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:71 +msgid "" +"[#221](https://github.com/fortran-lang/fpm/pull/221), " +"[#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for " +"test and app executables." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:73 +msgid "" +"[#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler " +"and flags settings in Haskell fpm." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:74 +msgid "" +"[#209](https://github.com/fortran-lang/fpm/pull/209): " +"[#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:76 +msgid "" +"[#216](https://github.com/fortran-lang/fpm/pull/216), " +"[#225](https://github.com/fortran-lang/fpm/pull/225), " +"[#226](https://github.com/fortran-lang/fpm/pull/226), " +"[#229](https://github.com/fortran-lang/fpm/pull/229), " +"[#236](https://github.com/fortran-lang/fpm/pull/236), " +"[#240](https://github.com/fortran-lang/fpm/pull/240), " +"[#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and " +"improvements." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:87 +msgid "" +"(WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261): Specification of " +"the fpm CLI." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:89 +msgid "" +"(WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the " +"`extra` section in fpm.toml." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:90 +msgid "" +"(WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor " +"backend for incremental rebuilds." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:91 +msgid "" +"(WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:92 +msgid "" +"(WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the " +"compiler and specifying test or app target." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:93 +msgid "" +"(WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement " +"`fpm install`." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:94 +msgid "" +"(WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to " +"test release build." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:96 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:173 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:121 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:114 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:155 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:136 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:118 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:152 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:167 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:138 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:200 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:129 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:144 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:157 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:135 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:116 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:128 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:146 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:130 +msgid "" +"`fpm` is still in early development and we need as much help as we can " +"get. Here's how you can help today:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:99 +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:176 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:124 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:117 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:158 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:139 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:121 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:155 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:170 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:141 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:203 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:112 +msgid "" +"We continue to evaluate and merge pull requests into Classic Flang. " +"Recently merged pull requests into Classic Flang include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:113 +msgid "" +"[PR#883: Flang generated executable does not show result variable of " +"function](https://github.com/flang-compiler/flang/pull/883)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:114 +msgid "" +"[PR#933: Updating X-flag entries for internal command line option \"-x " +"49\"](https://github.com/flang-compiler/flang/pull/933)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:115 +msgid "" +"[PR#939: Publish Arm's internal documentation](https://github.com/flang-" +"compiler/flang/pull/939)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:116 +msgid "" +"[PR#941: [DebugInfo] Internal subprogram variable is not accessible for " +"printing in gdb](https://github.com/flang-compiler/flang/pull/941)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:117 +msgid "" +"[PR#942: Implement UNROLL(n) directive](https://github.com/flang-" +"compiler/flang/pull/942)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:118 +msgid "" +"[PR#943: Enable github Actions for push to master and pull requests to " +"master](https://github.com/flang-compiler/flang/pull/943)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:119 +msgid "" +"[PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-" +"compiler/flang/pull/945)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:120 +msgid "" +"[PR#946: Call check_member() for PD_is_contiguous](https://github.com" +"/flang-compiler/flang/pull/946)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:121 +msgid "" +"[PR#951: Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:123 +msgid "Pull requests merged into the supporting projects:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:124 +msgid "" +"[classic flang LLVM monorepo PR#5: [Driver] Reduce downstream " +"delta](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/5)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:125 +msgid "" +"[classic flang LLVM monorepo PR#6: Removing a few CI " +"pipelines](https://github.com/flang-compiler/classic-flang-llvm-" +"project/pull/6)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:126 +msgid "" +"[classic flang LLVM monorepo PR#7: Github Actions added to pre-compile " +"artifacts for flang](https://github.com/flang-compiler/classic-flang-" +"llvm-project/pull/7)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:127 +msgid "" +"[llvm mirror PR#87: Enable github actions for llvm](https://github.com" +"/flang-compiler/llvm/pull/87)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:128 +msgid "" +"[flang-driver PR#94: Enable github actions](https://github.com/flang-" +"compiler/flang-driver/pull/94)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:130 +msgid "" +"The Classic Flang biweekly call has been set up to discuss issues and " +"plans for the next pull requests to be validated and merged. Our next " +"calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes " +"from previous calls, upcoming agenda and a link to join the call can be " +"found [here](https://docs.google.com/document/d/1" +"-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI)." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:136 +msgid "" +"Work continues on LLVM Flang, concentrating on semantics, lowering and " +"runtime. Significant contributions are being made for OpenMP and OpenACC " +"support." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:140 +msgid "" +"Pat McCormick is (still) working on an RFC for the merge of the lowering " +"code in the fir-dev fork into LLVM master. (This was interrupted by " +"Supercomputing 2020 and other ECP duties.) The goal is to expedite this " +"in a way that is acceptable to the Flang community, so we can do further " +"work in the single master branch." +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:143 +msgid "Recent updates include:" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:144 +msgid "" +"Johannes Doerfert has created a web page at https://flang.llvm.org; you " +"can find call and Slack logistics there" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:145 +msgid "" +"Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-" +"tests project: http://lists.llvm.org/pipermail/llvm-" +"dev/2020-November/146873.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:146 +msgid "" +"Andzrej Warzynski has a flang-dev RFC regarding flang option names: " +"http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:147 +msgid "" +"Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help " +"flang driver become independent of clang: http://lists.llvm.org/pipermail" +"/cfe-dev/2020-November/067263.html" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:148 +msgid "" +"Changed representation of CHARACTER data in type system to make more " +"consistent with other types (for arrays)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:149 +msgid "" +"Changed COMPLEX expression representation to provide better handling in " +"lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:150 +msgid "More improvements for supporting Fortran 77 programs" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:151 +msgid "Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:152 +msgid "" +"Continued implementation of table-driven runtime for derived types; " +"posted documentation" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:153 +msgid "Continued implementation of array expression lowering" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:154 +msgid "Improved error checks on forward references" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:155 +msgid "" +"More updates to flang driver (option handling; -E can now be used to " +"invoke just the Flang preprocessor)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:156 +msgid "OpenACC semantic checks for modifiers on enter/exit data, set directives" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:157 +msgid "" +"OpenACC lowering (enter/exit data, update, init, shutdown, wait " +"directives)" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:158 +msgid "" +"OpenMP structure checker updates; semantic checks for copyin clause; " +"schedule class" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:163 +msgid "" +"Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be " +"the new Chair of PL22.3 (J3, US Standards Committee). Brian will serve in" +" his first term until November 2023. Congratulations, Brian!" +msgstr "" + +#: ../../source/news/2020-12-01-Fortran-Newsletter-December-2020.md:165 +msgid "" +"We had our 6th Fortran Monthly call on November 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:9 +msgid "" +"Happy New Year! Welcome to the January 2021 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:20 +msgid "" +"[#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), " +"[#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): Fix " +"build preview" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:23 +msgid "" +"[#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): Fix " +"word spelling error in quickstart page" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:25 +msgid "" +"[#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), " +"[#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), " +"[#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): Add " +"missing packages from the list of popular Fortran projects to the package" +" index" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:29 +msgid "" +"[#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): Update" +" compilers page following Intel oneAPI release" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:31 +msgid "" +"[#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), " +"[#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): In-" +"depth introduction for Fortran with Make." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:37 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:26 +msgid "" +"[#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): " +"Correct compiler page and tutorial regarding Intel oneAPI and PGI to " +"NVIDIA" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:39 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:28 +msgid "" +"[#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) " +"(WIP): We are searching for a representative Fortran code snippet for the" +" website and are looking forward to suggestions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:41 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): " +"Add links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:51 +msgid "" +"[#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method " +"`log_debug` to `stdlib_logger`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:52 +msgid "" +"[#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake " +"check for F18 error stop" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:53 +msgid "" +"[#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI" +" Fortran compiler to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:54 +msgid "" +"[#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level " +"option to ignore logging messages" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:55 +msgid "" +"[#263](https://github.com/fortran-lang/stdlib/pull/263), " +"[#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to " +"CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:57 +msgid "" +"[#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 " +"to CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:58 +msgid "" +"[#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 " +"systems to Windows CI" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:59 +msgid "" +"[#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about" +" memory issues when compiling stdlib with the support of arrays to up 15 " +"ranks" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:60 +msgid "" +"[#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the " +"compilation load by splitting submodules" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:65 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:59 +msgid "" +"[#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:66 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:61 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), " +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:71 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required " +"changes to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:72 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:68 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:59 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:61 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:57 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:83 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of sparse matrices." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:76 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:73 +msgid "" +"Otherwise, ongoing discussions continue about usability of `stdlib` " +"([#7](https://github.com/fortran-lang/stdlib/issues/7), " +"[#215](https://github.com/fortran-lang/stdlib/issues/215), " +"[#279](https://github.com/fortran-lang/stdlib/issues/279), " +"[#280](https://github.com/fortran-lang/stdlib/issues/280), " +"[#285](https://github.com/fortran-lang/stdlib/issues/285)), and new " +"implementations for `stdlib` ([#135](https://github.com/fortran-" +"lang/stdlib/issues/135), [#212](https://github.com/fortran-" +"lang/stdlib/issues/212), [#234](https://github.com/fortran-" +"lang/stdlib/issues/234), [#241](https://github.com/fortran-" +"lang/stdlib/issues/241), [#258](https://github.com/fortran-" +"lang/stdlib/issues/258), [#259](https://github.com/fortran-" +"lang/stdlib/issues/259), [#262](https://github.com/fortran-" +"lang/stdlib/issues/262), [#268](https://github.com/fortran-" +"lang/stdlib/issues/268), [#277](https://github.com/fortran-" +"lang/stdlib/issues/277))." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:103 +msgid "" +"[Alpha release version 0.1.3](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.1.3)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:104 +msgid "" +"[setup-fpm action](https://github.com/marketplace/actions/setup-fpm): " +"GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and " +"Windows runners" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:106 +msgid "" +"[Discussion board](https://github.com/fortran-lang/fpm/discussions): For " +"questions & answers, sharing of ideas, showing off projects and, of " +"course, discussions around fpm" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:108 +msgid "" +"[#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend " +"for incremental rebuilds" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:110 +msgid "" +"[#266](https://github.com/fortran-lang/fpm/pull/251): Dependency " +"management and `fpm update` subcommand" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:112 +msgid "" +"[#255](https://github.com/fortran-lang/fpm/pull/255) Setting the compiler" +" and specifying test or app target" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:114 +msgid "" +"[#262](https://github.com/fortran-lang/fpm/pull/262): Add " +"-fcoarray=single to default gfortran flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:116 +msgid "" +"[#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm " +"install`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:118 +msgid "" +"[#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test " +"release build" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:120 +msgid "" +"[#267](https://github.com/fortran-lang/fpm/pull/267): Fix enumeration of " +"non-library link objects" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:122 +msgid "" +"[#268](https://github.com/fortran-lang/fpm/pull/268): Fix dependency " +"tracking issue in bootstrap version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:124 +msgid "" +"[#271](https://github.com/fortran-lang/fpm/pull/271): Fix Windows run and" +" test commands" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:126 +msgid "" +"[#273](https://github.com/fortran-lang/fpm/pull/273): Update developer " +"documentation (manifest + command line)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:128 +msgid "" +"[#274](https://github.com/fortran-lang/fpm/pull/274): Update README with " +"link to setup-fpm github action." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:130 +msgid "" +"[#280](https://github.com/fortran-lang/fpm/pull/280): Create " +"specification for example section" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:132 +msgid "" +"[#281](https://github.com/fortran-lang/fpm/pull/281): Cleanup: Remove " +"archived Rust prototype" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:134 +msgid "" +"[#284](https://github.com/fortran-lang/fpm/pull/284): Document model and " +"backend for developers" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:136 +msgid "" +"[#285](https://github.com/fortran-lang/fpm/pull/285): CI: update naming " +"of release binaries" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:138 +msgid "" +"[#286](https://github.com/fortran-lang/fpm/pull/286): Implement check for" +" duplicated program names" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:140 +msgid "" +"[#289](https://github.com/fortran-lang/fpm/pull/289): Add support for " +"same compilers as Fortran version to Haskell version" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:142 +msgid "" +"[#291](https://github.com/fortran-lang/fpm/pull/291): Initial " +"implementation of `fpm build --show-model`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:144 +msgid "" +"[#292](https://github.com/fortran-lang/fpm/pull/292): Specify the correct" +" help for `fpm run -h`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:146 +msgid "" +"[#293](https://github.com/fortran-lang/fpm/pull/293): Fix: missing error " +"check after `new_package` call" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:148 +msgid "" +"[#294](https://github.com/fortran-lang/fpm/pull/294): Add: support for " +"detecting .f and .F files" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:150 +msgid "" +"[#300](https://github.com/fortran-lang/fpm/pull/300): Remove " +"-coarray=single option from ifort compiler default options" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:152 +msgid "" +"[#303](https://github.com/fortran-lang/fpm/pull/303): Fixes to source " +"parsing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:154 +msgid "" +"[#304](https://github.com/fortran-lang/fpm/pull/304): Remove note on not " +"supported dependencies in program targets" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:156 +msgid "" +"[#307](https://github.com/fortran-lang/fpm/pull/307): Fix: program object" +" file collision" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:158 +msgid "" +"[#315](https://github.com/fortran-lang/fpm/pull/315): Remove: -ffast-math" +" in gfortran default release flags" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:160 +msgid "" +"[#322](https://github.com/fortran-lang/fpm/pull/322): Group sources by " +"package in the model" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:167 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:113 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Specification" +" of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:170 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:116 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): Update " +"subcommand \"new\" to reflect the addition of support for examples" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:177 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:125 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:118 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:159 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:140 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:122 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:156 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:171 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:142 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:207 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:136 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:151 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:164 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:142 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:123 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:135 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:153 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:137 +msgid "" +"Browse existing *fpm* packages on the [fortran-lang website](https" +"://fortran-lang.org/packages/fpm)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:190 +msgid "There are several pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:192 +msgid "Only one pull request was merged in December:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:194 +msgid "" +"[PR#951 Fix for ICE in atomic instruction generation](https://github.com" +"/flang-compiler/flang/pull/951)" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:198 +msgid "" +"Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly " +"calls. An invitation was sent to the _flang-dev_ LLVM email list on " +"December 22nd. Call notes will be sent to the _flang-dev_ email list and " +"also recorded [here]( https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:202 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:158 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:198 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:164 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:182 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:221 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:150 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:165 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:177 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:155 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:136 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:148 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:166 +msgid "Recent development updates:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:204 +msgid "Semantic analysis fix for index-names of `FORALL` statements" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:205 +msgid "Continued work on parser support for `ALLOCATE`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:206 +msgid "Build tidying" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:207 +msgid "OpenMP semantic checks: atomic, flush" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:208 +msgid "Continued work on new driver" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:209 +msgid "Fix for list-directed REAL output editing" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:210 +msgid "" +"Bug fixes: USE of USE of generic, crash in folding (#48437), crash in " +"OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:211 +msgid "Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()`" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:212 +msgid "" +"OpenACC: update serial construct clauses for 3.1, enforce restriction on " +"routine directive and clauses" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:213 +msgid "OpenMP: adding important clauses to OmpClause, task reduction clause" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:217 +msgid "" +"We had our 7th Fortran Monthly call on December 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:225 +msgid "" +"[Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the " +"Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and " +"the recent fortran-lang developments." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:228 +msgid "" +"[First year of Fortran-lang](https://medium.com/modern-fortran/first-" +"year-of-fortran-lang-d8796bfa0067) by Milan Curcic." +msgstr "" + +#: ../../source/news/2021-01-01-Fortran-Newsletter-January-2021.md:238 +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:198 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:197 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:299 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:236 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:195 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:211 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:233 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:305 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:319 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:261 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:256 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:313 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:276 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:292 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:267 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:389 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:495 +msgid "[fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:9 +msgid "" +"Welcome to the February 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:19 +msgid "" +"[#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): Add " +"links to fpm contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:24 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): " +"Fix author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:38 +msgid "" +"[#303](https://github.com/fortran-lang/stdlib/pull/303), " +"[#301](https://github.com/fortran-lang/stdlib/pull/301), " +"[#294](https://github.com/fortran-lang/stdlib/pull/294): Fixes and " +"improvements for the manual Makefile build" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:42 +msgid "" +"[#293](https://github.com/fortran-lang/stdlib/pull/293): Write a more " +"verbose introduction to building stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:44 +msgid "" +"[#291](https://github.com/fortran-lang/stdlib/pull/291): Export package " +"files (CMake and pkg-config)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:46 +msgid "" +"[#290](https://github.com/fortran-lang/stdlib/pull/290): Rename CMake " +"project from stdlib to fortran\\_stdlib" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:48 +msgid "" +"[#288](https://github.com/fortran-lang/stdlib/pull/288): Follow GNU " +"install conventions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:50 +msgid "" +"[#284](https://github.com/fortran-lang/stdlib/pull/284): Required changes" +" to be able to use `stdlib` as a subproject in CMake" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:52 +msgid "" +"[CMake example](https://github.com/fortran-lang/stdlib-cmake-example): " +"Integration of the Fortran standard library in CMake projects" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:57 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): Add " +"supported compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:100 +msgid "" +"[#342](https://github.com/fortran-lang/fpm/pull/342): Fix broken link in " +"contributing guidelines" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:102 +msgid "" +"[#337](https://github.com/fortran-lang/fpm/pull/337): Allow hyphens in " +"fpm project names in \"fpm new\"" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:104 +msgid "" +"[#335](https://github.com/fortran-lang/fpm/pull/335): Fix: performance " +"regression" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:106 +msgid "" +"[#334](https://github.com/fortran-lang/fpm/pull/334): Remove a name clash" +" in the fpm testsuite" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:118 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): Update: " +"fpm\\_backend with dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:138 +msgid "There are a number of pull requests out for evaluation." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:140 +msgid "A total of 12 pull requests were merged in January." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:142 +msgid "" +"[PR#932 Do not assume unempty derived types](https://github.com/flang-" +"compiler/flang/pull/932)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:143 +msgid "" +"[PR#957 Support Prefetch Directive](https://github.com/flang-" +"compiler/flang/pull/957)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:144 +msgid "" +"[PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-" +"compiler/flang/pull/947)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:145 +msgid "" +"[PR#948 Expand CI to run with GCC-9/10 and " +"LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:146 +msgid "" +"[PR#949 USE rename should check if renamed sptr is available in the " +"scope](https://github.com/flang-compiler/flang/pull/949)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:147 +msgid "" +"[PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on " +"codegen](https://github.com/flang-compiler/flang/pull/971)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:148 +msgid "" +"[PR#940 Flang should generate debug location for limited instructions in " +"prolog](https://github.com/flang-compiler/flang/pull/940)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:149 +msgid "" +"[PR#977 Update apt data before installing sphinx](https://github.com" +"/flang-compiler/flang/pull/977)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:150 +msgid "" +"[PR#751 Fix for len intrinsic returning int*8 in some " +"cases](https://github.com/flang-compiler/flang/pull/751)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:151 +msgid "" +"[PR#956 Minor FileCheck pattern fixes](https://github.com/flang-" +"compiler/flang/pull/956)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:152 +msgid "" +"[PR#978 Fix the readme to point to the correct flang-dev " +"list](https://github.com/flang-compiler/flang/pull/978)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:153 +msgid "" +"[PR#979 Rename direct header to avoid windows " +"conflict](https://github.com/flang-compiler/flang/pull/979)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:160 +msgid "" +"OpenMP semantic checks: private, firstprivate, lastprivate, Workshare " +"Construct, `DO` loop restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:161 +msgid "Detect call to abstract interface" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:162 +msgid "" +"OpenMP - add task_reduction clause, make reduction clause part of " +"OmpClause" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:163 +msgid "" +"New Driver - adding support for various options, testing improvements, " +"standard macro pre-definitions, fixed-form detection, CMake improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:164 +msgid "OpenACC - semantic checks to enforce declare directive restrictions" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:165 +msgid "Internal subprogram improvements" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:166 +msgid "" +"OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by " +"LabelEnforce" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:167 +msgid "Disallow `INTENT` attribute on procedure dummy arguments" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:168 +msgid "Module file improvements and bug fixes" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:169 +msgid "Add tests for procedure arguments with implicit interfaces" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:171 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:233 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:202 +msgid "" +"Call notes will be sent to the _flang-dev_ email list and also recorded " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY)." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:176 +msgid "" +"We had our 8th Fortran Monthly call on January 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:181 +msgid "" +"This year fortran-lang will be applying as a mentor organisation for " +"[Google Summer of Code](https://summerofcode.withgoogle.com/). We have " +"started working on the application and the project ideas; you can join " +"the ongoing discussion [here](https://fortran-lang.discourse.group/t" +"/google-summer-of-code-2021/658). If you'd like to help us flesh out the " +"ideas, or have a project idea of your own, please join our upcoming video" +" calls on February 9 and 16 (call info will be posted in the Discourse " +"thread), or write directly in the Discourse thread. If you're a student, " +"or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:195 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:194 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:296 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:233 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:192 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:208 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:230 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:302 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:316 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:258 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:253 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:309 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:272 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:288 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:263 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:385 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:491 +msgid "" +"[fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang" +"/stdlib-cmake-example)" +msgstr "" + +#: ../../source/news/2021-02-01-Fortran-Newsletter-February-2021.md:201 +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:200 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:304 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:241 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:200 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:216 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:238 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:311 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:325 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:267 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:262 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:320 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:283 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:300 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:275 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:397 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:504 +msgid "[j3-fortran/fortran\\_proposals](https://github.com/j3-fortran/fortran_proposals)" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:9 +msgid "" +"Welcome to the March 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:17 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:17 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:17 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:17 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:17 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:17 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:17 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:17 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:18 +msgid "This month we've had several updates to the website:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:19 +msgid "" +"[#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): Fix " +"author/maintainer output in fpm registry" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:21 +msgid "" +"[#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): Rename" +" all instances of fortran-lang.github.io to fortran-lang.org" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:23 +msgid "" +"[#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): Update" +" package index" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:25 +msgid "" +"[#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): Fix " +"broken link for LLVM flang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:27 +msgid "" +"[#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): Add " +"more electronic structure and atomistic simulation packages" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:29 +msgid "" +"[#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): Add " +"books to learning section" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:31 +msgid "" +"[#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): Fix " +"package information" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:36 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:37 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:28 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:34 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:30 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:31 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:26 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:38 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) " +"(WIP): Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:48 +msgid "" +"[#271](https://github.com/fortran-lang/stdlib/pull/271): Probability " +"Distribution and Statistical Functions--PRNG Module" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:50 +msgid "" +"[#304](https://github.com/fortran-lang/stdlib/pull/304): Add supported " +"compilers MinGW 8, 9, 10" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:52 +msgid "" +"[#310](https://github.com/fortran-lang/stdlib/pull/310): Extend " +"`stdlib_ascii` module for handling character variables" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:54 +msgid "" +"[#324](https://github.com/fortran-lang/stdlib/pull/324): Install " +"setuptools for MinGW builds" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:61 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:63 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:59 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:77 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), " +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), " +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), " +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Implementation of the `stdlib_stats_distribution` modules. It provides " +"probability distribution and statistical functions." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:67 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:69 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:65 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:75 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): " +"Implementation of a module for handling lists of strings" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:69 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): Implement " +"non-fancy functional string type" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:71 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:71 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:67 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:73 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): Legendre " +"polynomials and Gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:74 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:95 +msgid "Please help improve stdlib by testing and reviewing these pull requests!" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:85 +msgid "" +"[#316](https://github.com/fortran-lang/fpm/pull/316): Update subcommand " +"\"new\" to reflect the addition of support for the example/ directory" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:87 +msgid "" +"[#345](https://github.com/fortran-lang/fpm/pull/345): Fpm backend with " +"dynamic openmp scheduling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:89 +msgid "" +"[#346](https://github.com/fortran-lang/fpm/pull/346): Include root dir in" +" path to default example setup" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:91 +msgid "" +"[#349](https://github.com/fortran-lang/fpm/pull/349): Suggest to move the" +" fpm version in the boostrapping process" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:93 +msgid "" +"[#372](https://github.com/fortran-lang/fpm/pull/372): Unify release mode " +"calling convention" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:100 +msgid "" +"[#230](https://github.com/fortran-lang/fpm/pull/230), " +"[#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): Document the " +"specification of the fpm CLI." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:103 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): Hacky fix for" +" the help test" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:105 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): Install " +"script for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:107 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:148 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:123 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:115 +msgid "" +"[#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): Plugin alpha " +"version" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:109 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): Separate " +"build targets from model structure" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:111 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:131 +msgid "" +"The LFortran team is excited to announce that LFortran is now a [NumFOCUS" +" sponsored project](https://numfocus.org/project/lfortran). Please " +"consider donating to LFortran to accelerate its development." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:133 +msgid "" +"4 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Rohit Goswami](https://rgoswami.me/), " +"[Ondřej Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:138 +msgid "Recent Merge Requests highlights:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:139 +msgid "" +"Complex type support (thanks to [Gagandeep " +"Singh](https://github.com/czgdp1807)): " +"[!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), " +"[!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), " +"[!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), " +"[!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), " +"[!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), " +"[!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). " +"[!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:147 +msgid "" +"Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): " +"[!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), " +"[!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), " +"[!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), " +"[!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674)." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:152 +msgid "" +"Initial support for runtime math functions: " +"[!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), " +"[!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673)," +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:155 +msgid "" +"[!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): " +"Implement --show-stacktrace" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:156 +msgid "" +"[!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): " +"Refactor ImplicitCast nodes handling" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:158 +msgid "" +"[!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed " +"floating point printing" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:165 +msgid "" +"We had our 9th Fortran Monthly call on February 25. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:170 +msgid "" +"This year Fortran-lang applied as a mentor organization for [Google " +"Summer of Code](https://summerofcode.withgoogle.com/). Accepted mentor " +"organizations will be announced on March 9. If you're a student, or know " +"students who are [eligible to participate](https://developers.google.com" +"/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know." +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:174 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee is held virtually" +" from February 22 to March 2 (Monday and Tuesday only). Main topics of " +"dicussion are the planned changes for the Fortran 202X revision of the " +"Standard:" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:179 +msgid "[List](https://j3-fortran.org/doc/meeting/223) of all submitted papers" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:180 +msgid "" +"[Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"which papers were discussed each day and voting results" +msgstr "" + +#: ../../source/news/2021-03-01-Fortran-Newsletter-March-2021.md:182 +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:279 +msgid "" +"If you have ideas for new improvements to the language, please propose " +"them [here](https://github.com/j3-fortran/fortran_proposals)." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:9 +msgid "" +"We are excited to announce that Fortran-lang has been accepted as a " +"[Google Summer of Code (GSoC) 2021 mentoring " +"organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)!" +" 🎉" +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:11 +msgid "" +"You can review our project ideas [here](https://github.com/fortran-lang" +"/fortran-lang.org/wiki/GSoC-2021-Project-ideas), and if you have any " +"ideas that are not mentioned, please let us know." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:15 +msgid "" +"We are looking for students to get in touch with us and to apply. Click " +"[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021" +"-Student-instructions) for instructions on how to do so." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:19 +msgid "" +"Our main communication channel will be the [Fortran Discourse](https" +"://fortran-lang.discourse.group/). There, we will announce a date for " +"GSoC video calls where all prospective students are welcome to join to " +"ask questions, discuss, and brainstorm ideas." +msgstr "" + +#: ../../source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md:23 +msgid "We look forward to a productive and fun Google Summer of Code!" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:9 +msgid "" +"Welcome to the April 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:19 +msgid "" +"[#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): " +"Correct value of pi in quickstart mini-book" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:21 +msgid "" +"[#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): Added " +"DelaunaySparse to package list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:23 +msgid "" +"[#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) " +"[#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): GSoC " +"announcement" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:26 +msgid "" +"[#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): Avoid " +"unclear formulation in contributing guide" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:28 +msgid "" +"[#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): Add " +"information about free compiler versions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:30 +msgid "" +"[#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): " +"Improve tags" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:32 +msgid "" +"[#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): " +"Correct subtitle of setting up your os" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:39 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:49 +msgid "" +"[#320](https://github.com/fortran-lang/stdlib/pull/320): Implement non-" +"fancy functional string type" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:51 +msgid "" +"[#362](https://github.com/fortran-lang/stdlib/pull/362): Fix wording in " +"style guide for dimension attribute" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:53 +msgid "" +"[#352](https://github.com/fortran-lang/stdlib/pull/352): Added TOC to " +"README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:55 +msgid "" +"[#346](https://github.com/fortran-lang/stdlib/pull/346) " +"[#356](https://github.com/fortran-lang/stdlib/pull/356): Added " +"to\\_lower, to\\_upper, reverse and to\\_title function to " +"stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:73 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:69 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:71 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:89 +msgid "" +"[#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): Provide " +"abstract base class for a string object" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:75 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): Add " +"functions to convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:77 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): Implement " +"strip and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:79 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:71 +msgid "" +"[#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): Simplify " +"test makefile" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:81 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:73 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:69 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:87 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:113 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:85 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:134 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:81 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:88 +msgid "" +"[#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): Initial " +"checkin for a module for tolerant comparison of reals" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:83 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:75 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): Implement " +"clip function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:85 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:77 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): Add " +"general contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:87 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): Summarize " +"build toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:89 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:79 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:67 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Add sort " +"to stdlib\\_string\\_type module" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:91 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:106 +msgid "" +"[Alpha release version 0.2.0](https://github.com/fortran-" +"lang/fpm/releases/tag/v0.2.0)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:107 +msgid "" +"[Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-" +"feedstock)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:108 +msgid "" +"[#352](https://github.com/fortran-lang/fpm/pull/352): Hacky fix for the " +"help test" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:110 +msgid "" +"[#357](https://github.com/fortran-lang/fpm/pull/357): Install script for " +"Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:112 +msgid "" +"[#369](https://github.com/fortran-lang/fpm/pull/369): Separate build " +"targets from model structure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:114 +msgid "" +"[#370](https://github.com/fortran-lang/fpm/pull/370): Update run " +"subcommand" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:116 +msgid "" +"[#377](https://github.com/fortran-lang/fpm/pull/377): Add explicit " +"include-dir key to manifest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:118 +msgid "" +"[#378](https://github.com/fortran-lang/fpm/pull/378): Add ford-compatible" +" documentation to fpm\\_strings.f90" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:120 +msgid "" +"[#386](https://github.com/fortran-lang/fpm/pull/386): Replace deprecated " +"flags in debug\\_fortran option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:122 +msgid "" +"[#390](https://github.com/fortran-lang/fpm/pull/390) " +"[#407](https://github.com/fortran-lang/fpm/pull/407): Implement --flag " +"option for Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:125 +msgid "" +"[#397](https://github.com/fortran-lang/fpm/pull/397): Add Conda install " +"instructions to the README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:127 +msgid "" +"[#398](https://github.com/fortran-lang/fpm/pull/398): Minor fix: for " +"setting executable link libraries" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:129 +msgid "" +"[#402](https://github.com/fortran-lang/fpm/pull/402): Add fpm description" +" and reorganize the README intro" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:131 +msgid "" +"[#404](https://github.com/fortran-lang/fpm/pull/404): Correct join for " +"null input" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:133 +msgid "" +"[#409](https://github.com/fortran-lang/fpm/pull/409): Give Programs " +"Access to Code in Subdirectories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:135 +msgid "" +"[#414](https://github.com/fortran-lang/fpm/pull/414): Add few important " +"links to README" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:137 +msgid "" +"[#412](https://github.com/fortran-lang/fpm/pull/412): Duplicate module " +"definitions" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:139 +msgid "" +"[#413](https://github.com/fortran-lang/fpm/pull/413): Add: omp\\_lib to " +"intrinsic modules list" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:141 +msgid "" +"[#419](https://github.com/fortran-lang/fpm/pull/419): Split workflow for " +"Haskell and Fortran fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:150 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): Phase out " +"Haskell fpm" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:152 +msgid "" +"[fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): " +"Separate repository for the Haskell fpm version" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:172 +msgid "A total of 10 pull requests were merged in February." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:174 +msgid "" +"[PR#996 tests: one test case supporting PR #966](https://github.com" +"/flang-compiler/flang/pull/996)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:175 +msgid "" +"[PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue" +" #673)](https://github.com/flang-compiler/flang/pull/968)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:176 +msgid "" +"[PR#955 Do not issue an error when character kind 2 is " +"used](https://github.com/flang-compiler/flang/pull/955)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:177 +msgid "" +"[PR#975 Add the option to build release_11x branch of llvm with Github " +"Actions](https://github.com/flang-compiler/flang/pull/975)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:178 +msgid "" +"[PR#974 Fix hash collision handling routine that didn't work due to a " +"fatal mistake (issue #960).](https://github.com/flang-" +"compiler/flang/pull/974)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:179 +msgid "" +"[PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-" +"compiler/flang/pull/1000)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:180 +msgid "" +"[PR#952 Array debugging support with upgraded " +"DISubrange](https://github.com/flang-compiler/flang/pull/952)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:181 +msgid "" +"[PR#1002 Fix for regression introduced by PR #922 (issue " +"#995)](https://github.com/flang-compiler/flang/pull/1002)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:182 +msgid "[PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:183 +msgid "" +"[PR#966 Fixes to address cp2k compilation and runtime " +"issues](https://github.com/flang-compiler/flang/pull/966)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:185 +msgid "A total of 8 pull requests were merged in March." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:187 +msgid "" +"[PR#963 Fix errors on array initialisation with an implied do " +"loop](https://github.com/flang-compiler/flang/pull/963)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:188 +msgid "" +"[PR#1007 fix for issue #1006: stop passing unused uninitialized " +"value](https://github.com/flang-compiler/flang/pull/1007)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:189 +msgid "" +"[PR#1004 Nested implied do loop fix for real numbers](https://github.com" +"/flang-compiler/flang/pull/1004)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:190 +msgid "" +"[PR#710 Test case for capturing procedure pointers to OpenMP parallel " +"regions](https://github.com/flang-compiler/flang/pull/710)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:191 +msgid "" +"[PR#561 flang2: corrected fix for #424](https://github.com/flang-" +"compiler/flang/pull/561)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:192 +msgid "" +"[PR#778 Fixing NCAR test problems with error tolerance lower than " +"E-12.](https://github.com/flang-compiler/flang/pull/778)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:193 +msgid "" +"[PR#1010 LLVM 12 upgrade](https://github.com/flang-" +"compiler/flang/pull/1010)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:194 +msgid "" +"[PR#1012 Remove release_90 from Github Actions](https://github.com/flang-" +"compiler/flang/pull/1012)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:200 +msgid "New Driver:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:201 +msgid "Add options for -fdefault\\* and -flarge-sizes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:202 +msgid "Refine tests for module search directories" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:203 +msgid "Add -fdebug-dump-parsing-log" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:204 +msgid "Add -fdebug-module-writer option" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:205 +msgid "Add debug dump, measure-parse-tree and pre-fir-tree options" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:206 +msgid "Add -Xflang and make -test-io a frontend-only flang" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:207 +msgid "Add -J and -module-dir to f18 driver" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:208 +msgid "Fix -fdefault\\* family bug" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:209 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:189 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:227 +msgid "FIR (Fortran IR - a dialect of MLIR):" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:210 +msgid "Add diagnostic tests for FIR ops verifier" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:211 +msgid "Add FIR Types parser diagnostic tests" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:212 +msgid "" +"Upstream the pre-FIR tree changes (The PFT has been updated to support " +"Fortran 77)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:213 +msgid "Update flang test tool support classes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:214 +msgid "Add zero_bits, array value, and other operations" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:215 +msgid "" +"Upstream utility function valueHasFirAttribute() to be used in subsequent" +" merges" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:216 +msgid "OpenMP - add semantic checks for:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:217 +msgid "OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:218 +msgid "Occurrence of multiple list items in aligned clause for simd directive" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:219 +msgid "Flang OpenMP 4.5 - 2.15.3.6 Reduction clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:220 +msgid "2.15.4.2 - Copyprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:221 +msgid "2.15.3.4 - Firstprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:222 +msgid "2.15.3.5 - Lastprivate clause" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:223 +msgid "Update character tests to use gtest" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:224 +msgid "Adaptations to MLIR API changes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:225 +msgid "Fix call to CHECK() on overriding an erroneous type-bound procedure" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:226 +msgid "Handle type-bound procedures with alternate returns" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:227 +msgid "Runtime: implement INDEX intrinsic function" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:228 +msgid "Fix compilation on MinGW-w64" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:229 +msgid "Extension: forward refs to dummy args under IMPLICIT NONE" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:230 +msgid "Detect circularly defined interfaces of procedures" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:231 +msgid "Implement the related character intrinsic functions SCAN and VERIFY" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:237 +msgid "" +"LFortran is participating in GSoC under the NumFOCUS and Fortran-lang " +"umbrella, if you are interested, please apply: " +"[https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:238 +msgid "" +"7 people contributed code in the last month: [Gagandeep " +"Singh](https://github.com/czgdp1807), [Dominic " +"Poerio](https://dompoer.io/), [Himanshu " +"Pandey](https://github.com/hp77-creator), [Thirumalai " +"Shaktivel](https://github.com/Thirumalai-Shaktivel), [Scot " +"Halverson](https://github.com/scothalverson), [Rohit " +"Goswami](https://rgoswami.me/), [Ondřej " +"Čertík](https://ondrejcertik.com/)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:246 +#, python-format +msgid "" +"114 Merge Requests were " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged)" +" in the past month, highlights" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:247 +msgid "" +"macOS support (both Intel and ARM), compilation and development of " +"LFortran itself (stacktraces work also)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:249 +msgid "" +"Initial implentation of: modules (modfiles, dependencies, ...), " +"interfaces, integer/real kinds, public/private attribute, derived types, " +"strings, variable initializations, pointers, modules" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:252 +msgid "Many other fixes" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:254 +msgid "" +"LFortran is still in pre-alpha stage, but we are making rapid progress " +"towards getting it to compile more Fortran features. We are looking for " +"contributors, if you are interested, please get in touch and we will help" +" you get started. We can be contacted at Zulip Chat, mailinglist or " +"GitLab issues (see https://lfortran.org for links to all three)." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:262 +msgid "" +"We had our 10th Fortran Monthly call on March 24. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:267 +msgid "" +"This year Fortran-lang is a mentor organization for [Google Summer of " +"Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/)." +" If you're a student, or know students who are [eligible to " +"participate](https://developers.google.com/open-" +"source/gsoc/faq#what_are_the_eligibility_requirements_for_participation)," +" and you'd like to help build the Fortran ecosystem please reach out and " +"let us know. The student application window opened on March 29 and will " +"close on April 13 at 14:00 Eastern Time." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:271 +msgid "" +"The 223rd meeting of the US Fortran Standards Committee concluded on " +"March 2. Main topics of dicussion were the planned changes for the " +"Fortran 202X revision of the Standard. Here's the [list of all submitted " +"papers](https://j3-fortran.org/doc/meeting/223), and the " +"[summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of " +"the papers discussed and voting results. The committee also welcomed a " +"new member, Milan Curcic " +"([@milancurcic](https://github.com/milancurcic)), who is the voting " +"alternate to Gary Klimowicz " +"([@gklimowicz](https://github.com/gklimowicz))." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:282 +msgid "" +"Registration is open for the upcoming free webinar on [Fortran for High " +"Performance " +"Computing](https://register.gotowebinar.com/register/7343048137688004108)." +" The webinar is organized by [Excellerat](https://www.excellerat.eu/) and" +" will be presented by Wadud Miah " +"([@wadudmiah](https://github.com/wadudmiah)) from the University of " +"Southampton." +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:300 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:237 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:196 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:212 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:234 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:306 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:320 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:262 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:257 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:314 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:277 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:293 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:268 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:390 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:496 +msgid "[fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell)" +msgstr "" + +#: ../../source/news/2021-04-01-Fortran-Newsletter-April-2021.md:303 +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:240 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:199 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:215 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:237 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:309 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:323 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:265 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:260 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:317 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:280 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:296 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:271 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:393 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:499 +msgid "" +"[fortran-lang/fortran-forum-article-template](https://github.com/fortran-" +"lang/fortran-forum-article-template)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:9 +msgid "" +"In April 2020 we created a website for the Fortran language at [fortran-" +"lang.org](https://fortran-lang.org/). In exactly one year, it grew to be " +"the first result when you search \"Fortran\" in Bing, Yahoo, DuckDuckGo, " +"Ecosia, Qwant, SearchEncrypt and the second result in Google (after the " +"Wikipedia page for Fortran)." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:15 +msgid "" +"The goal of the website is to maintain a neutral place where any Fortran " +"user (expert or novice), compiler vendor (open source or commercial), " +"Fortran Standards Committee member, enthusiast, supporter or anybody else" +" interested is welcome to participate. Fortran was invented in 1956, and " +"we aim to be the stewards of the language and we welcome you to join us." +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:21 +msgid "Here are some of the ways that you can participate:" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:23 +msgid "" +"[Fortran Discourse](https://fortran-lang.discourse.group/) discussion " +"forum" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:24 +msgid "" +"Contribute to [fpm](https://github.com/fortran-lang/fpm/), " +"[stdlib](https://github.com/fortran-lang/stdlib/), the [Fortran " +"website](https://github.com/fortran-lang/fortran-lang.org) or any other " +"project" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:28 +msgid "Join our monthly Fortran call (see announcements at Discourse)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:29 +msgid "Contribute to the Fortran monthly newsletter" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:30 +msgid "" +"Follow our Fortran Twitter account " +"[@fortranlang](https://twitter.com/fortranlang)" +msgstr "" + +#: ../../source/news/2021-04-20-First-Year.md:33 +msgid "" +"Thank you everybody for your support so far. We are looking forward for " +"the second year!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:9 +msgid "" +"Welcome to the May 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:19 +msgid "" +"[#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): Add a " +"first year announcement" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:21 +msgid "" +"[#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): Add " +"dl\\_poly\\_4 to package index" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:23 +msgid "" +"[#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): " +"Include learn resources to online courses" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:30 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:32 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org “Fortran Best Practise” into a mini-book" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:40 +msgid "" +"[#391](https://github.com/fortran-lang/stdlib/pull/391): Add issue " +"templates" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:42 +msgid "" +"[#388](https://github.com/fortran-lang/stdlib/pull/388): Changed " +"filenames for bitset tests" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:44 +msgid "" +"[#384](https://github.com/fortran-lang/stdlib/pull/384): Implement " +"starts\\_with and ends\\_with functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:46 +msgid "" +"[#367](https://github.com/fortran-lang/stdlib/pull/367): Add Intel " +"compiler workflow for OSX" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:48 +msgid "" +"[#360](https://github.com/fortran-lang/stdlib/pull/360): Summarize build " +"toolchain workflow and implied rules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:50 +msgid "" +"[#343](https://github.com/fortran-lang/stdlib/pull/343): Implement strip " +"and chomp as supplement to trim" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:52 +msgid "" +"[#336](https://github.com/fortran-lang/stdlib/pull/336): Add functions to" +" convert integer/logical values to character values" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:81 +msgid "" +"[#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): Correct " +"implementation of to\\_title" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:83 +msgid "" +"[#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): Start the " +"addition of the module stdlib\\_sorting" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:87 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:87 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:109 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:130 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:101 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:151 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:95 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:101 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:128 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:81 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:75 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:89 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:107 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:97 +#, python-format +msgid "" +"Please help improve stdlib by testing and [reviewing pull " +"requests](https://github.com/fortran-" +"lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)!" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:98 +msgid "" +"[#420](https://github.com/fortran-lang/fpm/pull/420): Phase out Haskell " +"fpm" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:100 +msgid "[#468](https://github.com/fortran-lang/fpm/pull/468): Identify OpenBSD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:102 +msgid "[#465](https://github.com/fortran-lang/fpm/pull/465): Fix typo in README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:104 +msgid "" +"[#442](https://github.com/fortran-lang/fpm/pull/442): Use lib instead of " +"ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:106 +msgid "" +"[#440](https://github.com/fortran-lang/fpm/pull/440): Minor edits to " +"README" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:108 +msgid "" +"[#438](https://github.com/fortran-lang/fpm/pull/438): Add external-" +"modules key to build table for non-fpm modules" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:110 +msgid "" +"[#437](https://github.com/fortran-lang/fpm/pull/437): Remove coarray " +"single from default Intel flags" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:112 +msgid "" +"[#433](https://github.com/fortran-lang/fpm/pull/433): Fix to allow " +"compiling C with Intel CC" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:114 +msgid "" +"[#431](https://github.com/fortran-lang/fpm/pull/431): Use different " +"compiler flags on differnt platforms for Intel" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:116 +msgid "" +"[#429](https://github.com/fortran-lang/fpm/pull/429): Use wget if curl is" +" missing in install.sh" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:125 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): Use default " +"instead of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:127 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:113 +msgid "" +"[#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): Allow to find" +" include files / modules in CPATH environment variable" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:129 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:111 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): Response " +"files with ar on Windows" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:131 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): Remove " +"coarray flag from intel debug settings" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:133 +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:109 +msgid "" +"[#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): Refactor: use" +" objects to represent compilers and archiver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:153 +msgid "A total of 5 pull requests were merged in April." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:155 +msgid "" +"[PR#1021 Switch to new LLVM License](https://github.com/flang-" +"compiler/flang/pull/1021)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:156 +msgid "" +"[PR#1025 runtime: register atfork handler to re-initialize internal " +"flangrti locks at fork](https://github.com/flang-" +"compiler/flang/pull/1025)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:157 +msgid "" +"[PR#1026 Test case update for #895](https://github.com/flang-" +"compiler/flang/pull/1026)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:158 +msgid "" +"[PR#1030 Update README.md](https://github.com/flang-" +"compiler/flang/pull/1030)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:159 +msgid "" +"[PR#1034 Github Action use the prebuilt clang to build " +"flang](https://github.com/flang-compiler/flang/pull/1034)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:166 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:192 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:230 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:158 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:167 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:163 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:190 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:197 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:201 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:162 +msgid "OpenMP" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:167 +msgid "[OPENMP5.1]Initial support for novariants clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:168 +msgid "[OPENMP5.1]Initial support for nocontext clause." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:169 +msgid "" +"Add functionality to check \"close nesting\" of regions, which can be " +"used for Semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:170 +msgid "[OpenMP5.1] Initial support for masked directive and filter clause" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:171 +msgid "" +"Modify semantic check for nesting of `ordered` regions to include `close`" +" nesting check." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:172 +msgid "Remove `OmpEndLoopDirective` handles from code." +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:173 +msgid "Add General Semantic Checks for Allocate Directive" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:174 +msgid "New Driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:175 +msgid "Add options for -Werror" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:176 +#, python-format +msgid "" +"Modify the existing test cases that use -Mstandard in f18, to use " +"-pedantic and %flang_fc1 to share with the new driver" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:177 +msgid "Add support for `-cpp/-nocpp`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:178 +msgid "Fix `-fdebug-dump-provenance`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:179 +msgid "Add debug options not requiring semantic checks" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:180 +#, python-format +msgid "Remove `%flang-new` from the LIT configuration" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:181 +msgid "Update the regression tests to use the new driver when enabled" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:182 +msgid "Add support for `-fget-definition`" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:183 +msgid "Move .f77 to the list of fixed-form file extensions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:234 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:152 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:190 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:227 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:195 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:219 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:174 +msgid "Runtime" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:185 +msgid "Implement reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:186 +msgid "Implement numeric intrinsic functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:187 +msgid "TRANSFER() intrinsic function" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:188 +msgid "RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:189 +msgid "Implement IPARITY, PARITY, and FINDLOC reductions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:190 +msgid "Fix unit test failure on POWER" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:191 +msgid "Improve constant folding for type parameter inquiries" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:192 +msgid "Check for conflicting BIND(C) names" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:193 +msgid "Enforce a limit on recursive PDT instantiations" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:194 +msgid "Accept & fold IEEE_SELECTED_REAL_KIND" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:195 +msgid "Define missing & needed IEEE_ARITHMETIC symbols" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:196 +msgid "Handle instantiation of procedure pointer components" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:197 +msgid "Fix checking of argument passing for parameterized derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:198 +msgid "Fix spurious errors from runtime derived type table construction" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:199 +msgid "Check for attributes specific to dummy arguments" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:200 +msgid "Handle structure constructors with forward references to PDTs" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:206 +msgid "98 Merge Requests merged in April" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:207 +msgid "" +"Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy " +"app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)):" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:208 +msgid "" +"Code can be parsed to AST and transformed back to source code which " +"compiles with other compilers and works" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:209 +msgid "" +"About 3rd of the files can be transformed from AST to ASR and the modules" +" saved" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:210 +msgid "Other improvements:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:211 +msgid "Runtime library (more functions work)" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:212 +msgid "Nested functions" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:213 +msgid "Derived types" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:217 +msgid "" +"We had our 11th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-05-01-Fortran-Newsletter-May-2021.md:222 +msgid "" +"Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the " +"University of Southampton presented a webinar on Fortran for High " +"Performance Computing, organized by " +"[Excellerat](https://www.excellerat.eu/). You can find the slides and the" +" recording [here](https://services.excellerat.eu/viewevent/39)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:9 +msgid "" +"We're happy to announce six students that will work on Fortran projects " +"under the Google Summer of Code 2021 program:" +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:12 +msgid "" +"[Aman Godara](https://github.com/aman-godara) will work on strings in the" +" [Fortran Standard Library](https://github.com/fortran-lang/stdlib). " +"Aman's mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and " +"[Milan Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:16 +msgid "" +"[Rohit Goswami](https://github.com/haozeke) will work on the " +"[LFortran](https://lfortran.org) compiler, specifically toward the " +"capability to compile a complex physics package. Rohit's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:20 +msgid "" +"[Jakub Jelínek](https://github.com/kubajj) will work on handling compiler" +" arguments in the [Fortran Package Manager](https://github.com/fortran-" +"lang/fpm). Jakub's mentors will be [Laurence " +"Kedward](https://github.com/lkedward) and [Brad " +"Richardson](https://github.com/everythingfunctional)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:25 +msgid "" +"[Chetan Karwa](https://github.com/chetankarwa) will work on the linked " +"list support in the [Fortran Standard Library](https://github.com" +"/fortran-lang/stdlib). Chetan's mentors will be [Arjen " +"Markus](https://github.com/arjenmarkus) and [Milan " +"Curcic](https://github.com/milancurcic)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:30 +msgid "" +"[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work" +" on the Abstract Syntax Tree generation in the " +"[LFortran](https://lfortran.org) compiler. Thirumalai's mentor will be " +"[Ondřej Čertík](https://github.com/certik)." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:34 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) will work on the support " +"of arrays and allocatables in the [LFortran](https://lfortran.org) " +"compiler. Gagandeep's mentor will be [Ondřej " +"Čertík](https://github.com/certik). Gagandeep was accepted under the " +"NumFOCUS application to GSoC." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:39 +msgid "" +"This is the first year that Fortran-lang applied for Google Summer of " +"Code, and we're beyond excited that our project was allocated this many " +"student slots. You can follow students' progress in their weekly reports " +"in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum." +msgstr "" + +#: ../../source/news/2021-05-18-Welcome-GSoC-students.md:43 +msgid "Thank you, Google, for your support of Fortran and open source software!" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:9 +msgid "" +"Welcome to the June 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:19 +msgid "" +"[#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): " +"Grammar and typo fixes in main page and quickstart minibook" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:21 +msgid "" +"[#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): Script" +" for summarizing PRs" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:23 +msgid "" +"[#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): " +"MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package " +"index" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:25 +msgid "" +"[#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): Fixed " +"grammar in Easy to learn section" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:30 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:44 +msgid "" +"[#417](https://github.com/fortran-lang/stdlib/pull/417): Add GCC-11 to " +"workflow" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:46 +msgid "" +"[#415](https://github.com/fortran-lang/stdlib/pull/415): Corrected Ubuntu" +" version" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:48 +msgid "" +"[#407](https://github.com/fortran-lang/stdlib/pull/407): Changed " +"to\\_title to to\\_sentence and implemented correct to\\_title" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:50 +msgid "" +"[#359](https://github.com/fortran-lang/stdlib/pull/359): Add general " +"contributing guidelines to stdlib" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:52 +msgid "" +"[#355](https://github.com/fortran-lang/stdlib/pull/355): Implement clip " +"function" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:57 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:83 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:59 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:61 +msgid "" +"[#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): Improved " +"support for NAG" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:63 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): " +"Implemented intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:65 +msgid "" +"[#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): Addition " +"of the stdlib\\_sorting module" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:96 +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:120 +msgid "Here is what is new in *fpm*:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:98 +msgid "" +"[#450](https://github.com/fortran-lang/fpm/pull/450): Remove coarray flag" +" from intel debug settings" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:100 +msgid "" +"[#423](https://github.com/fortran-lang/fpm/pull/423): Use default instead" +" of master to reference the repository HEAD" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:107 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): Allow fpm to " +"change the working directory" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:136 +msgid "" +"39 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:137 +msgid "Features that can now be compiled (in the LLVM backend):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:138 +msgid "More nested functions and callbacks (the context is properly propagated)" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:139 +msgid "Runtime: size, lbound, ubound" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:140 +msgid "Return statement" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:141 +msgid "More array operations and declarations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:142 +msgid "Array initializer expressions" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:143 +msgid "Features in ASR only (semantics):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:144 +msgid "Runtime intrinsics: min, max, allocated" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:145 +msgid "Features in AST only (syntax):" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:146 +msgid "Co-arrays" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:147 +msgid "Methods" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:148 +msgid "Enumerations" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:149 +msgid "Attributes in `use`" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:150 +msgid "BOZ constants" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:151 +msgid "Forall" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:152 +msgid "More interfaces" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:153 +msgid "Import" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:154 +msgid "Implicit statements" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:155 +msgid "Select type" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:157 +msgid "The following people contributed code in May 2021:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:159 +msgid "Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:160 +msgid "" +"Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com" +"/Thirumalai-Shaktivel))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:161 +msgid "Ondřej Čertík ([@certik](https://github.com/certik))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:162 +msgid "Dominic Poerio ([@dpoe](https://gitlab.com/dpoe))" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:167 +msgid "" +"We had our 12th Fortran Monthly call on May 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-06-01-Fortran-Newsletter-June-2021.md:172 +msgid "" +"Google Summer of Code program has announced the allocation of students to" +" each project. Fortran-lang received six studens (one through " +"[NumFOCUS](https://numfocus.org/)) who will work across three " +"subprojects: stdlib, fpm, and LFortran. Congratulations and welcome to " +"students [Aman Godara](https://github.com/aman-godara), [Rohit " +"Goswami](https://github.com/haozeke), [Jakub " +"Jelínek](https://github.com/kubajj), [Chetan " +"Karwa](https://github.com/chetankarwa), [Thirumalai " +"Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and [Gagandeep " +"Singh](https://github.com/czgdp1807). Read the full post [here](https" +"://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:9 +msgid "" +"Welcome to the July 2021 edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:19 +msgid "" +"[#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): Add " +"LATTE tight-binding molecular dynamics code to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:21 +msgid "" +"[#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): Add " +"crest program to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:23 +msgid "" +"[#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): " +"Quickstart edits" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:25 +msgid "" +"[#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): Add " +"the SNaC package to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:27 +msgid "" +"[#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): Add " +"QUICK to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:32 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): " +"Add projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:34 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): " +"Add convert_FORTRAN_case formatter to package index" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:36 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:48 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:28 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:38 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:54 +msgid "" +"[#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): " +"Draft: Internationalization for fortran-lang" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:48 +msgid "" +"[#313](https://github.com/fortran-lang/stdlib/pull/313): Legendre " +"polynomials and gaussian quadrature" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:50 +msgid "[#432](https://github.com/fortran-lang/stdlib/pull/432): Outer product" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:52 +msgid "" +"[#439](https://github.com/fortran-lang/stdlib/pull/439): Reduce time " +"spent on sorting tests" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:54 +msgid "" +"[#440](https://github.com/fortran-lang/stdlib/pull/440): Make maximum " +"rank an option" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:56 +msgid "" +"[#433](https://github.com/fortran-lang/stdlib/pull/433): Implemented low " +"level find function for string matching" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:58 +msgid "" +"[#414](https://github.com/fortran-lang/stdlib/pull/414): Implemented " +"intelligent slice functionality" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:60 +msgid "" +"[#428](https://github.com/fortran-lang/stdlib/pull/428): Fix issue with " +"stdlib_sorting" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:62 +msgid "" +"[#419](https://github.com/fortran-lang/stdlib/pull/419): Allow " +"modification of install directory for module files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:64 +msgid "" +"[#430](https://github.com/fortran-lang/stdlib/pull/430): Remove support " +"for GCC 7 and 8" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:66 +msgid "" +"[#424](https://github.com/fortran-lang/stdlib/pull/424): Add separate " +"logical kind parameters" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:71 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): Add `disp`" +" function to display your data" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:73 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` to format other type to string" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:75 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): Implement " +"pad function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:77 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:109 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:81 +msgid "" +"[#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): [FPM] add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:79 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): Implement " +"low-level replace_all function" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:81 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): Addition " +"of a subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:85 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:111 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:83 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:132 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:79 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:86 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:117 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:72 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:66 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:80 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:98 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:86 +msgid "" +"[#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): Sorting " +"string's characters according to their ASCII values" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:91 +msgid "" +"[#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): String " +"list new" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:93 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:115 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:87 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:136 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:83 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:90 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:119 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:74 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:68 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:82 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:100 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:88 +msgid "" +"[#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): " +"Probability Distribution and Statistical Functions -- Beta Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:95 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:117 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:89 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:138 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:85 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:92 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:121 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:76 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:70 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:84 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:102 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:90 +msgid "" +"[#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): " +"Probability Distribution and Statistical Functions -- Gamma Distribution " +"Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:97 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:119 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:91 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:140 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:87 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:94 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:123 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): " +"Probability Distribution and Statistical Functions -- Exponential " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:99 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:121 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:93 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:142 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:89 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:96 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): " +"Probability Distribution and Statistical Functions -- Normal Distribution" +" Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:101 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:123 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:95 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:144 +msgid "" +"[#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): " +"Probability Distribution and Statistical Functions -- Uniform " +"Distribution Module" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:103 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:125 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:97 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:146 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:91 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:98 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:125 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:78 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:72 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:86 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:104 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:92 +msgid "" +"[#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial " +"implementation of COO / CSR sparse format" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:105 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:127 +msgid "" +"[#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): Update " +"CMAKE files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:118 +msgid "" +"__Alpha release update:__ Last month saw the release of __v0.3.0__ for " +"*fpm* which includes a number of [new features and bug " +"fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:122 +msgid "" +"[#504](https://github.com/fortran-lang/fpm/pull/504): install.sh, " +"README.md: Update version number, single source file extension" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:124 +msgid "" +"[#501](https://github.com/fortran-lang/fpm/pull/501): Bump version for " +"new release" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:126 +msgid "" +"[#491](https://github.com/fortran-lang/fpm/pull/491): Catch " +"execute_command_line errors and print useful messages" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:128 +msgid "" +"[#500](https://github.com/fortran-lang/fpm/pull/500): Allow reading " +"version number from file" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:130 +msgid "" +"[#497](https://github.com/fortran-lang/fpm/pull/497): correct for equal " +"sign in flag options to fix #495" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:132 +msgid "" +"[#449](https://github.com/fortran-lang/fpm/pull/449): Response files with" +" ar on Windows" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:134 +msgid "" +"[#490](https://github.com/fortran-lang/fpm/pull/490): Minor fix to module" +" parsing" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:136 +msgid "" +"[#489](https://github.com/fortran-lang/fpm/pull/489): Redirect output " +"when searching for archiver" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:138 +msgid "" +"[#484](https://github.com/fortran-lang/fpm/pull/484): Add support for " +"invoking simple plugins" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:140 +msgid "" +"[#483](https://github.com/fortran-lang/fpm/pull/483): Allow fpm to change" +" the working directory" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:147 +msgid "" +"[#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): quiet mode " +"for #502" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:149 +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:164 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Draft - " +"Compiler flags profiles" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:170 +msgid "" +"49 Merge Requests " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:171 +msgid "Highlights" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:172 +msgid "" +"Improvements to array support in the LLVM backend and at the ASR level: " +"array sections, allocatable arrays, and other improvements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:174 +msgid "" +"Many parser fixes (`lfortran fmt` works on more projects): block data, " +"common block, equivalence, custom operator declaration, flush, critical " +"and event statements" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:177 +msgid "More runtime functions: minval, maxval, real, sum, abs" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:178 +msgid "Optional human readable mod files" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:183 +msgid "" +"We had our 13th Fortran Monthly call on June 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:188 +msgid "" +"Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually " +"from June 21-30 (Mondays and Wednesdays only). You can find all the " +"papers that were discussed " +"[here](https://j3-fortran.org/doc/meeting/224). Highlights from the " +"meeting:" +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:189 +msgid "" +"Conditional expressions syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:190 +msgid "" +"Protected components specifications and syntax for Fortran 202X " +"([paper](https://j3-fortran.org/doc/year/21/21-168.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:191 +msgid "" +"The generics feature planned for Fortran 202Y was discussed at depth " +"([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt))." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:192 +msgid "" +"Jeff Hammond (NVidia Corporation) is the new J3 member as a voting " +"alternate to Bryce Adelstein-Lelbach." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:193 +msgid "Target year for Fortran 202X is 2023, subject to change." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:195 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-07-01-Fortran-Newsletter-July-2021.md:197 +msgid "" +"Work has started for our Google Summer of Code program. You read about " +"our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:9 +msgid "" +"Welcome to the August 2021 edition of the monthly Fortran newsletter. The" +" newsletter comes out at the beginning of every month and details Fortran" +" news from the previous month." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:19 +msgid "" +"[#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): July " +"newsletter" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:21 +msgid "" +"[#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): Add " +"`convert_FORTRAN_case` formatter to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:23 +msgid "" +"[#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): Add " +"projects for Fortran-lua interfacing to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:25 +msgid "" +"[#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): PRs " +"script updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:27 +msgid "" +"[#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): " +"Installation process for GFortran on OpenBSD" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:29 +msgid "" +"[#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): Add " +"Flatiron institute multipole libraries to the package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:31 +msgid "" +"[#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): Small " +"fix in packages index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:33 +msgid "" +"[#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): Bump " +"addressable from 2.7.0 to 2.8.0" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:35 +msgid "" +"[#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): add " +"Apogee and Edinburgh compilers" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:37 +msgid "" +"[#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): Add " +"arrayfire-fortran to package index" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:39 +msgid "" +"[#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): " +"compilers: use more objective tone" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:41 +msgid "" +"[#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): my " +"software with at least 5 stars" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:43 +msgid "" +"[#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): Fix " +"insecure workflow." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:58 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:38 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:66 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:44 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:37 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:46 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:37 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:37 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:43 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:61 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:47 +msgid "Here's what's new in stdlib:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:60 +msgid "" +"[#436](https://github.com/fortran-lang/stdlib/pull/436): implemented low-" +"level `replace_all` function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:62 +msgid "" +"[#454](https://github.com/fortran-lang/stdlib/pull/454): added " +"`stdlib_math` to specs/index.md" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:64 +msgid "" +"[#453](https://github.com/fortran-lang/stdlib/pull/453): implemented " +"count function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:66 +msgid "" +"[#441](https://github.com/fortran-lang/stdlib/pull/441): implemented pad " +"function" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:68 +msgid "" +"[#456](https://github.com/fortran-lang/stdlib/pull/456): slice function's" +" documentation made user friendly" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:70 +msgid "" +"[#459](https://github.com/fortran-lang/stdlib/pull/459): Fix CMake " +"variable usage" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:72 +msgid "" +"[#420](https://github.com/fortran-lang/stdlib/pull/420): First " +"implementation of real-valued linspace." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:74 +msgid "[#468](https://github.com/fortran-lang/stdlib/pull/468): Update CI" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:76 +msgid "" +"[#469](https://github.com/fortran-lang/stdlib/pull/469): CMake: " +"corrections and updates" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:78 +msgid "" +"[#426](https://github.com/fortran-lang/stdlib/pull/426): Addition of a " +"subroutine to compute the median of array elements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:80 +msgid "" +"[#474](https://github.com/fortran-lang/stdlib/pull/474): Bug fix: " +"Allocatable argument 'x' is not allocated #472" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:85 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): " +"[`stdlib_linalg`] Update eye function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:87 +msgid "" +"[#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): " +"[`stdlib_math`] Add seq function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:89 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[`stdlib_linalg`] Add zeros, ones, ex function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:91 +msgid "" +"[#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): " +"[`stdlib_linalg`] Add empty function." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:93 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to character type with fypp" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:95 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:73 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:126 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:77 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:84 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:115 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:70 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:64 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:78 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:96 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:84 +msgid "" +"[#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): Error stop" +" improvements" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:97 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): Revival " +"string list" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:99 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): " +"implemented `move_alloc` for `string_type`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:101 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"`stdlib_hash`: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:103 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:77 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:130 +msgid "" +"[#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): " +"Implementation of a map data type" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:105 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): [feature] " +"`disp`(display your data) & `format_string`(format other type to string, " +"see #444)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:107 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): Add " +"`format_string` routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:139 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:110 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:160 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:104 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:110 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:137 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:90 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:84 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:98 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:116 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:106 +msgid "Here's what's new in fpm:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:141 +msgid "" +"[#507](https://github.com/fortran-lang/fpm/pull/507): optimize file " +"listing" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:143 +msgid "" +"[#511](https://github.com/fortran-lang/fpm/pull/511): check name used for" +" package, executable, test, or example" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:145 +msgid "" +"[#516](https://github.com/fortran-lang/fpm/pull/516): initialize " +"allocatable strings before using in a comparison" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:147 +msgid "[#517](https://github.com/fortran-lang/fpm/pull/517): Fix run" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:149 +msgid "" +"[#522](https://github.com/fortran-lang/fpm/pull/522): remove warnings and" +" fix truncated help text" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:151 +msgid "" +"[#523](https://github.com/fortran-lang/fpm/pull/523): Fix compilation " +"error in ifort" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:156 +msgid "" +"[#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): proposal to " +"close #525 by generating build/.gitignore" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:158 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): Add objects " +"for handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:160 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): expand tabs" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:162 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Draft: " +"initial implementation of `implicit_none`" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:184 +msgid "Updates for July 2021:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:186 +msgid "" +"90 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" MRs, this month we have crossed 1000 total merged MRs, 12 total " +"contributors" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:187 +msgid "" +"Parser: we asked the community to test it, several people have reported " +"about 15 bugs, we have fixed all of them (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:189 +msgid "Initial fixed form parser (AST)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:190 +msgid "Classes and class procedures (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:191 +msgid "Many common array usage now works, including allocatable (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:192 +msgid "Associate construct (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:193 +msgid "Compile time evaluation of constant expressions (ASR)" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:194 +msgid "7 people contributed code:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:195 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:217 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:275 +msgid "Ondřej Čertík" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:196 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:218 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:278 +msgid "Thirumalai Shaktivel" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:197 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:220 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:276 +msgid "Gagandeep Singh" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:198 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:219 +msgid "Rohit Goswami" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:199 +msgid "Dominic Poerio" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:200 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:221 +msgid "Andrew Best" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:201 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:280 +msgid "Sebastian Ehlert" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:203 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)!" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:209 +msgid "" +"We had our 14th Fortran Monthly call on July 20. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:214 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The first call" +" for abstracts is due August 1, and the second is due September 1. For " +"more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-08-01-Fortran-Newsletter-August-2021.md:219 +msgid "" +"Work is well under way started for our Google Summer of Code program. " +"Read about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:9 +msgid "" +"Welcome to the September 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:19 +msgid "" +"[#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): Add " +"NJOY to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:22 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:53 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:127 +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:171 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:50 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:94 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:188 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:29 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:51 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:117 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:22 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:56 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:133 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:33 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:93 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:142 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:24 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:50 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:112 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:24 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:42 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:101 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:28 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:109 +msgid "Work in progress" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:24 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): " +"Update Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:26 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): " +"Add QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:40 +msgid "" +"[#467](https://github.com/fortran-lang/stdlib/pull/467): Implemented " +"move_alloc for string_type" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:42 +msgid "" +"[#470](https://github.com/fortran-lang/stdlib/pull/470): Revival string " +"list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:44 +msgid "" +"[#481](https://github.com/fortran-lang/stdlib/pull/481): [stdlib_linalg] " +"Update eye function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:46 +msgid "" +"[#493](https://github.com/fortran-lang/stdlib/pull/493): Update copyright" +" and remove old artifact" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:48 +msgid "" +"[#444](https://github.com/fortran-lang/stdlib/pull/444): Add " +"format_string routine to format other types to strings" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:50 +msgid "" +"[#483](https://github.com/fortran-lang/stdlib/pull/483): Remove GCC " +"Fortran MinGW 8.4.0 from known to work list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:55 +msgid "" +"[#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): Minor " +"updates to README.md" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:57 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:114 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:65 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:74 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:59 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:116 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:76 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:61 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:118 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:63 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:120 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:71 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): Add " +"testing module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:65 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:122 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:73 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:80 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:113 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:68 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:62 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:76 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:94 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:82 +msgid "" +"[#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): Stdlib " +"linked list" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:67 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:124 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:82 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:69 +msgid "" +"[#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): " +"[stdlib_linalg] Add zeros, ones function." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:71 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): Generating" +" sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:75 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:128 +msgid "" +"[#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): " +"stdlib_hash: waterhash algorithm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:79 +msgid "" +"[#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): " +"[stdlib_io] `disp`(display your data)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:112 +msgid "" +"[Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0):" +" Alpha release update" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:114 +msgid "" +"[#546](https://github.com/fortran-lang/fpm/pull/546): Update version for " +"release 0.4.0" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:116 +msgid "" +"[#548](https://github.com/fortran-lang/fpm/pull/548): Fix build on " +"MacOS/ARM64" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:118 +msgid "" +"[#527](https://github.com/fortran-lang/fpm/pull/527): Add objects for " +"handling compiler and archiver" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:120 +msgid "" +"[#536](https://github.com/fortran-lang/fpm/pull/536): Always call `git " +"init` in fpm new when backfilling" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:122 +msgid "" +"[#533](https://github.com/fortran-lang/fpm/pull/533): Allow extra section" +" in package manifest" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:124 +msgid "" +"[#528](https://github.com/fortran-lang/fpm/pull/528): Generate " +"`build/.gitignore`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:129 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:194 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:123 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:139 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:152 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:126 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:109 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:123 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:141 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:125 +msgid "" +"[#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): Add parent " +"packages into dependency tree" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:131 +msgid "" +"[#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): Expand tabs " +"in source parsing" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:133 +msgid "" +"[#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): Initial " +"implementation of implicit_none" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:135 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:196 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:125 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:141 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:154 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:128 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:111 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:125 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:143 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:127 +msgid "" +"[#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): Compiler " +"flags profiles" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:151 +msgid "FFTPACK" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:153 +msgid "" +"Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík " +"([@certik](https://github.com/certik)) started maintaining the public " +"domain project FFTPACK under the Fortran-lang namespace. The project is " +"readily available for usage in with fpm." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:156 +msgid "Here is what is new in FFTPACK:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:158 +msgid "" +"[#10](https://github.com/fortran-lang/fftpack/pull/10): Add " +"`(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:160 +msgid "" +"[#7](https://github.com/fortran-lang/fftpack/pull/7): Add " +"`dzffti/dzfftf/dzfftb` interfaces" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:162 +msgid "" +"[#4](https://github.com/fortran-lang/fftpack/pull/4): Improve fft " +"interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:164 +msgid "" +"[#6](https://github.com/fortran-lang/fftpack/pull/6): Add " +"`(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:166 +msgid "" +"[#5](https://github.com/fortran-lang/fftpack/pull/5): Add " +"`fftshift/ifftshift`" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:168 +msgid "[#3](https://github.com/fortran-lang/fftpack/pull/3): Add CI: fpm.yml" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:173 +msgid "" +"[#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): Add " +"`(i)dct/dcosti/dcost` interfaces." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:176 +msgid "Feedback and ideas for this project are welcome." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:180 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:219 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:148 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:163 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:175 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:153 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:134 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:146 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:164 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:148 +msgid "Flang" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:184 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:223 +msgid "New Driver and CMake integration:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:185 +msgid "The new driver has replaced the old, hence f18 has been deleted." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:186 +msgid "" +"flang-new (aka. the new driver) now drives the flang bash script before " +"an external compiler is called." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:187 +msgid "Code-generation work is ongoing." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:188 +msgid "" +"Work is now proceeding to enable CMake to recognize the compiler and set " +"the appropriate options for build configurations." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:190 +msgid "" +"Fortran 95 lowering and runtime support is nearing completion, " +"particularly of intrinsics" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:191 +msgid "Code upstreaming will begin again in earnest once F95 is deemed complete" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:193 +msgid "Nesting of region semantic checks" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:194 +msgid "enter_data MLIR to LLVM IR lowering" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:195 +msgid "Semantic checks for allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:196 +msgid "Lowering for various modifiers for the schedule clause" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:197 +msgid "Pretty printer and parser for omp.target operation" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:198 +msgid "Semantic checks for linear, nested barrier, allocate directive" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:199 +msgid "Progress with firstprivate, critical, collapse, ordered, reduction" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:200 +msgid "Lift -Werror checks into local functions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:201 +msgid "Document the flang wrapper script" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:202 +msgid "Fix the extent calculation when upper bounds are less than lower bounds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:203 +msgid "Fix list-directed plural repeated null values at end of record" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:204 +msgid "Fix build failure on MacOS involving std::clock_t" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:205 +msgid "Fix error messages on Windows." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:206 +msgid "Disable Plugins in out-of-tree builds" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:207 +msgid "Correct off-by-one error in SET_EXPONENT" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:209 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:265 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:216 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:212 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:267 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:194 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:249 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:235 +msgid "" +"Call notes are recorded and available upon request " +"[here](https://docs.google.com/document/d/10T-" +"S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-" +"Holby at aperry@lanl.gov for document access." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:213 +msgid "" +"168 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in August 2021" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:216 +msgid "The following people have contributed code to LFortran in August:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:222 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:277 +msgid "Carlos Une" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:223 +msgid "Sebastian Ehlert got LFortran working with fpm" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:224 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:282 +msgid "Many people have reported bugs (thank you all!)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:225 +msgid "" +"Our 3 Google Summer of Code (GSoC) students have successfully finished " +"their projects. Here are their final reports:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:227 +msgid "" +"Gagandeep Singh: " +"[https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:228 +msgid "" +"Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-" +"Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com" +"/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:229 +msgid "" +"Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-" +"reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:231 +msgid "LFortran 0.12.0 was released on August 15" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:233 +msgid "Changes since the last release." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:235 +msgid "Fixed all issues in the parser that were reported (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:236 +msgid "multiple loop single end do" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:237 +msgid "arithmetic if" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:238 +msgid "" +"Comments and empty lines are now represented in AST and formatted " +"correctly (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:239 +msgid "" +"The formatter (`lfortran fmt`) now uses the minimal amount of parentheses" +" in expressions" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:240 +msgid "Initial fixed-form parser (AST)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:241 +msgid "Initial class support (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:242 +msgid "Allocate / deallocate, allocatable arrays (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:243 +msgid "Associate block (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:244 +msgid "Runtime library refactoring (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:245 +msgid "Split into builtin, pure and impure" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:246 +msgid "`iso_fortran_env`, `iso_c_binding` intrinsic modules added" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:247 +msgid "Compile time evaluation (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:249 +msgid "Commits (`git shortlog -ns v0.11.0..v0.12.0`):" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:260 +msgid "Updates in master since the last release:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:262 +msgid "LFortran can now compile binaries on Windows" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:263 +msgid "C interoperation works on all platforms (including Windows and MSVC)" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:264 +msgid "Runtime library improvements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:265 +msgid "Complex intrinsics fixed on all platforms" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:266 +msgid "" +"All trigonometric functions now use the Fortran `impure` interface in the" +" runtime library" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:267 +msgid "More intrinsics implemented" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:268 +msgid "Initial implementation of classes and methods" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:269 +msgid "" +"LFortran now works with `fpm` and compiles the hello world project and a " +"few other example projects" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:270 +msgid "Parser improvements: team and sync statements" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:271 +msgid "" +"Improved handling of character types as function arguments and return " +"values" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:274 +msgid "" +"We are looking for new contributors, so if you are interested, please " +"[get in touch with us](https://lfortran.org/)! We would be happy to do a " +"video call with you to get you started." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:281 +msgid "" +"We had our 15th Fortran Monthly call on August 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:285 +msgid "" +"FortranCon 2021 will be held virtually from September 23-24, 2021. " +"Registration is free of charge and is due by September 15. The second " +"call for abstracts is due September 1. For more information, visit the " +"[FortranCon website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:290 +msgid "" +"Our Google Summer of Code program for 2021 is coming to a close. Read " +"about our students and their progress so far on Discourse: " +msgstr "" + +#: ../../source/news/2021-09-01-Fortran-Newsletter-September-2021.md:310 +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:324 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:266 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:261 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:318 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:281 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:297 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:272 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:394 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:500 +msgid "[fortran-lang/fftpack](https://github.com/fortran-lang/fftpack)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:9 +msgid "" +"Welcome to the October 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:19 +msgid "" +"[#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): " +"September newsletter draft" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:21 +msgid "" +"[#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): Add " +"QCxMS to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:23 +msgid "" +"[#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): Update" +" Silverfrost compiler description." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:25 +msgid "" +"[#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): Fixed " +"typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:27 +msgid "" +"[#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): remove" +" excess 'mpi' tag from fortran2018-examples" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:29 +msgid "" +"[#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): " +"Transferring fortran90.org \"Fortran Best Practices\" into a mini-book" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:31 +msgid "" +"[#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): " +"grammar and spelling from issue #313" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:33 +msgid "" +"[#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): more " +"grammar, spelling, and rewording for Fortran Best Practices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:35 +msgid "" +"[#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): " +"replaced \"be found be found\" with \"be found\"" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:37 +msgid "" +"[#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): " +"Alternative approach to avoiding integer division" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:39 +msgid "" +"[#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): Add " +"incompact3d to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:41 +msgid "" +"[#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): Add " +"fparser to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:43 +msgid "" +"[#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): Adding" +" two more packages to the index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:45 +msgid "" +"[#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): Add " +"pFlogger to package index" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:47 +msgid "" +"[#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): One " +"more package" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:52 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:68 +msgid "[#509](https://github.com/fortran-lang/stdlib/pull/509): fixed typo" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:70 +msgid "" +"[#503](https://github.com/fortran-lang/stdlib/pull/503): refactor " +"documentation regarding consistency" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:72 +msgid "" +"[#511](https://github.com/fortran-lang/stdlib/pull/511): Correctly set " +"CMAKE_INSTALL_MODULEDIR cache variable" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:74 +msgid "" +"[#513](https://github.com/fortran-lang/stdlib/pull/513): Update issue " +"templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:76 +msgid "" +"[#523](https://github.com/fortran-lang/stdlib/pull/523): Rename " +"config.yaml -> config.yml" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:78 +msgid "" +"[#508](https://github.com/fortran-lang/stdlib/pull/508): github-ci: add " +"fpm support" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:80 +msgid "" +"[#475](https://github.com/fortran-lang/stdlib/pull/475): Generating " +"sorting subroutines specific to `character` type with fypp" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:82 +msgid "" +"[#525](https://github.com/fortran-lang/stdlib/pull/525): Add files " +"generated by tests to gitignore" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:84 +msgid "" +"[#529](https://github.com/fortran-lang/stdlib/pull/529): Add maintainer " +"entry to fpm manifest" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:86 +msgid "" +"[#530](https://github.com/fortran-lang/stdlib/pull/530): Make it clearer " +"how the user can control compiler optimization" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:88 +msgid "" +"[#528](https://github.com/fortran-lang/stdlib/pull/528): Reduce " +"redundancy caused by optional arguments" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:90 +msgid "" +"[#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) " +"(`stdlib-cmake-example`): Add example integration with test-drive" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:96 +msgid "" +"[#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): Fix string" +" concat" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:98 +msgid "" +"[#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): Add " +"function gcd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:100 +msgid "" +"[#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): Bump " +"stdlib version to 0.1.0" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:102 +msgid "" +"[#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): Add a " +"changelog for the current features of stdlib" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:104 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:57 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:66 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:105 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:60 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:54 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:68 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:86 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:74 +msgid "" +"[#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): Fix " +"conversion warnings" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:106 +msgid "" +"[#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): Ensure " +"module output directory is generated in configure stage" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:108 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display your data)." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:110 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:70 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:109 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:64 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:58 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:72 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:90 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:78 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC_TEMPLATE.md #504" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:112 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:63 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:72 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:111 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:66 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:60 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:74 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:92 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:80 +msgid "" +"[#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): pop, drop " +"& get with basic range feature for stringlist" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:162 +msgid "[#521](https://github.com/fortran-lang/fpm/pull/521): expand tabs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:164 +msgid "" +"[#557](https://github.com/fortran-lang/fpm/pull/557): Update installer " +"script to update subprojects first" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:166 +msgid "[#558](https://github.com/fortran-lang/fpm/pull/558): Add issue templates" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:168 +msgid "" +"[#565](https://github.com/fortran-lang/fpm/pull/565): Default branch " +"renaming aftermath" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:170 +msgid "" +"[#562](https://github.com/fortran-lang/fpm/pull/562): Add new " +"distributions where fpm is available to README" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:172 +msgid "" +"[#563](https://github.com/fortran-lang/fpm/pull/563): Add workflow to " +"create single source fpm version" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:174 +msgid "" +"[#564](https://github.com/fortran-lang/fpm/pull/564): Separate upload " +"stage in CI testing" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:176 +msgid "" +"[#572](https://github.com/fortran-lang/fpm/pull/572): Build no tests by " +"default" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:178 +msgid "" +"[#549](https://github.com/fortran-lang/fpm/pull/549): Allow setting, " +"archiver, C compiler flags and linker flags from commandline" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:180 +msgid "" +"[#578](https://github.com/fortran-lang/fpm/pull/578): help text was " +"truncated" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:182 +msgid "" +"[#579](https://github.com/fortran-lang/fpm/pull/579): Fix dir not getting" +" removed after testing fpm" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:184 +msgid "" +"[#584](https://github.com/fortran-lang/fpm/pull/584): Actually read " +"environment variables" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:190 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): Enable " +"multiple build output directories" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:192 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:121 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): Add workflow " +"for continuous delivery" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:224 +msgid "" +"flang-omp-report plugin - first full fledged frontend plugin has been " +"contributed" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:225 +msgid "CMake integration - waiting on a new PR" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:226 +msgid "" +"Code-generation work is ongoing - task list has been presented to the " +"community for discussion and approval" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:228 +msgid "Fortran 95 lowering and runtime support is nearing completion" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:229 +msgid "Code upstreaming has begun again" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:231 +msgid "Merged: Critical, collapse clause, Fixes for SNAP." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:232 +msgid "" +"In review: Firstprivate, Ordered, MLIR definitions for a few target side " +"constructs, semantic checks for atomic, critical, sections, simd" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:233 +msgid "OpenMP 5.0 metadirective" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:235 +msgid "Change complex type define in runtime for clang-cl" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:236 +msgid "Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:237 +msgid "" +"GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, " +"STATUS and ERRMSG parameters." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:238 +msgid "COMMAND_ARGUMENT_COUNT runtime implementation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:239 +msgid "Add POSIX implementation for SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:240 +msgid "Fix WRITE after BACKSPACE on variable-length file" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:241 +msgid "Implement Posix version of DATE_AND_TIME runtime" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:242 +msgid "Ported test scripts to Python, enables testing on Windows" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:243 +msgid "More precise checks for NULL() operands" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:244 +msgid "Enforce array conformance in actual arguments to ELEMENTALs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:245 +msgid "" +"Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, " +"UNPACK, and TRANSPOSE" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:246 +msgid "Make this_image() an intrinsic function" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:247 +msgid "Revamp C1502 checking of END INTERFACE [generic-spec]" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:248 +msgid "Accept SIZE(assumed-rank, DIM=n)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:249 +msgid "Validate SIZE(x,DIM=n) dimension for assumed-size array x" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:250 +msgid "Catch errors with intrinsic array inquiry functions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:251 +msgid "Correct overflow detection in folding of real->integer conversions" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:252 +msgid "Upgrade warning to error in case of PURE procedure" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:253 +msgid "Enforce fixed form rules about END continuation" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:254 +msgid "Enforce specification function rules on callee, not call" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:255 +msgid "Catch error: base of DATA statement object can't be a pointer" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:256 +msgid "Represent parentheses around derived types" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:257 +msgid "Enforce constraint: defined ass't in WHERE must be elemental" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:258 +msgid "Catch branching into FORALL/WHERE constructs" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:259 +msgid "Implement semantic checks for ELEMENTAL subprograms" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:260 +msgid "Signal EOR in non advancing IO and move to next record" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:261 +msgid "Extension: reduced scope for some implied DO loop indices" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:262 +msgid "Take result length into account in ApplyElementwise folding" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:263 +msgid "Apply double precision KindCode in specific proc interface" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:269 +msgid "" +"81 " +"[merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged)" +" Merge Requests in September 2021" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:272 +msgid "" +"LFortran Minimum Viable Product (MVP) " +"[released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-" +"product-mvp/)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:273 +msgid "LFortran 0.13.0, 0.13.1 and 0.14.0 released in September" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:274 +msgid "The following people have contributed code to LFortran in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:279 +msgid "Harris M. Snyder" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:281 +msgid "Mengjia Lyu" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:283 +msgid "Main features implemented in September:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:284 +msgid "Operator overloading (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:285 +msgid "Goto (ASR, LLVM)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:286 +msgid "Runtime library improvements: `iand`, `len`, `trim`, `len_trim`" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:287 +msgid "" +"Interactive mode: get complex numbers, intrinsic functions working " +"(Windows, macOS, Linux)" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:289 +msgid "New driver options: --fast, --symtab-only, --target" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:292 +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:227 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:228 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:281 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:247 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:259 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:367 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:468 +msgid "" +"We are looking for new contributors. Please do not hesitate to contact us" +" if you are interested. We will help you get up to speed." +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:298 +msgid "" +"We had our 16th Fortran Monthly call on September 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-10-01-Fortran-Newsletter-October-2021.md:302 +msgid "" +"The second international Fortran Conference (FortranCon) 2021 was held " +"virtually on September 23-24 Video recordings of the talks will be made " +"available soon. For more information, visit the [FortranCon " +"website](https://tcevents.chem.uzh.ch/event/14/)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:9 +msgid "" +"Welcome to the November 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:20 +msgid "" +"[#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): Fix " +"title in learning resources" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:22 +msgid "" +"[#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): Add " +"Cantera to package index" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:24 +msgid "" +"[#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): " +"Quantum Information book, WSL GUI, and typos" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:26 +msgid "" +"[#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): Minor " +"fixes in Best Practices" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:46 +msgid "" +"[0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): " +"Initial version of the Fortran standard library" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:48 +msgid "[#543](https://github.com/fortran-lang/stdlib/pull/543): Fix string concat" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:53 +msgid "" +"[#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): Hash " +"functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:55 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): Fix bug in" +" stringlist" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:59 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib\\_io] add `disp` (display your data)." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:61 +msgid "" +"[#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): adding " +"SPEC\\_TEMPLATE.md" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:67 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): " +"[stdlib\\_linalg] matrix property checks" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:69 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): " +"[stdlib\\_math] add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:75 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): " +"[stdlib\\_math] add `is_close` routines." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:106 +msgid "" +"[#597](https://github.com/fortran-lang/fpm/pull/597): Add LFortran " +"optimization flag to release profile" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:108 +msgid "" +"[#595](https://github.com/fortran-lang/fpm/pull/595): List names without " +"suffix (mainly for Windows)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:110 +msgid "" +"[#590](https://github.com/fortran-lang/fpm/pull/590): Change link command" +" on Windows with `ifort` or `ifx`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:112 +msgid "" +"[#575](https://github.com/fortran-lang/fpm/pull/575): Enable multiple " +"build output directories" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:114 +msgid "" +"[#587](https://github.com/fortran-lang/fpm/pull/587): Bootstrapping " +"instructions version update" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:119 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): Update " +"README.md compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:132 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:147 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) to " +"learn how to build your package with fpm, and the [manifest " +"reference](https://github.com/fortran-lang/fpm/blob/main/manifest-" +"reference.md) to learn what are all the things that you can specify in " +"the fpm.toml file." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:153 +msgid "Front-end and runtime support for CALL EXIT and ABORT" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:154 +msgid "Fix formatted real input regression w/ spaces" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:155 +msgid "Add runtime interface for GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:156 +msgid "More work on SYSTEM_CLOCK runtime API and implementation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:157 +msgid "Implement GET_ENVIRONMENT_VARIABLE(LENGTH)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:159 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for sections " +"construct and test case for simd construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:160 +msgid "" +"Added test case for OpenMP 5.0 specification based semantic checks for " +"parallel sections construct" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:161 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for CRITICAL " +"construct name resolution" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:162 +msgid "Checks for THREADPRIVATE and DECLARE TARGET Directives" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:163 +msgid "Initial parsing/sema for append_args clause for 'declare variant'" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:164 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:170 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:179 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:157 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:138 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:150 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:168 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:150 +msgid "FIR" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:165 +msgid "" +"Add typeparams to fir.array_update, fir.array_fetch and " +"fir.array_merge_store operations. Add optional slice operands to " +"fir.array_merge_store op." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:166 +msgid "" +"Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, " +"fir.alloca, fir.field_index, fir.freemem, fir.store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:167 +msgid "" +"Move the parsers, printers and builders from the TableGen file to the " +".cpp file" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:168 +msgid "Update fir.alloca op - Add pinned attributes and specific builders" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:169 +msgid "Add ops: fir.char_convert and fir.array_modify" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:170 +msgid "" +"Add passes: external name interop, affine promotion, affine demotion, " +"character conversion, abstract result conversion, cfg conversion" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:171 +msgid "Add fir.convert canonicalization patterns" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:172 +msgid "Add the DoLoopHelper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:173 +msgid "Add IfBuilder and utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:174 +msgid "Add FIRBuilder utility functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:175 +msgid "Add character utility functions in FIRBuilder" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:176 +msgid "Add Character helper" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:177 +msgid "Add utility function to FIRBuilder and MutableBox" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:178 +msgid "Add substring to fir.slice operation" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:179 +msgid "" +"Avoid slice with substr in fir.array_load, fir.array_coor and " +"fir.array_merge_store" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:180 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:185 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:193 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:196 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:153 +msgid "Driver" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:181 +msgid "Error if uuidgen is not installed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:182 +msgid "Fix erroneous `&`" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:183 +msgid "Add actions that execute despite semantic errors" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:184 +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:192 +msgid "flang-omp-report" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:185 +msgid "replace std::vector's with llvm::SmallVector" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:186 +msgid "Switch from std::string to StringRef (where possible)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:187 +msgid "replace std::map with llvm::DenseMap" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:188 +msgid "Make builtin types more easily accessible; use them" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:189 +msgid "Fix test regression from SQRT folding" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:190 +msgid "Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:191 +msgid "Take into account SubprogramDetails in GetInterfaceSymbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:192 +msgid "Add debug dump method to evaluate::Expr and semantics::Symbol" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:193 +msgid "Add a wrapper for Fortran main program" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:194 +msgid "Improve runtime interface with C99 complex" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:195 +msgid "Better error recovery for missing THEN in ELSE IF" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:196 +msgid "Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:197 +msgid "Catch mismatched parentheses in prescanner" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:198 +msgid "Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:199 +msgid "Document behavior for nonspecified/ambiguous cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:200 +msgid "Add two negative tests for needExternalNameMangling" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:201 +msgid "Expunge bogus semantic check for ELEMENTAL without dummies" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:202 +msgid "Admit NULL() in generic procedure resolution cases" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:203 +msgid "Fix bogus folding error for ISHFT(x, negative)" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:204 +msgid "Emit unformatted headers & footers even with RECL=" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:205 +msgid "Enforce rest of semantic constraint C919" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:206 +msgid "Extension to distinguish specific procedures" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:207 +msgid "Support NAMELIST input of short arrays" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:208 +msgid "Fix generic resolution case" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:209 +msgid "Speed common runtime cases of DOT_PRODUCT & MATMUL" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:210 +msgid "Fix crash on empty formatted external READs" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:211 +msgid "Extension: allow tabs in output format strings" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:212 +msgid "Fix DOT_PRODUCT for logical" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:213 +msgid "Fix NAMELIST input bug with multiple subscript triplets" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:214 +msgid "Support legacy usage of 'A' edit descriptors for integer & real" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:220 +msgid "155 Merge Requests merged in October 2021" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:221 +msgid "AST to ASR transformation simplified and unified" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:222 +msgid "Many new intrinsics added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:223 +msgid "Rust style error messages, add first warnings and style suggestions" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:224 +msgid "Fixed bugs in location information" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:225 +msgid "C preprocessor added" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:233 +msgid "We have adopted two new Fortran-lang guidelines:" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:234 +msgid "" +"[Governance document](https://github.com/fortran-" +"lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang " +"projects are managed" +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:235 +msgid "" +"[Administration, moderation, and editing guide](https://fortran-" +"lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-" +"and-editing-3) for Fortran Discourse Both documents are part of an effort" +" to increase transparency between Fortran-lang administrators and the " +"rest of the community." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:237 +msgid "" +"The US Fortran Standards Committee (J3) held the meeting 225 October " +"18-27, 2021. The meeting was virtual and on Mondays and Wednesdays only. " +"Discussions focused on resolving any outstanding issues to the Fortran " +"202X features. Here are the links to the meeting " +"[agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), " +"[minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), and " +"[papers](https://j3-fortran.org/doc/meeting/225). See also the [Fortran-" +"lang and LFortran liaison report to " +"J3](https://j3-fortran.org/doc/year/21/21-206.txt) submitted by Ondřej " +"Čertík and Milan Curcic." +msgstr "" + +#: ../../source/news/2021-11-01-Fortran-Newsletter-November-2021.md:245 +msgid "" +"We had our 19th Fortran Monthly call on October 19. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:9 +msgid "" +"Welcome to the December 2021 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:17 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:18 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:17 +msgid "Here's what's new and ongoing in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:19 +msgid "" +"[#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): Fix " +"typo in author field" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:24 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:35 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:26 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:26 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:32 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:50 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:36 +msgid "" +"[#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): " +"Fortran Intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:39 +msgid "" +"[#558](https://github.com/fortran-lang/stdlib/pull/558): Pin specific fpm" +" version" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:41 +msgid "" +"[#556](https://github.com/fortran-lang/stdlib/pull/556): fix some FORD " +"links" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:43 +msgid "" +"[#494](https://github.com/fortran-lang/stdlib/pull/494): Add testing " +"module to allow better structuring of test suites" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:45 +msgid "" +"[#562](https://github.com/fortran-lang/stdlib/pull/562): Minor update " +"`pure/elemental` in `string_type` module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:47 +msgid "" +"[#565](https://github.com/fortran-lang/stdlib/pull/565): Make support for" +" quadruple precision optional" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:49 +msgid "" +"[#566](https://github.com/fortran-lang/stdlib/pull/566): Create a call " +"for reviewers pull request template" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:51 +msgid "" +"[#578](https://github.com/fortran-lang/stdlib/pull/578): Update error in " +"case fypp preprocessor is not found" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:53 +msgid "" +"[#579](https://github.com/fortran-lang/stdlib/pull/579): Add module for " +"handling version information of stdlib" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:58 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): Add " +"routines for saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:60 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:101 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:56 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:50 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:64 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:82 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:70 +msgid "" +"[#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): Add " +"terminal and color escape sequences" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:62 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): Revised " +"Hash functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:64 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:103 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:58 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:52 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:66 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:84 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:72 +msgid "" +"[#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): fixed bug " +"in stringlist" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:68 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:107 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:62 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:56 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:70 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:88 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:76 +msgid "" +"[#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): " +"[stdlib_io] add `disp`(display variable values formatted)." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:112 +msgid "" +"[v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): Alpha " +"release update" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:114 +msgid "" +"[#598](https://github.com/fortran-lang/fpm/pull/598): Update README.md " +"compiler, archiver, & link flags" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:116 +msgid "" +"[#569](https://github.com/fortran-lang/fpm/pull/569): Add workflow for " +"continuous delivery" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:118 +msgid "" +"[#602](https://github.com/fortran-lang/fpm/pull/602): fix(fpm_compiler): " +"intel windows release flag was incorrect" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:120 +msgid "" +"[#607](https://github.com/fortran-lang/fpm/pull/607): Repair --list " +"option and correct obsolete descriptions of the --list option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:122 +msgid "" +"[#612](https://github.com/fortran-lang/fpm/pull/612): Fix modules listing" +" (for install)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:124 +msgid "" +"[#613](https://github.com/fortran-lang/fpm/pull/613): Add: critical " +"section to mkdir in backend" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:126 +msgid "" +"[#616](https://github.com/fortran-lang/fpm/pull/616): Add: workflow to " +"make installer on push and release" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:128 +msgid "" +"[#614](https://github.com/fortran-lang/fpm/pull/614): Bump version to " +"0.5.0" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:130 +msgid "" +"[setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): Fix " +"Latest Option" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:135 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:148 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:122 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): Cleanup the " +"backend output" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:137 +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:150 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:124 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:107 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:121 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:139 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:123 +msgid "" +"[#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): --env switch " +"lets you specify the prefix of the compiler-related environment variables" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:168 +msgid "Use the ultimate symbol in a call to the IsPointer function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:169 +msgid "Add parsing/sema/serialization for 'bind' clause." +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:171 +msgid "Add base of the FIR to LLVM IR pass" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:172 +msgid "Add various FIR to LLVM IR conversion patterns:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:173 +msgid "fir.unreachable" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:174 +msgid "fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:175 +msgid "fir.zero_bits" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:176 +msgid "fir.select and fir.select_rank" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:177 +msgid "fir.extract_value and fir.insert_value" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:178 +msgid "types - fir.box, fir.logical, fir.char, fir.ptr" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:179 +msgid "fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:180 +msgid "fir.convert" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:181 +msgid "fir.call" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:182 +msgid "fir.store and fir.load" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:183 +msgid "Add substr information to fircg.ext_embox and fircg.ext_rebox operations" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:184 +msgid "Use notifyMatchFailure in fir.zero_bits conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:185 +msgid "Restrict array type on fir.insert_on_range" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:186 +msgid "Add test for FIR types conversion" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:187 +msgid "Use contralized values for indexing box" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:188 +msgid "Add complex operations conversion from FIR LLVM IR" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:189 +msgid "Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:191 +msgid "Read environment variables directly" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:193 +msgid "Removed unnecessary comments in flang-omp-report plugin tests" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:194 +msgid "Remove the loop workarounds for nowait clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:195 +msgid "Add flang-omp-report summarising script" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:196 +msgid "Checks for pointers to intrinsic functions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:197 +msgid "Fold SPREAD" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:198 +msgid "Improve error message for misuse of NULL(mold) as data statement constant" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:199 +msgid "Fix crash on \"call system_clock(count_max=j)\"" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:200 +msgid "Fix combined folding of FINDLOC/MAXLOC/MINLOC" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:201 +msgid "Implement GET_ENVIRONMENT_VARIABLE(VALUE)" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:202 +msgid "" +"Remove builder that takes SSA value instead of Attribute on " +"ExtractValueOp, InsetValueOp, and InsertOnRangeOp" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:203 +msgid "Remove getModel in DescriptorModel.h" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:204 +msgid "Set the addendum when establishing pointer section in descriptor" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:205 +msgid "Fix error in characteristics check at procedure pointer assignment" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:206 +msgid "Initial parsing/sema for 'align' clause" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:207 +msgid "Don't reference non-invariant symbols in shape expressions" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:208 +msgid "Make subscript list argument a nullable pointer" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:209 +msgid "Distinguish error/warning cases for bad jumps into constructs" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:210 +msgid "Fix folding of EPSILON()" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:216 +msgid "32 Merge Requests merged in November 2021" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:217 +msgid "Support for same name interface and subroutine/function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:218 +msgid "Compile-time evaluation for bit intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:219 +msgid "Implement the `repeat` and `shape` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:220 +msgid "Variadic support for `min` and `max` intrinsics" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:221 +msgid "Implement the scalar `random_number` function" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:222 +msgid "Fixes and improved error message for `read` and `write` statements" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:223 +msgid "Support the `final`, `intrinsic`, and `private` attributes" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:224 +msgid "Implement the `ieee_arithmetic` intrinsic module" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:225 +msgid "Support for the `abstract` class" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:226 +msgid "Support for `assignment(=)` on `use` statement" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:234 +msgid "" +"Sebastian Ehlert presented the Fortran Package Manager at the " +"PackagingCon 2021 conference. You can watch the recording below:" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:237 +msgid "" +"Recordings of all FortranCon 2021 presentations are now available to view" +" in the [FortranCon YouTube " +"Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +" Enjoy!" +msgstr "" + +#: ../../source/news/2021-12-01-Fortran-Newsletter-December-2021.md:240 +msgid "" +"We had our 20th Fortran Monthly call on November 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:9 +msgid "" +"With another year behind us, let's review the progress that the Fortran-" +"lang community has made. If you're new to Fortran-lang, here's a quick " +"intro: We're an open source community that aims to develop modern Fortran" +" tooling and nurture a rich ecosystem of libraries, as well as to provide" +" a friendly, helpful, and inclusive space for newcomers and experienced " +"Fortran programmers to work together. We started in late 2019 and have " +"been going ever since. If you're first discovering (or re-discovering) " +"Fortran through this article, welcome, and we hope it inspires you to try" +" Fortran for one of your projects. In this article we summarize new " +"developments from 2021, from flagship and new projects to community " +"development and outreach." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:24 +msgid "Standard Library (stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:26 +msgid "" +"To date, [33 people](https://github.com/fortran-" +"lang/stdlib/graphs/contributors) have contributed code to stdlib, and " +"more than 100 people have participated in discussions. More than a dozen " +"new modules have been added in 2021:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:31 +msgid "" +"`stdlib_array`: Provides `trueloc` and `falseloc` which allow you to " +"index an array based on a logical condition in a functional style" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:33 +msgid "`stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:34 +msgid "`stdlib_math`: Provides a number of common mathematical functions" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:35 +msgid "`stdlib_random`: Pseudo-random integer number generation" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:36 +msgid "" +"`stdlib_selection`: Selection procedures for selecting elements from an " +"array given a desired range" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:38 +msgid "" +"`stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm " +"and introsort by David Musser" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:40 +msgid "" +"`stdlib_specialfunctions`: Provides the Legendre function and its " +"derivative in support of the Gaussian quadrature procedures" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:42 +msgid "" +"`stdlib_stats_distribution_normal`: Functions to sample values from a " +"normal distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:44 +msgid "" +"`stdlib_stats_distribution_uniform`: Functions to sample values from a " +"uniform distribution" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:46 +msgid "" +"`stdlib_string_type`: Provides a `string_type` derived type that " +"alleviates some limitations of the variable-length `character` variables." +" `string_type` is compatible with all intrinsic procedures that operate " +"on `character`." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:49 +msgid "" +"`stdlib_stringlist_type`: A derived type that is a 1-dimensional list of " +"strings" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:51 +msgid "" +"`stdlib_strings`: Provides a number of inquiry and manipulation " +"procedures that complement the intrinsic set" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:53 +msgid "`stdlib_version`: Allows querying the version of the stdlib library build" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:55 +msgid "" +"which brings us to a total of 23 modules in stdlib. You can read about " +"these modules in more detail on the [stdlib API docs " +"website](https://stdlib.fortran-lang.org)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:59 +msgid "" +"Besides the new modules, procedures, and derived types, there have been a" +" few key improvements in terms of stdlib delivery:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:62 +msgid "" +"You can now use stdlib as a dependency in your fpm projects, see " +"[here](https://github.com/fortran-lang/stdlib#build-with-fortran-" +"langfpm). This significantly lowers the bar for getting started with " +"stdlib." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:65 +msgid "" +"We had our first stdlib release (0.1.0) on October 4. As of now we don't " +"have a set release schedule, and plan to publish a new release when there" +" is significant new functionality. As stdlib matures and becomes more " +"widely used, we expect releases to become more frequent." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:70 +msgid "" +"We now maintain a [change log](https://github.com/fortran-" +"lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is " +"documented. This is a useful document to reference when you want to know " +"what's been added to the stdlib since the latest release." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:75 +msgid "" +"If you haven't tried stdlib yet, please do and let us know what you think" +" and how we can improve it. Our vision for stdlib is to provide basic " +"utilities that most Fortran projects use, as well as wider numerical " +"capabilities with the scope of NumPy and SciPy." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:80 +msgid "Fortran Package Manager (fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:82 +msgid "" +"Fortran Package Manager (fpm) is the package manager and build system for" +" Fortran. Its key goal is to make developing, distributing, and reusing " +"Fortran libraries and applications as easy and as fun as possible. In " +"2020, the big change for fpm was the transition from the prototype " +"implemented in Haskell to a pure Fortran implementation. Fpm has since " +"been used in increasingly more and ever larger Fortran projects." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:90 +msgid "" +"To date, [22 people](https://github.com/fortran-" +"lang/fpm/graphs/contributors) have contributed code to fpm. In 2021 fpm " +"has advanced from v0.1.3 to v0.5.0. Key additions this year include " +"(release version in parentheses):" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:95 +msgid "CLI arguments for linker, archiver, and C compiler (0.5.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:96 +msgid "Support for MPI and LFortran (0.4.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:97 +msgid "" +"Support for installed library modules via `external-modules` in the " +"manifest (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:99 +msgid "Automatic discovery of manifest files in parent directories (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:100 +msgid "Support for reading package version from file (0.3.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:101 +msgid "Support for include directories (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:102 +msgid "Support for `--flag` CLI option to specify compiler flags (0.2.0)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:103 +msgid "" +"`fpm build --show-model` displays the internal representation of a " +"package (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:105 +msgid "Allow hyphen in new package names (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:106 +msgid "" +"`fpm new` now supports `--full` and `--bare` to specify level of " +"scaffolding (0.1.4)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:109 +msgid "Check out also these fpm plugins:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:111 +msgid "" +"[fpm-search](https://github.com/brocolis/fpm-search): Adds the `fpm " +"search` command for searching for registered fpm packages from the " +"command line." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:114 +msgid "" +"[fpm-man](https://github.com/urbanjost/fpm-man): Adds the `fpm man` " +"command for displaying man-style help pages about Fortran intrinsics and " +"other language features." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:118 +msgid "" +"At the time of writing, there are almost 200 projects now using fpm. If " +"you haven't tried fpm yet, please do! It has truly been a game-changing " +"tool for many of us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:122 +msgid "We have many ideas that we want to pursue, such as:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:124 +msgid "" +"First-class integration with other package managers such as Spack and " +"Conda" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:125 +msgid "First-class integration with build systems like CMake and Meson" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:126 +msgid "" +"Improving [fpm's package registry](https://github.com/fortran-lang/fpm-" +"registry), etc." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:128 +msgid "" +"We are always looking for new contributors. If any of these projects " +"interest you, please join us." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:139 +msgid "" +"Though not technically a Fortran-lang project, " +"[LFortran](https://lfortran.org) has been growing close to the Fortran-" +"lang community and projects largely thanks to its creator and lead " +"developer [Ondřej Čertík](https://github.com/certik) also being one of " +"the founding members of Fortran-lang. LFortran has been developing " +"rapidly this year and was released as a [Minimum Viable Product " +"(MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-" +"mvp/) in September. LFortran currently parses all of Fortran 2018 and " +"compiles a significant subset of the language. 16 people have contributed" +" code so far, and many more have reported bugs or participated in " +"discussions. If you haven't tried LFortran yet, please do and let us know" +" how it can best improve for your use case. You can help speed up " +"LFortran's development by contributing code and/or documentation " +"directly, or by donating funds to the project via " +"[NumFOCUS](https://numfocus.org/project/lfortran)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:155 +msgid "" +"Follow LFortran on Twitter at " +"[@lfortranorg](https://twitter.com/lfortranorg)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:157 +msgid "fortran-lang.org, Discourse, and social media" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:159 +msgid "" +"A major addition to the Fortran website this year is the [Fortran Best " +"Practices mini-book](https://fortran-lang.org/learn/best_practices). This" +" is a port and an update to the well-known " +"[fortran90.org](https://www.fortran90.org) by [Ondřej " +"Čertík](https://github.com/certik). It provides a plethora of tips on how" +" to write simple and idiomatic Fortran for numerical tasks, and how to " +"avoid some common gotchas. Give it a read and let us know how it can be " +"improved." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:168 +msgid "" +"The [Fortran Discourse](https://fortran-lang.discourse.group) is as " +"active as ever, with new users joining daily. There are currently 338 " +"active users out of a total of 537 registered users. The Fortran " +"Discourse is a great place to ask for help with Fortran code, post a " +"Fortran job opening, and discuss anything Fortran-related." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:174 +msgid "" +"We also continue to release the monthly newsletter where we document the " +"progress month-by-month, as well as post about any notable events in the " +"Fortran world. This newsletter is a great way to stay up to date with " +"Fortran-lang. If you're also on Twitter, follow our account " +"[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news " +"and updates, as well as the new " +"[@FortranTip](https://twitter.com/FortranTip) account, managed by " +"[Beliavsky](https://github.com/beliavsky), which brings daily Fortran " +"tips to your Twitter feed." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:184 +msgid "" +"Finally, we meet on monthly video calls to discuss issues and topics " +"related to all Fortran-lang projects. The calls are advertised on Fortran" +" Discourse and are open to everyone. Don't hesitate to join the call to " +"meet other Fortran-lang participants and take part in different " +"discussions." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:189 +msgid "New projects" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:191 +msgid "" +"In addition to the flagship projects summarized above, a few new projects" +" started or were adopted by Fortran-lang this year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:194 +msgid "fftpack" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:196 +msgid "" +"[fftpack](https://github.com/fortran-lang/fftpack) is a classic " +"collection of subroutines to perform the Fast Fourier Transform on real " +"and complex data. It is based on the classic [FFTPACK library from " +"Netlib](http://www.netlib.org/fftpack/). fftpack was adopted by Fortran-" +"lang in an effort to provide:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:202 +msgid "A community-maintained FFT library" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:203 +msgid "Bug fixes to the existing codebase" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:204 +msgid "Modern interfaces on top of the existing API" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:205 +msgid "fpm package for easy use as a dependency." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:207 +msgid "test-drive" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:209 +msgid "" +"[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and" +" easy-to-use testing framework developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). It follows a simple functional style " +"to collect and run your tests in parallel and print a minimal and clean " +"diagnostic printout to the standard output. Test-drive is currently used" +" by both stdlib and fpm for their own test suites. Give test-drive a test" +" drive for your next Fortran project!" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:217 +msgid "fpm-docs" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:219 +msgid "" +"[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user " +"documentation website for fpm, developed by [Sebastian " +"Ehlert](https://github.com/awvwgk). Its key aim is to provide community-" +"maintained documentation across four target audiences/use cases:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:225 +msgid "**Tutorials**: for learning how to use fpm for Fortran development" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:226 +msgid "**How-to guides**: recipes for specific and concrete problems" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:227 +msgid "" +"**Design documents**: resources that document the design of various " +"aspects of fpm" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:229 +msgid "**References**: specification documents of fpm components" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:237 +msgid "" +"As the fpm user docs are now hosted at [fpm.fortran-lang.org](https://fpm" +".fortran-lang.org), the API docs are now located at [fortran-" +"lang.github.io/fpm/](https://fortran-lang.github.io/fpm/)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:241 +msgid "Google Summer of Code 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:243 +msgid "" +"2021 has been the first year for Fortran-lang to participate in the " +"[Google Summer of Code](https://summerofcode.withgoogle.com/) program. " +"Together with NumFOCUS and LFortran, Fortran-lang had six students who " +"worked on a variety of projects:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:248 +msgid "" +"[Aman Godara](https://github.com/Aman-Godara) (Improving strings in " +"stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:249 +msgid "[Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:250 +msgid "" +"[Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables " +"in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:251 +msgid "[Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:252 +msgid "[Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:253 +msgid "" +"[Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST " +"generation in LFortran)" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:255 +msgid "" +"You can read in more detail about their projects " +"[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:258 +msgid "" +"A big thank you to all students, mentors, and administrators, for their " +"great work, and of course, to the Google Summer of Code program for " +"making possible for students to participate." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:262 +msgid "" +"We plan to apply for Google Summer of Code in 2022 as well. The program " +"is no longer limited to students and anybody 18 or older can apply to " +"work on an open source project and get paid for it. If you're interested " +"participating in the program in 2022 with Fortran-lang, don't hesitate to" +" contact us and we'll guide you toward applying." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:268 +msgid "Conferences and papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:270 +msgid "FortranCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:272 +msgid "" +"Like in 2020, the Fortran event of this year was [FortranCon " +"2021](https://tcevents.chem.uzh.ch/event/14/), the international Fortran " +"conference, held on September 23-24. The keynote speaker this year was " +"[Damian Rouson](https://github.com/rouson), the head of the [Computer " +"Languages and Systems Software " +"(CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/)" +" group at the Lawrence Berkeley National Lab. Fortran-lang had a " +"dedicated session (a Fortran-lang minisymposium) on the second day of the" +" conference, with the talks about specific Fortran-lang projects as well " +"as the Google Summer of Code student presentations. FortranCon was hosted" +" at the University of Zurich (UZH), and organized by [Tiziano " +"Müller](https://github.com/dev-zero) from UZH and [Alfio " +"Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. " +"You can watch all FortranCon 2021 talks " +"[here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:287 +msgid "PackagingCon 2021" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:289 +msgid "" +"Another big event for Fortran-lang was [PackagingCon 2021](https" +"://packaging-con.org/), a conference dedicated to package management " +"software and its community of developers. [Sebastian " +"Ehlert](https://github.com/awvwgk) presented fpm--you can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:299 +msgid "Papers" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:301 +msgid "" +"This year two papers have been written about Fortran-lang projects. The " +"first paper documents the motivation and goals of Fortran-lang: \"Toward " +"Modern Fortran Tooling and a Thriving Developer Community\" by Milan " +"Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, Laurence " +"Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas " +"([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382))." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:314 +msgid "" +"If Fortran-lang has been helpful in your work and if you want to cite " +"this paper, here's the citation info:" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:333 +msgid "" +"We have also submitted a paper draft to IEEE's [Computing in Science & " +"Engineering " +"(CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) " +"journal, titled \"The State of Fortran\" and led by [Laurence " +"Kedward](https://github.com/lkedward). For this paper, we have [publicly " +"invited on Discourse](https://fortran-lang.discourse.group/t/fortran-" +"lang-community-paper/1232) anybody in the Fortran-lang community to " +"participate. Once published, this will be another paper that you can " +"cite. Stay tuned for its publication." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:343 +msgid "Summary" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:345 +msgid "2021 is behind us as another productive year." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:346 +msgid "" +"Fortran-lang flagship projects such as [stdlib](https://github.com" +"/fortran-lang/stdlib), [fpm](https://github.com/fortran-lang/fpm), " +"[fortran-lang.org](https://fortran-lang.org), and " +"[LFortran](https://lfortran.org) continue to grow and gain traction." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:351 +msgid "" +"New Fortran-lang projects include [fftpack](https://github.com/fortran-" +"lang/fftpack), [test-drive](https://github.com/fortran-lang/test-drive), " +"and [fpm-docs](https://github.com/fortran-lang/fpm-docs)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:355 +msgid "" +"Fortran-lang participated in the [Google Summer of " +"Code](https://summerofcode.withgoogle.com/) program for the first time, " +"and had 6 students working on projects across stdlib, fpm, and LFortran." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:359 +msgid "" +"We had several presentations of Fortran-lang projects at [FortranCon " +"2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni)" +" and [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM)." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:362 +msgid "" +"New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and " +"another is in review." +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:365 +msgid "Thanks" +msgstr "" + +#: ../../source/news/2021-12-29-Fortran-lang-2021-in-review.md:367 +msgid "" +"We thank all people who contributed to Fortran-lang projects and " +"discussions on GitHub, Fortran Discourse, Fortran-lang mailing list, " +"Twitter, and elsewhere. It wouldn't have been possible without you all." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:9 +msgid "" +"Happy New Year and welcome to the January 2022 edition of the monthly " +"Fortran newsletter. The newsletter comes out at the beginning of every " +"month and details Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:20 +msgid "" +"[#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): " +"Newsletter draft for December 2021" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:22 +msgid "" +"[#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): " +"Updated CaNS item so that it shows the version" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:24 +msgid "" +"[#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): Add " +"MCST LCC C, C++ and Fortran compiler" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:26 +msgid "" +"[#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): Use " +"HEAD to reference default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:28 +msgid "" +"[#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): 2021 " +"review article draft" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:30 +msgid "" +"[#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): " +"Adding Fortran Error Handler to packages index" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:48 +msgid "" +"[#500](https://github.com/fortran-lang/stdlib/pull/500): Selection " +"algorithms" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:50 +msgid "" +"[#586](https://github.com/fortran-lang/stdlib/pull/586): Update of " +"stdlib_stats.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:52 +msgid "" +"[#581](https://github.com/fortran-lang/stdlib/pull/581): Add routines for" +" saving/loading arrays in npy format" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:54 +msgid "[#590](https://github.com/fortran-lang/stdlib/pull/590): Update changelog" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:56 +msgid "" +"[#588](https://github.com/fortran-lang/stdlib/pull/588): Error on no " +"tests in CTest" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:58 +msgid "" +"[#585](https://github.com/fortran-lang/stdlib/pull/585): " +"stdlib_selection: correction of typos and addition of some checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:60 +msgid "" +"[#591](https://github.com/fortran-lang/stdlib/pull/591): Fix compilation " +"errors with makefiles due to command-line variable assignments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:62 +msgid "" +"[#273](https://github.com/fortran-lang/stdlib/pull/273): Probability " +"Distribution and Statistical Functions -- Normal Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:64 +msgid "" +"[#584](https://github.com/fortran-lang/stdlib/pull/584): Replace the call" +" to sort by select in stdlib_stats_median" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:66 +msgid "" +"[#593](https://github.com/fortran-lang/stdlib/pull/593): Probability " +"Distribution and Statistical Functions -- Uniform Distribution Module" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:68 +msgid "" +"[#594](https://github.com/fortran-lang/stdlib/pull/594): Minor update to " +"makefile installation instructions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:70 +msgid "" +"[#596](https://github.com/fortran-lang/stdlib/pull/596): Rename " +"references to default branch" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:72 +msgid "" +"[#600](https://github.com/fortran-lang/stdlib/pull/600): Fix iomsg " +"allocation in save_npy" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:74 +msgid "" +"[#488](https://github.com/fortran-lang/stdlib/pull/488): [stdlib_math] " +"add `is_close` routines." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:76 +msgid "" +"[#597](https://github.com/fortran-lang/stdlib/pull/597): Add getline to " +"read whole line from formatted unit" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:78 +msgid "" +"[#498](https://github.com/fortran-lang/stdlib/pull/498): [stdlib_math] " +"add `arg/argd/argpi`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:80 +msgid "" +"[#603](https://github.com/fortran-lang/stdlib/pull/603): Implement " +"trueloc/falseloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:82 +msgid "" +"[#573](https://github.com/fortran-lang/stdlib/pull/573): Revised Hash " +"functions incorporating changes in the main Stdlib repository." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:84 +msgid "" +"[#609](https://github.com/fortran-lang/stdlib/pull/609): Consistent spec " +"titles" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:86 +msgid "" +"[#610](https://github.com/fortran-lang/stdlib/pull/610): Fixed tables in " +"stdlib_hash_procedures.md" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:88 +msgid "" +"[#499](https://github.com/fortran-lang/stdlib/pull/499): [stdlib_linalg] " +"matrix property checks" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:90 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:43 +msgid "" +"[#613](https://github.com/fortran-lang/stdlib/pull/613): Ignore hash " +"testing binaries and logs" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:95 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:52 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:46 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:60 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:78 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:66 +msgid "[#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): Hash maps" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:97 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): " +"[stdlib_math] Add function `diff`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:99 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:54 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:48 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:62 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:80 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:68 +msgid "" +"[#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): Add " +"get_argument, get_variable and set_variable" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:139 +msgid "" +"[#634](https://github.com/fortran-lang/fpm/pull/634): Better extraction " +"of the Fortran compiler from the MPI wrapper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:144 +msgid "" +"[#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): Replace " +"polymorphic assignment with move_alloc" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:146 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): allow " +"backfilling of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:160 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:138 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:119 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:131 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:149 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:133 +msgid "" +"Use it and let us know what you think! Read the [fpm packaging " +"guide](https://fpm.fortran-lang.org/en/tutorial) to learn how to build " +"your package with fpm, and the [manifest reference](https://fpm.fortran-" +"lang.org/en/spec/manifest.html) to learn what are all the things that you" +" can specify in the fpm.toml file." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:180 +msgid "Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:181 +msgid "Add !fir.vector type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:182 +msgid "Add type conversion for `fir.boxchar`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:183 +msgid "Add !fir.alloca conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:184 +msgid "Add placeholder conversion pattern for disptach operations" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:185 +msgid "Add fir.select_case conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:186 +msgid "Add !fir.field type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:187 +msgid "Transform `IsPresentOpConversion` and `AbsentOpConversion`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:188 +msgid "Add type conversion for FIR heap type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:189 +msgid "Add type conversion for FIR integer kind" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:190 +msgid "Add !fir.len type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:191 +msgid "Transform `fir.emboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:192 +msgid "Add fir.select_type conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:193 +msgid "Remove extra return in SelectTypeOpConversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:194 +msgid "Transform `fir.unboxchar` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:195 +msgid "Add fir.global_len conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:196 +msgid "Add the FIR LLVMPointer Type" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:197 +msgid "Add fir.cmpc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:198 +msgid "Add fir.gentypedesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:199 +msgid "Transform `fir.boxchar_len` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:200 +msgid "Add missing `HasParent` in `fir_DTEntryOp`" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:201 +msgid "Add fir.string_lit conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:202 +msgid "Add conversion patterns for slice, shape, shapeshift and shift ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:203 +msgid "Add fir.box_tdesc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:204 +msgid "!fir.tdesc type conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:205 +msgid "Add fir.constc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:206 +msgid "Add fir.embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:207 +msgid "Notify conversion failure for Proc ops, types" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:208 +msgid "Add tests for mlir::ComplexType conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:209 +msgid "Add `fir.end` conversion placeholder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:210 +msgid "Transform `fir.field_index` to a sequence of LLVM MLIR" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:211 +msgid "Add a factory class for creating Complex Ops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:212 +msgid "Add fir.no_reassoc conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:213 +msgid "Set !fir.len_param_index conversion to unimplemented" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:214 +msgid "Add base for runtime builder unittests" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:215 +msgid "Add fir transformational intrinsic builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:216 +msgid "Add assignment runtime API builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:217 +msgid "Add data flow optimization pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:218 +msgid "Add array value copy pass" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:219 +msgid "Add fir reduction builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:220 +msgid "Add fir numeric intrinsic runtime call builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:221 +msgid "Add fircg.ext_embox conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:222 +msgid "Add fir derived type runtime builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:223 +msgid "Add fir character builder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:224 +msgid "Add fircg.ext_array_coor conversion" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:225 +msgid "Upstream conversion of the XRebox Op" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:226 +msgid "" +"Convert fir.allocmem and fir.freemem operations to calls to malloc and " +"free, respectively" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:228 +msgid "Fix vector cshift runtime with non zero lower bounds" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:229 +msgid "Respect NO_STOP_MESSAGE=1 in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:230 +msgid "Runtime performance improvements to real formatted input" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:231 +msgid "Allow write after non advancing read in IO runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:232 +msgid "Fix reversed comparison in RESHAPE() runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:233 +msgid "Define & implement a lowering support API IsContiguous() in runtime" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:234 +msgid "Don't close stderr in runtime (fixes STOP output)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:235 +msgid "Return arrays in Transfer runtime with SIZE argument" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:236 +msgid "Fix INQUIRE(FILE=,NAME=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:237 +msgid "Add ragged array runtime functions" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:238 +msgid "Allow exterior branch to outermost WHERE construct statement" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:239 +msgid "Fix ORDER= argument to RESHAPE" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:240 +msgid "Fix rounding edge case in F output editing" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:241 +msgid "Handle ENTRY names in IsPureProcedure() predicate" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:242 +msgid "Allow implicit procedure pointers to associate with explicit procedures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:243 +msgid "Fix a bug in INQUIRE(IOLENGTH=) output" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:244 +msgid "Remove default argument from function template specialization" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:245 +msgid "Check ArrayRef base for contiguity in IsSimplyContiguousHelper" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:246 +msgid "Deal with negative character lengths in semantics" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:247 +msgid "Fix INQUIRE(PAD=) and (POSITION=) for predefined units" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:248 +msgid "Add a semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:249 +msgid "Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:250 +msgid "Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:251 +msgid "Fix printing of constc and parsing of #fir.real" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:252 +msgid "Predefine unit 0 connected to stderr" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:253 +msgid "Add -fno-automatic, refine IsSaved()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:254 +msgid "Correct the argument keyword for AIMAG(Z=...)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:255 +msgid "Inclusive language: remove instances of master" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:256 +msgid "Return true in IsSymplyContiguous for allocatables" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:257 +msgid "Fix usage & catch errors for MAX/MIN with keyword= arguments" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:258 +msgid "Re-fold bounds expressions in DATA implied DO loops" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:259 +msgid "Correct INQUIRE(POSITION= & PAD=)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:260 +msgid "Rearrange prototype & code placement of IsCoarray()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:261 +msgid "Replace notifyMatchFailure with TODO hard failures" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:262 +msgid "TargetRewrite: Rewrite fir.address_of(func)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:263 +msgid "Fix folding of EXPONENT() intrinsic function" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:264 +msgid "OPEN(RECL=) handling for sequential formatted I/O" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:265 +msgid "Avoid potential deadlock in CloseAll()" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:271 +msgid "" +"Beginning of refactoring of ASR (Abstract Semantic Representation) into a" +" standalone library" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:272 +msgid "New intrinsics: mvbits, bge, bgt, ble, blt, ibits" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:273 +msgid "generic procedure resolution fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:274 +msgid "FreeBSD fixes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:275 +msgid "Implement `.xor.` (LFortran as well as GFortran extension)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:276 +msgid "Fixes to large integers (BigInt) handling" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:277 +msgid "Added support for `private`, `final` attributes in derived types/classes" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:279 +msgid "" +"The following people contributed code in December 2021: Ondřej Čertík, " +"Gagandeep Singh, Harris Snyder" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:286 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:251 +msgid "" +"fpm has a new documentation website hosted at [fpm.fortran-" +"lang.org](https://fpm.fortran-lang.org/). This website will provide user-" +"oriented tutorials and how-to guides, as well as developer-oriented " +"reference documents and specifications. We welcome all contributions to " +"the fpm documentation, including translations to other languages. Please " +"visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to " +"get started." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:294 +msgid "" +"We had our 21st Fortran Monthly call on December 14. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:297 +msgid "" +"We also wrote a review of the Fortran-lang projects in 2021. Read it " +"[here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-" +"review/)." +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:312 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:275 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:291 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:266 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:388 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:494 +msgid "[fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs)" +msgstr "" + +#: ../../source/news/2022-01-01-Fortran-Newsletter-January-2022.md:319 +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:282 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:299 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:274 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:396 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:502 +msgid "[fortran-lang/test-drive](https://github.com/fortran-lang/test-drive)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:9 +msgid "" +"Welcome to the February 2022 edition of the monthly Fortran newsletter. " +"The newsletter comes out at the beginning of every month and details " +"Fortran news from the previous month." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:19 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:19 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:33 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:21 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:21 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:19 +msgid "" +"[#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): Fix " +"time calculation in the PRs script" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:39 +msgid "" +"[#276](https://github.com/fortran-lang/stdlib/pull/276): Probability " +"Distribution and Statistical Functions -- Exponential Distribution Module" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:41 +msgid "" +"[#605](https://github.com/fortran-lang/stdlib/pull/605): [stdlib_math] " +"Add function `diff`" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:45 +msgid "" +"[#617](https://github.com/fortran-lang/stdlib/pull/617): Made format " +"constant public" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:47 +msgid "" +"[#622](https://github.com/fortran-lang/stdlib/pull/622): Fix Gauss " +"quadrature" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:92 +msgid "" +"[#630](https://github.com/fortran-lang/fpm/pull/630): allow backfilling " +"of current directory in fpm-new subcommand" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:94 +msgid "" +"[#646](https://github.com/fortran-lang/fpm/pull/646): Respect user " +"provided main-files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:96 +msgid "" +"[#645](https://github.com/fortran-lang/fpm/pull/645): Update module " +"output directory command for flang-new/f18" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:98 +msgid "" +"[fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) [fpm-" +"docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) [fpm-" +"docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) [fpm-" +"docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) [fpm-" +"docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) [fpm-" +"docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): French " +"translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:105 +msgid "" +"[fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): Add " +"testing workflow for source examples" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:107 +msgid "" +"[fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): Update " +"Spanish translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:109 +msgid "" +"[fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): zh_CN: " +"Update Chinese translations" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:114 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): Ignore hidden" +" source files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:116 +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:105 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:119 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:137 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:121 +msgid "" +"[#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): Enable " +"profiles in toml" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:118 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): Get user name" +" and email using got config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:120 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): Add note " +"about relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:130 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): " +"Dutch translation" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:132 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): " +"Chinese translation improvements" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:158 +msgid "Keep runtime function name in comment" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:159 +msgid "Add a conversion for !fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:160 +msgid "Add a new memory allocation rewrite pass." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:161 +msgid "Correct and reenable test that was removed by MLIR." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:162 +msgid "Fix overallocation by fir-to-llvm-ir pass" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:164 +msgid "Add some semantic checks for threadprivate and declare target directives" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:165 +msgid "Simplify RaggedArrayHeader and make it plain C struct" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:166 +msgid "Fix folding of ac-implied-do indices in structure constructors" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:167 +msgid "Avoid code duplication in mixed expressions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:168 +msgid "Add test with shape for allocmem and freemem" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:169 +msgid "Make the frontend driver error out when requesting multiple actions" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:170 +msgid "Add semantics tests for co_reduce, co_min, and co_max" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:171 +msgid "Use GNUInstallDirs to support custom installation dirs." +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:172 +msgid "Enable support for conversion of recursive record types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:173 +msgid "Separate temporary and user-specified object files" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:174 +msgid "update to reflect MLIR LLVM::GEPOp changes" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:175 +msgid "Do not lose call in shape inquiry on function reference" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:176 +msgid "Fix the documentation on how to build flang" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:177 +msgid "Add tests for converting arrays and refs to arrays" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:178 +msgid "Make the \"flang\" wrapper script check the Bash version" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:179 +msgid "Fix handling of space between # and name in preprocessor stringification" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:180 +msgid "RESHAPE(PAD=) can be arbitrary array rank" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:181 +msgid "" +"Any type can appear in a structure constructor for an unlimited " +"polymorphic allocatable component" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:182 +msgid "Implement semantics for DEC STRUCTURE/RECORD" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:183 +msgid "Extension: initialization of LOGICAL with INTEGER & vice versa" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:184 +msgid "Allow initialization in blank COMMON" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:185 +msgid "Support extension intrinsic function variations on ABS" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:186 +msgid "Allow pointers to non-sequence types in sequence types" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:187 +msgid "\"CFI\" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:188 +msgid "Legacy extension: non-character formats" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:189 +msgid "Signal runtime error on WRITE after ENDFILE" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:190 +msgid "Don't blank-fill remaining lines in internal output" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:191 +msgid "Accept ENTRY names in generic interfaces" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:192 +msgid "Support substring references in NAMELIST input" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:198 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:311 +msgid "**Compiling `stdlib` with `lfortran`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:200 +msgid "" +"[stdlib: Implement `AINT` intrinsic " +"Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:201 +msgid "" +"[Draft: Sprint Bug fixing to compile stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:203 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:317 +msgid "**Addition of ASR Optimization Passes**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:205 +msgid "" +"[Added pass for converting division to multiplication " +"operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:206 +msgid "" +"[Adding LLVM backend for flip " +"sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:208 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:323 +msgid "**`libasr`**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:210 +msgid "" +"[Move more header files into " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:211 +msgid "" +"[Move exception.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:212 +msgid "" +"[Move string_utils.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:213 +msgid "" +"[Move location.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:214 +msgid "" +"[Move stacktrace.h/cpp to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:215 +msgid "" +"[Move colors.h and asr_scopes.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:216 +msgid "" +"[Move bwriter.h and modfile.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:217 +msgid "" +"[Move config.h to " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:218 +msgid "" +"[CI: do not run parent cmake in libasr " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:219 +msgid "" +"[Split " +"serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:220 +msgid "" +"[Nullify in ASR, LLVM, scalar " +"types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:221 +msgid "" +"[Remove unused " +"SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:222 +msgid "" +"[Separate evaluators into LFortran and libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:223 +msgid "" +"[utils.h and parser.h split into lfortran/libasr " +"parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:224 +msgid "" +"[Expose rl_path from " +"libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:225 +msgid "" +"[CI: build libasr in an isolated " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:226 +msgid "" +"[Use the libasr's CMakeLists in LFortran's " +"one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:227 +msgid "" +"[Refactored `libasr/pass` framework and some bug " +"fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:229 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:348 +msgid "**Miscellaneous**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:231 +msgid "" +"[fixes for windows compilation (defining NOMINMAX), installation-" +"instructions for Windows/Visual " +"Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:232 +msgid "" +"[Update " +"gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:233 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:234 +msgid "" +"[Abstracting out, visit_Program, visit_Subroutine, visit_Function, state " +"variables from " +"passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:235 +msgid "" +"[Draft: Add a test for " +"pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:236 +msgid "" +"[Fix order deps " +"ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:237 +msgid "" +"[link to static zlib to avoid runtime " +"dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:239 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:361 +msgid "**Contributors**" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:241 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:364 +msgid "[Ondřej Čertík](https://gitlab.com/certik)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:242 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:363 +msgid "[Gagandeep Singh](https://gitlab.com/czgdp18071)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:243 +msgid "[Dominic Poerio](https://gitlab.com/dpoe)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:244 +msgid "[Tobias Loew](https://gitlab.com/tobias-loew)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:245 +msgid "[Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel)" +msgstr "" + +#: ../../source/news/2022-02-01-Fortran-Newsletter-February-2022.md:259 +msgid "" +"We had our 22st Fortran Monthly call on January 17. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:9 +msgid "" +"Welcome to the March edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:17 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:17 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:17 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:17 +msgid "Here's what's new in the fortran-lang.org repo:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:39 +msgid "" +"[#624](https://github.com/fortran-lang/stdlib/pull/624): [stdlib_math] " +"Minor update to `stdlib_math` module and document" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:44 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:58 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:76 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:64 +msgid "" +"[#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): Gamma " +"special function" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:86 +msgid "" +"[#652](https://github.com/fortran-lang/fpm/pull/652): get user name and " +"email using git config if available else use defaults" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:88 +msgid "" +"[#654](https://github.com/fortran-lang/fpm/pull/654): Ignore hidden " +"source files" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:90 +msgid "" +"[#622](https://github.com/fortran-lang/fpm/pull/622): Cleanup the backend" +" output" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:92 +msgid "" +"[#648](https://github.com/fortran-lang/fpm/pull/648): Add note about " +"relocation of manifest reference" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:94 +msgid "" +"[fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): Dutch " +"translation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:96 +msgid "" +"[fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): Chinese " +"translation improvements" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:98 +msgid "" +"[fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): Update " +"plugin tutorial" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:103 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:117 +msgid "" +"[#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): add clean " +"command" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:113 +msgid "" +"[fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): " +"Add page about fpm logo" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:139 +msgid "Initial lowering for empty program" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:140 +msgid "Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:141 +msgid "Add lowering placeholders" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:142 +msgid "Add lowering for basic empty SUBROUTINE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:143 +msgid "Upstream partial lowering of EXIT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:144 +msgid "Lower basic STOP statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:145 +msgid "Lower PAUSE statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:146 +msgid "Add lowering for integer constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:147 +msgid "Lower integer constant code for STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:148 +msgid "Add fir.array_access op" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:149 +msgid "Add fir.array_amend operation definition" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:150 +msgid "Handle logical constant value for quiet in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:151 +msgid "Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:152 +msgid "Basic local variable lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:153 +msgid "Add lowering for ASCII character constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:154 +msgid "Handle character constant for error code in STOP stmt" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:155 +msgid "Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:156 +msgid "Add missing CFI case for REAL and COMPLEX" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:157 +msgid "Add support for lowering the goto statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:158 +msgid "Add type conversion for !fir.box" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:159 +msgid "Add FIRInlinerInterface" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:160 +msgid "Lower simple RETURN statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:161 +msgid "" +"Upstream fix to allocmem codegen to deal with missing dimensions for " +"sequence of character types" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:162 +msgid "Lower basic function with scalar integer/logical return value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:163 +msgid "Enable scalar real type in lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:164 +msgid "Enable complex type in function lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:165 +msgid "Handle lowering of ranked array" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:166 +msgid "Lower simple scalar assignment" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:167 +msgid "Lower scalar negation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:168 +msgid "Lower basic binary operation for scalars" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:169 +msgid "Initial patch to lower a Fortran intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:170 +msgid "Lower real constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:171 +msgid "Lower complex constant" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:172 +msgid "Lower function and subroutine calls" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:173 +msgid "Handle allocatable dummy arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:174 +msgid "Lower allocatable assignment for scalar" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:175 +msgid "Simple array assignment lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:176 +msgid "Lower simple character return" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:177 +msgid "Lower Fortran intrinsic to a runtime call/llvm intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:178 +msgid "Lower integer comparison operation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:179 +msgid "Lower real comparison operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:180 +msgid "Lower logical comparison and logical operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:181 +msgid "Lower power operations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:182 +msgid "Add complex operations lowering tests" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:183 +msgid "Lower basic IO statement" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:184 +msgid "Handle dynamic array lowering" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:186 +msgid "Add support for `-emit-mlir`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:187 +msgid "Add support for `-emit-llvm`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:188 +msgid "Make `flang-new` always generate run-time type info" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:189 +msgid "Add support for `--target`/`--triple`" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:191 +msgid "" +"Added OpenMP 5.0 specification based semantic checks for atomic update " +"construct" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:192 +msgid "The device expression must evaluate to a non-negative integer value" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:193 +msgid "" +"Remove clauses from OpenMP Dialect that are handled by the flang frontend" +" instead:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:194 +msgid "private, firstprivate, lastprivate, shared, default, copyin, copyprivate" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:196 +msgid "Implement a runtime routine to report fatal errors with source position" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:197 +msgid "Rename the runtime routine that reports a fatal user error" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:198 +msgid "runtime perf: larger I/O buffer growth increments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:199 +msgid "Add runtime interface for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:200 +msgid "Upstream runtime changes for inquiry intrinsics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:201 +msgid "Improve error message (initialized variable in pure subprogram)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:202 +msgid "Accept BOZ literals for some actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:203 +msgid "Accept sparse argument keyword names for MAX/MIN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:204 +msgid "Accept INDEX(..., BACK=array)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:205 +msgid "Fix OPEN/WRITE(SIGN='SUPPRESS')" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:206 +msgid "Handle FLUSH(unknown unit)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:207 +msgid "Allow explicit '+' in NAMELIST input subscripts" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:208 +msgid "Extension: skip over NAMELIST groups" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:209 +msgid "Add array operations documentation" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:210 +msgid "Fix crash from USE-associated defined I/O subprograms" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:211 +msgid "Allow INQUIRE() on a child unit in user-defined I/O procedure" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:212 +msgid "Don't drop format string for external child I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:213 +msgid "Support DECIMAL='COMMA' mode in namelist I/O" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:214 +msgid "Update tco tool pipline and add translation to LLVM IR" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:215 +msgid "Add MemoryAllocation pass to the pipeline" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:216 +msgid "Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:217 +msgid "Add a custom target for the \"flang\" wrapper script." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:218 +msgid "split character procedure arguments in target-rewrite pass" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:219 +msgid "Expand the semantics test for co_sum" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:220 +msgid "Correct interpretation of RECL=" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:221 +msgid "Distinguish intrinsic from non-intrinsic modules" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:222 +msgid "" +"Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit " +"numbers" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:223 +msgid "Modify right modes for READ/WRITE vs OPEN" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:224 +msgid "Add a semantics test for co_broadcast" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:225 +msgid "catch implicit interface incompatibility with global scope symbol" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:226 +msgid "Add an assert to guard against nullptr dereferencing" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:227 +msgid "Fix FlangOptimizerTests link on Solaris" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:228 +msgid "Handle \"type(foo) function f\" when foo is defined in f" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:229 +msgid "Refine pointer/target test for ASSOCIATED intrinsic" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:230 +msgid "Allow mixed association of procedure pointers and targets" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:231 +msgid "Fix edge case in USE-associated generics" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:232 +msgid "Fail at link time if derived type descriptors were not generated" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:233 +msgid "Allow for deferred-length character in EstablishDescriptor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:234 +msgid "Allow DATA initialization of derived types w/ allocatable components" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:235 +msgid "" +"Accept NULL(mold=x) as constant component value in constant structure " +"constructor" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:236 +msgid "Ensure a characterized ENTRY in a PURE subprogram is also marked PURE" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:237 +msgid "Accept structure constructor value for polymorphic component" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:238 +msgid "Remove deprecated parser/printer/verifier utilities" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:239 +msgid "Accept pointer assignment w/ remapping to function result" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:240 +msgid "Allow extension cases of EQUIVALENCE with optional warnings" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:241 +msgid "Handle CALL C_F_POINTER(without SHAPE=)" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:242 +msgid "Make source location more accurate for actual arguments" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:243 +msgid "Add Win32 to the list of supported triples" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:244 +msgid "Allow tabs as white space in formats" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:245 +msgid "Do not print format tabs" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:246 +msgid "Catch I/O of bad derived type at compile time" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:247 +msgid "Allow more concurrently open NEWUNIT= values, with recycling" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:253 +#, python-format +msgid "" +"LFortran is participating in GSoC, please see [GSoC 2022 Student " +"Instructions for " +"LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions)" +" for instructions how to apply" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:254 +msgid "19 Merge Requests merged" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:255 +msgid "New ASR optimizations" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:256 +msgid "Addes support for fma (fused-multiply add) in LLVM" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:257 +msgid "Semantic improves to compile more of stdlib" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:263 +msgid "" +"Fortran-lang has been selected as a mentoring organization for Google " +"Summer of Code 2022! Thanks to everybody who helped prepare the " +"application. [GSoC](https://summerofcode.withgoogle.com/) is Google's " +"global, online program that allows newcomers to open-source to work on a " +"project and get paid for it. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. " +"Applications for contributors open **April 4** and close **April 19**. To" +" learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate as a contributor or a mentor, please let us know in this " +"thread and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:270 +msgid "" +"Fortran-lang community now maintains a modernized fork of the classic " +"library [minpack](https://github.com/fortran-lang/minpack). Give it a " +"try!" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:272 +msgid "" +"We had our 23rd Fortran Monthly call on February 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:275 +msgid "" +"US Fortran Standards Committee meeting #226 started on February 28. See " +"the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt)" +" and the submitted papers [here](https://j3-fortran.org/doc/meeting/226)." +msgstr "" + +#: ../../source/news/2022-03-09-Fortran-Newsletter-March-2022.md:298 +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:273 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:395 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:501 +msgid "[fortran-lang/minpack](https://github.com/fortran-lang/minpack)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:9 +msgid "" +"Welcome to the April edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:19 +msgid "" +"[#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): " +"Newsletter for March 2022" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:21 +msgid "" +"[#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): " +"Updated VS Code extensions" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:23 +msgid "" +"[#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): add " +"string array to learn" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:25 +msgid "" +"[#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): " +"Resolves typos #377" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:30 +msgid "" +"[#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): " +"Resolves Issue #217" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:45 +msgid "" +"[#632](https://github.com/fortran-lang/stdlib/pull/632): doc: fix some " +"typos" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:47 +msgid "" +"[#629](https://github.com/fortran-lang/stdlib/pull/629): option to " +"disable testing by setting BUILD_TESTING to OFF" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:49 +msgid "" +"[#631](https://github.com/fortran-lang/stdlib/pull/631): Preparation for " +"0.2.0 release" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:51 +msgid "" +"[#637](https://github.com/fortran-lang/stdlib/pull/637): Only set Fortran" +" arguments for Fortran compiler" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:53 +msgid "" +"[#642](https://github.com/fortran-lang/stdlib/pull/642): Fix linking " +"issue with shared libraries" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:100 +msgid "" +"[#675](https://github.com/fortran-lang/fpm/pull/675): Fix for backtrace " +"error when file not found in: src/fpm_source_parsing.f90" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:102 +msgid "" +"[#677](https://github.com/fortran-lang/fpm/pull/677): Fix issue with " +"backend pretty output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:104 +msgid "" +"[#684](https://github.com/fortran-lang/fpm/pull/684): fix: remove remove " +"unnecessary space in fpm new cmd" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:106 +msgid "" +"[#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): " +"Update to v4 in usage example in README" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:111 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:131 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:119 +msgid "" +"[#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): fix: function" +" for getting executable path" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:113 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:133 +msgid "" +"[#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): Tree shaking " +"for modules" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:115 +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:135 +msgid "" +"[#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): Add `library-" +"dir` to support `-Lpath`" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:151 +msgid "Lower IO open and close statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:152 +msgid "Lower basic IO file statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:153 +msgid "Lower inquire statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:154 +msgid "Handle module in lowering pass" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:155 +msgid "Lower more cases of assignments on allocatable variables" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:156 +msgid "Add lowering for host association" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:157 +msgid "Lower allocate and deallocate statements" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:158 +msgid "Lower sum intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:159 +msgid "Lower computed and assigned goto" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:160 +msgid "Lower associate construct" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:161 +msgid "Update ArrayValueCopy to support array_amend and array_access" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:162 +msgid "Lower more array character cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:163 +msgid "Lower basic derived types" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:164 +msgid "Lower where statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:165 +msgid "Lower general forall statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:166 +msgid "Lower pointer component in derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:167 +msgid "Lower of elemental calls in array expression" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:168 +msgid "Add tests for allocatable global" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:169 +msgid "Add support for linkonce_odr in FIR" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:170 +msgid "Lower elemental calls" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:171 +msgid "Lower ALL intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:172 +msgid "Lower common block" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:173 +msgid "Lower format statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:174 +msgid "Write a pass to annotate constant operands on FIR ops" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:175 +msgid "Lower ANY intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:176 +msgid "Add support for lowering the dot_product intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:177 +msgid "Add support for lowering the dim intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:178 +msgid "Add support for lowering of the ibits intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:179 +msgid "Lower more pointer assignments/disassociation cases" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:180 +msgid "Lower entry statement" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:181 +msgid "Lower alternate return" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:182 +msgid "Lower allocated intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:183 +msgid "" +"Add lowering for the following character related intrinsics: len, " +"len_trim, lge, lgt, lle and llt" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:184 +msgid "Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:185 +msgid "Lower random_[init|number|seed] intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:186 +msgid "Lower date_and_time and cpu_time intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:187 +msgid "Lower system_clock intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:188 +msgid "Add support for lowering of the ibset intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:189 +msgid "Lower transfer instrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:190 +msgid "Lower adjustl and adjustr intrinsics" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:191 +msgid "Lower count intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:192 +msgid "Add lowering for the set_exponent intrinsic" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:194 +msgid "Add support for -debug-dump-pft" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:195 +msgid "Add support for -S and implement -c/-emit-obj" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:196 +msgid "Add support for -mllvm" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:198 +msgid "[mlir]Generating enums in accordance with the guidelines" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:199 +msgid "Added basic connect to lower OpenMP constructs" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:200 +msgid "Support for dump OpenMP/OpenACC declarative directives PFT in module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:201 +msgid "Add OpenMP and OpenACC flags to bbc" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:202 +msgid "Allow data transfer stmt control list errors to be caught" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:203 +msgid "Extension: don't require commas between most edit descriptors in formats" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:204 +msgid "Fix result type of \"procedure(abs) :: f\"" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:205 +msgid "Catch READ/WRITE on direct-access file without REC=" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:206 +msgid "Honor RECL= in list-directed/namelist output" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:207 +msgid "Accommodate module subprograms defined in the same module" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:208 +msgid "Extend ProvenanceRange::Suffix() to handle crash case" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:209 +msgid "Remove bogus messages for actual/dummy procedure argument compatibility" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:210 +msgid "Support PDT type descriptors in codegen" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:211 +msgid "Handle optional TARGET associate in ASSOCIATED runtime" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:212 +msgid "Generate PDT runtime type info in the type definition scope" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:213 +msgid "Accommodate arrays with a zero-extent dimension in location folding" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:214 +msgid "Avoid crash case in provenance mapping" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:215 +msgid "Make per-argument intrinsic error messages more localized" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:216 +msgid "Use faster path for default formatted character input" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:217 +msgid "Runtime validation of SPREAD(DIM=dim) argument" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:218 +msgid "" +"Make uninitialized allocatable components explicitly NULL() in structure " +"constructors" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:219 +msgid "Fix module file missing USE for shadowed derived type" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:220 +msgid "Add nonfatal message classes" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:221 +msgid "Distinguish usage and portability warning messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:222 +msgid "Use unix logical representation for fir.logical" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:223 +msgid "Fix extent computation in finalization" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:224 +msgid "Fix processing ModuleLikeUnit evaluationList" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:225 +msgid "Do not return true for pointer sub-object in IsPointerObject" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:226 +msgid "Fix DYLIB builds" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:227 +msgid "Improve runtime crash messages" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:228 +msgid "Add runtime support for GET_COMMAND" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:229 +msgid "IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:230 +msgid "LBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:231 +msgid "Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind)" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:232 +msgid "fulfill -Msave/-fno-automatic in main programs too" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:233 +msgid "Relax fir.rebox verifier with characters" +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:243 +msgid "" +"The \"State of Fortran\" paper by Kedward et al. has been accepted for " +"publication in the IEEE journal Computing in Science and Engineering " +"(CiSE). You can read the pre-print on " +"[arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early " +"Access on the [CiSE " +"website](https://ieeexplore.ieee.org/document/9736688)." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:245 +msgid "" +"The contributor application window for this year's [Google Summer of " +"Code](https://summerofcode.withgoogle.com) is approaching fast. It opens " +"**April 4** and closes **April 19**. See the [Fortran-lang GSoC 2022 " +"page](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang) for information about the projects and how to apply. To " +"learn more about GSoC and what has changed since last year, please see " +"the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11" +"/expanding-google-summer-of-code-in-2022.html). If you'd like to " +"participate, please let us know and we'll help you get started." +msgstr "" + +#: ../../source/news/2022-04-07-Fortran-Newsletter-April-2022.md:250 +msgid "" +"We had our 24th Fortran Monthly call on March 15. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:9 +msgid "" +"Welcome to the May edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:21 +msgid "" +"[#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): " +"Newsletter for April 2022" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:23 +msgid "" +"[#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): Add " +"librsb to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:25 +msgid "" +"[#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): Add " +"Elk to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:27 +msgid "" +"[#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): Add " +"pencil-code to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:29 +msgid "" +"[#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): Add " +"PROPACK to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:31 +msgid "" +"[#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): Add " +"feed link to HTML head element" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:35 +msgid "" +"[#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): fix " +"dependency of include files under `learn/building_programs` mini-book" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:40 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:26 +msgid "" +"[#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): " +"Add NUFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:42 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:28 +msgid "" +"[#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): " +"Add OpenFFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:44 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:30 +msgid "" +"[#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): " +"Add 2DECOMP&FFT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:46 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:32 +msgid "" +"[#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): " +"Add SLICOT to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:48 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:34 +msgid "" +"[#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): " +"Add FATODE to package index" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:63 +msgid "" +"[#646](https://github.com/fortran-lang/stdlib/pull/646): Export symbols " +"on Windows and set PIC flag for Unix" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:65 +msgid "" +"[#651](https://github.com/fortran-lang/stdlib/pull/651): Bugfix release " +"version 0.2.1" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:70 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): Add hint " +"for building error with make" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:72 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): fixed " +"32-bit integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:74 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:62 +msgid "" +"[#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): Feature: " +"loadtxt skiprows and max_rows" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:118 +msgid "" +"[#688](https://github.com/fortran-lang/fpm/pull/688): Small fix for " +"fpm_model" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:120 +msgid "[#665](https://github.com/fortran-lang/fpm/pull/665): add clean command" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:125 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): Fix show-" +"model option" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:127 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:129 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:117 +msgid "" +"[#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): fix: remove " +"extra space from help-test cmd" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:169 +msgid "Lower various intrinsics:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:170 +msgid "" +"character related intrinsics, array related intrinsics, index intrinsics," +" present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, " +"command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, " +"sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, " +"log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:171 +msgid "Add IO lowering test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:172 +msgid "Add more lowering tests for dummy arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:173 +msgid "Add equivalence lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:174 +msgid "Add array constructor lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:175 +msgid "Lower more array expressions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:176 +msgid "Lower statement function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:177 +msgid "Lower length on character storage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:178 +msgid "Lower select case statement" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:179 +msgid "Add OpenMP Conversion patterns" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:180 +msgid "Lower procedure designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:181 +msgid "Lower boxed procedure" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:182 +msgid "Flush and master constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:183 +msgid "Add lowering C interoperability test" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:184 +msgid "Add misc lowering tests" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:185 +msgid "Handle zero extent case in LBOUND" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:186 +msgid "Lower some coarray statements to their runtime function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:187 +msgid "Options to lower math intrinsics to relaxed, precise variants" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:188 +msgid "Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:189 +msgid "Added lowering support for atomic read and write constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:190 +msgid "fix LBOUND lowering with KIND and no DIM arguments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:191 +msgid "Keep fully qualified !fir.heap type for fir.freemem op" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:192 +msgid "Update the conversion code for fir.coordinate_of" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:193 +msgid "Set lower bounds of array section fir.embox to one" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:194 +msgid "Fix fir.embox codegen with constant interior shape" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:195 +msgid "Do not fold fir.box_addr when it has a slice" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:197 +msgid "Make --version and -version consistent with clang" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:198 +msgid "Add support for -mmlir" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:199 +msgid "Make the plugin API independent of the driver internals" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:200 +msgid "Add support for generating executables" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:202 +msgid "Lowering critical construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:203 +msgid "Added assembly format for omp.wsloop and remove parseClauses" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:204 +msgid "Added lowering support for sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:205 +msgid "Added ReductionClauseInterface" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:206 +msgid "Added parallel sections translation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:207 +msgid "" +"Revert \"[Flang][OpenMP] Add semantic check for OpenMP Private, " +"Firstprivate and Lastprivate clauses.\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:208 +msgid "Added allocate clause translation for OpenMP block constructs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:209 +msgid "Support export/import OpenMP Threadprivate Flag" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:210 +msgid "Add implementation of privatisation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:211 +msgid "Add checks and tests for hint clause and fix empty hint" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:212 +msgid "OpenACC" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:213 +msgid "Lower enter data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:214 +msgid "Lower exit data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:215 +msgid "Lower init/shutdown directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:216 +msgid "Lower update directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:217 +msgid "Lower data directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:218 +msgid "Lower wait directive" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:220 +msgid "Error recovery improvement in runtime (IOMSG=)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:221 +msgid "Initial UTF-8 support in runtime I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:222 +msgid "Ensure PointerDeallocate actually deallocate pointers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:223 +msgid "Add runtime API to catch unit number out of range" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:224 +msgid "Prefer process time over thread time in CPU_TIME" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:225 +msgid "Raise FP exceptions from runtime conversion to binary" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:226 +msgid "Preserve effect of positioning in record in non-advancing output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:227 +msgid "Don't skip input spaces when they are significant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:228 +msgid "Fix ENDFILE for formatted stream output" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:229 +msgid "Don't emit empty lines for bad writes" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:230 +msgid "Ignore leading spaces even in BZ mode" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:231 +msgid "Fix edge-case FP input bugs" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:232 +msgid "Enforce some limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:233 +msgid "Signal record read overrun when PAD='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:234 +msgid "Fix KIND=16 real/complex component I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:235 +msgid "Fix total MAXLOC/MINLOC for non-integer data" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:236 +msgid "Handle allocatable components when creating array temps" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:237 +msgid "[Parser] Add a node for individual sections in sections construct" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:238 +msgid "Add explanatory messages to grammar for language extensions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:239 +msgid "" +"Convert RUNTIME_CHECK to better error for user errors in " +"transformational.cpp" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:240 +msgid "Accept legacy aliases for intrinsic function names" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:241 +msgid "Expose error recovery cases in external I/O" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:242 +msgid "Fix crash: ENTRY with generic interface of the same name" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:243 +msgid "Fold DBLE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:244 +msgid "Single construct translation from PFT to FIR" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:245 +msgid "UBOUND() edge case: empty dimension" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:246 +msgid "Make not yet implemented messages more consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:247 +msgid "Fix LBOUND rewrite on descriptor components" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:248 +msgid "Ensure descriptor lower bounds are LBOUND compliant" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:249 +msgid "Fix cycle-catcher in procedure characterization" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:250 +msgid "Fix bogus error from assignment to CLASS(*)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:251 +msgid "Mark C_ASSOCIATED specific procedures as PURE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:252 +msgid "Catch bad OPEN(STATUS=) cases" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:253 +msgid "Fold NEAREST() and its relatives" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:254 +msgid "Prevent undefined behavior in character MAXLOC folding" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:255 +msgid "Fix invalid overflow check" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:256 +msgid "Skip D when including D debug line" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:257 +msgid "Allow user to recover from bad edit descriptor with INTEGER" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:258 +msgid "Fold instantiated PDT character component length when needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:259 +msgid "Add one semantic check for allocatable/pointer argument association" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:260 +msgid "[cmake] Make CMake copy \"omp_lib.h\" into the build directory" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:261 +msgid "Handle dynamically optional argument in EXIT" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:262 +msgid "Fix semantic analysis for \"forall\" targeted by \"label\"" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:263 +msgid "Emit a portability warning for padding in COMMON" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:264 +msgid "Expand the num_images test coverage" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:265 +msgid "Fold IBITS() intrinsic function" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:266 +msgid "Error handling for out-of-range CASE values" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:267 +msgid "Respect left tab limit with Tn editing after ADVANCE='NO'" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:268 +msgid "Allow IMPLICIT NONE(EXTERNAL) with GenericDetails" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:269 +msgid "Do not ICE on out-of-range data statement designator" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:270 +msgid "Fix ICE for sqrt(0.0) evaluation" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:271 +msgid "Fix float-number representation bug" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:272 +msgid "Fix intrinsic interface for DIMAG/DCONJG" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:273 +msgid "Improve appearance of message attachments" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:274 +msgid "Fix combining cases of USE association & generic interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:275 +msgid "Defer all function result type processing" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:276 +msgid "Always encode multi-byte output in UTF-8" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:277 +msgid "Fix shape analysis of RESHAPE result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:278 +msgid "Use full result range for clock_gettime implementation of SYSTEM_CLOCK" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:279 +msgid "Correct interaction between generics and intrinsics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:280 +msgid "Make F0.1 output editing of zero edge case consistent" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:281 +msgid "Inner INTRINSIC must not shadow host generic" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:282 +msgid "Local generics must not shadow host-associated generics" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:283 +msgid "Fix TYPE/CLASS IS (T(...)) in SELECT TYPE" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:284 +msgid "Allow modification of construct entities" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:285 +msgid "Defer NAMELIST group item name resolution" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:286 +msgid "Accept TYPE(intrinsic type) in declarations only for non-extension type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:287 +msgid "Finer control over error recovery with GetExpr()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:288 +msgid "Handle parameter-dependent types in PDT initializers" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:289 +msgid "Upgrade short actual character arguments to errors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:290 +msgid "Allow POINTER attribute statement on procedure interfaces" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:291 +msgid "Accept KIND type parameter inquiries on RE, IM, etc." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:292 +msgid "Add & use a better visit()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:293 +msgid "Fix regression with recent work on intrinsic/generic interactions" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:294 +msgid "Do not pass derived type by descriptor when not needed" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:295 +msgid "Fix LBOUND() folding for constant arrays" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:296 +msgid "Set LBOUND() folding for (x) expression as ones" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:297 +msgid "Semantics limits on kP scale factors" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:298 +msgid "Do not ICE on recursive function definition in function result" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:299 +msgid "Fold transformational bessels when host runtime has bessels" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:300 +msgid "Do not create arith.extui with same from/to type" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:301 +msgid "Disambiguate F(X)=Y case where F is a function returning a pointer" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:302 +msgid "Avoid global name conflict when BIND(C,NAME=) is used" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:303 +msgid "Accept \"INFINITY\" as real input" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:304 +msgid "Add semantic checks for intrinsic function REDUCE()" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:305 +msgid "Fix crash from PDT component init in module file" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:307 +msgid "" +"Call notes are recorded and publicly available " +"[here](https://docs.google.com/document/d/1Z2U5UAtJ-" +"Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit)." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:313 +msgid "" +"[Fixes for intrinsics while compiling `stdlib` using " +"`lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:314 +msgid "" +"[Draft: Stdlib " +"sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:315 +msgid "" +"[Draft: Sprint Compiling stdlib with " +"LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:319 +msgid "" +"[Implementing dead code elemination " +"optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:320 +msgid "" +"[Supporting duplication of Function/Subroutine " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:321 +msgid "" +"[Implementing loop unrolling optimization for fixed sized " +"loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:325 +msgid "" +"[AST->ASR: Remove " +"current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:326 +msgid "" +"[Added support keyword argument in class " +"procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:327 +msgid "" +"[Implementing ArrayBound node to replace `lbound`, `ubound` as function " +"calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:328 +msgid "" +"[Implementing `Block` and " +"`BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:329 +msgid "" +"[Made scope private in SymbolTable struct and added interface methods to " +"modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:330 +msgid "" +"[Removing dead code which treats size intrinsic as " +"function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:331 +msgid "" +"[Implementing `ArraySize` node to replace function call to " +"`size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:332 +msgid "" +"[Fixing " +"adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:333 +msgid "" +"[Implementing " +"AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:334 +msgid "" +"[Move ASR.asdl into the src/libasr " +"directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:335 +msgid "" +"[Fixing handling of return " +"type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:336 +msgid "" +"[Fill function in FunctionCall of len expr of Character type after " +"completing symbol " +"table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:337 +msgid "" +"[Fixing inline function calls pass to skip " +"intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:338 +msgid "" +"[Draft: ASR: Add all intrinsic operations into ASR " +"itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:341 +msgid "**WASM**" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:343 +msgid "[Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:344 +msgid "" +"[draft: Wasm Intial " +"Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:345 +msgid "" +"[draft: Compiling LFortran to " +"WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:350 +msgid "" +"[bind(c): Fix " +"call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:351 +msgid "" +"[bind(c): Add tests for i64, f32, " +"f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:352 +msgid "" +"[Fix a bug in a " +"test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:353 +msgid "" +"[Add a test for calling Fortran from " +"C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:354 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:355 +msgid "" +"[CI: add git " +"safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:356 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:357 +msgid "" +"[Update ASR from " +"LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:358 +msgid "" +"[Adding and Improving " +"tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:359 +msgid "" +"[Remove --target install and CMAKE_INSTALL_PREFIX from " +"build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:365 +msgid "[Ubaid Shaikh](https://gitlab.com/shaikhubaid769)" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:371 +msgid "" +"We had our 25th Fortran Monthly call on April 22. You can watch the " +"recording below:" +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:374 +msgid "" +"Visual Studio Code's popular [Modern " +"Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang" +".linter-gfortran) extension joined the [fortran-lang " +"GitHub](https://github.com/fortran-lang/vscode-fortran-support) " +"organization." +msgstr "" + +#: ../../source/news/2022-05-05-Fortran-Newsletter-May-2022.md:376 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:482 +msgid "" +"Join and follow the [Fortran Discourse](https://fortran-" +"lang.discourse.group) to stay tuned with the future meetings." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:9 +msgid "" +"Welcome to the June edition of the monthly Fortran newsletter. The " +"newsletter comes out at the beginning of every month and details Fortran " +"news from the previous month." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:19 +msgid "" +"[#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): " +"Newsletter May 2022" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:21 +msgid "" +"[#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): Add " +"SeisSol to package index" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:49 +msgid "" +"[#656](https://github.com/fortran-lang/stdlib/pull/656): Add hint for " +"building error with make" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:51 +msgid "" +"[#655](https://github.com/fortran-lang/stdlib/pull/655): fixed 32-bit " +"integer overflow in stdlib_io_npy" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:53 +msgid "" +"[#657](https://github.com/fortran-lang/stdlib/pull/657): Remove support " +"for manual make builds" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:58 +msgid "" +"[#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): Fix " +"erroneous gaussian quadrature points in gauss_legendre" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:60 +msgid "" +"[#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): Readme " +"update" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:108 +msgid "" +"[#692](https://github.com/fortran-lang/fpm/pull/692): Fix for non-" +"portable GFortran `-J` flag in install script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:110 +msgid "" +"[#693](https://github.com/fortran-lang/fpm/pull/693): Fix show-model " +"option" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:115 +msgid "" +"[#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): Some cleanups" +" and minor fixes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:151 +msgid "Initial lowering of the Fortran Do loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:152 +msgid "Lower Unstructured do loops" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:154 +msgid "Define the default frontend driver triple" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:155 +msgid "Add support for consuming LLVM IR/BC files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:156 +msgid "Add support for -save-temps" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:157 +msgid "Switch to the MLIR coding style in the driver" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:158 +msgid "Fix driver method names overridden by the plugins" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:159 +msgid "Support parsing response files" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:160 +msgid "Make driver accept -module-dir" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:161 +msgid "Add support for generating executables on MacOSX/Darwin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:163 +msgid "Add lowering stubs for OpenMP/OpenACC declarative constructs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:164 +msgid "Added tests for taskwait and taskyield translation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:165 +msgid "Restrict types for omp.parallel args" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:166 +msgid "Add omp.cancel and omp.cancellationpoint." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:167 +msgid "Initial lowering of the OpenMP worksharing loop" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:168 +msgid "Lowering for task construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:169 +msgid "Support lowering to MLIR for ordered clause" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:170 +msgid "Support for Collapse" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:171 +msgid "Upstream the lowering of the parallel do combined construct" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:172 +msgid "Fix the types of worksharing-loop variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:173 +msgid "Change the OpenMP atomic read/write test cases" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:175 +msgid "Correct emission & reading of unterminated final records" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:176 +msgid "Support B/O/Z editing of CHARACTER" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:177 +msgid "Use 1-based dim in transformational runtime error msg" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:178 +msgid "Change \"unsupported\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:179 +msgid "Fix input of NAN(...) on non-fast path" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:180 +msgid "Don't pad CHARACTER input at end of record unless PAD='YES'" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:181 +msgid "Enforce restrictions on unlimited format repetition" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:182 +msgid "(G0) for CHARACTER means (A), not (A0)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:183 +msgid "BACKSPACE after non-advancing I/O" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:184 +msgid "Use proper prototypes in Fortran_main. NFCI" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:185 +msgid "Clean up asynchronous I/O APIs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:186 +msgid "INQUIRE(UNIT=666,NUMBER=n) must set n=666" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:187 +msgid "Handle BACKSPACE after reading past EOF" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:188 +msgid "Fix MAXLOC/MINLOC when MASK is scalar .FALSE." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:189 +msgid "Fix UBOUND() constant folding for parentheses expr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:190 +msgid "Support FINDLOC/MAXLOC/MINLOC with scalar mask" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:191 +msgid "Handle common block with different sizes in same file" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:192 +msgid "Add one semantic check for implicit interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:193 +msgid "Fix semantics check for RETURN statement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:194 +msgid "Fix ICE for passing a label for non alternate return arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:195 +msgid "Add ExternalNameConversionPass to pass pipeline" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:196 +msgid "Fix AllocaOp/AllocMemOp type conversion" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:197 +msgid "" +"Support external procedure passed as actual argument with implicit " +"character type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:198 +msgid "Fix internal error with DATA-statement style initializers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:199 +msgid "Upstream support for POINTER assignment in FORALL" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:200 +msgid "Enforce a program not including more than one main program" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:201 +msgid "Retain binding label of entry subprograms" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:202 +msgid "Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:203 +msgid "Fold intrinsic functions SPACING() and RRSPACING()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:204 +msgid "Operands of SIGN() need not have same kind" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:205 +msgid "Correct folding of SPREAD() for higher ranks" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:206 +msgid "Refine handling of short character actual arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:207 +msgid "Ensure that structure constructors fold parameter references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:208 +msgid "" +"Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER " +"functions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:209 +msgid "Allow PDTs with LEN parameters in REDUCE()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:210 +msgid "Allow NULL() actual argument for optional dummy procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:211 +msgid "Allow implicit declaration of DATA objects in inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:212 +msgid "Refine error checking in specification expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:213 +msgid "Reverse a reversed type compatibility check" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:214 +msgid "Accept POINTER followed by INTERFACE" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:215 +msgid "Allow ENTRY function result symbol usage before the ENTRY" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:216 +msgid "Fold real-valued DIM(), MODULO() and MOD()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:217 +msgid "Enforce limit on rank + corank" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:218 +msgid "" +"Allow local variables and function result inquiries in specification " +"expressions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:219 +msgid "Change \"bad kind\" messages in the runtime to \"not yet implemented\"" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:220 +msgid "Fold complex component references" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:221 +msgid "Fix check for assumed-size arguments to SHAPE() & al." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:222 +msgid "" +"Fix a performance problem with lowering of forall loops and creating too " +"many temporaries" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:223 +msgid "Warn for the limit on name length" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:224 +msgid "Install Fortran_main library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:225 +msgid "test conforming & non-conforming lcobound" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:226 +msgid "Fix use-associated false-positive error" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:227 +msgid "Fix character length calculation for Unicode component" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:228 +msgid "Allow global scope names that clash with intrinsic modules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:229 +msgid "Ignore BIND(C) binding name conflicts of inner procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:230 +msgid "Allow more forward references to ENTRY names" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:231 +msgid "Extension: Accept Hollerith actual arguments as if they were BOZ" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:232 +msgid "Alternate entry points with unused arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:233 +msgid "Fix crash in semantics after PDT instantiation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:238 +msgid "Gagandeep Singh (106):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:239 +msgid "Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:240 +msgid "Added test for kwargs in class procedure" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:241 +msgid "Added support for kwargs in class procedures" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:242 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:247 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:253 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:258 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:267 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:271 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:273 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:276 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:281 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:286 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:291 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:293 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:298 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:301 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:303 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:306 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:309 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:311 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:315 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:321 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:335 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:338 +msgid "Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:243 +msgid "Added support for i32 and i64 in repeat" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:244 +msgid "Added mergechar in merge interface" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:245 +msgid "Added is_iostat_eor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:246 +msgid "Removed compulsory evaluation of ishft" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:248 +msgid "" +"Use intrinsic type checking in assignment only when operator overloading " +"fails" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:249 +msgid "Perform casting in Compare only when overloaded is not available" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:250 +msgid "Set dest_type and source_type even though casting doesn't happen" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:251 +msgid "Use kind_value to generate type in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:252 +msgid "Added test for verifying SemanticError in case of non-constant kind input" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:254 +msgid "Add AssociateBlock and Block in serialization.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:255 +msgid "Include associate_06 in the integration_tests/CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:256 +msgid "Take into account output kind in LLVM's ArraySize visitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:257 +msgid "Added test for different output kinds in ArraySize" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:259 +msgid "Import procedures for overloaded operators as well" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:260 +msgid "Fixed tests for compiling correctly with gfortran" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:261 +msgid "Mangle name before importing procedures under generic procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:262 +msgid "Merged master into sprint_6" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:263 +msgid "Avoid manual imports while using overloaded symbols" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:264 +msgid "Remove symbol from to_be_imported_later" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:265 +msgid "" +"Added support for keyword arguments in generic procedures and fix total " +"arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:266 +msgid "Added test for generic procedures with keyword arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:268 +msgid "Added intrinsics: congjz, dotproduct and updated: merge" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:269 +msgid "Added matmul, transpose as ASR nodes" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:270 +msgid "Added tests for matmul and transpose" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:272 +msgid "Added merge, dotproduct procedures for complex type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:274 +msgid "Add support for source kwarg in allocate" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:275 +msgid "Updated test for verifying source argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:277 +msgid "" +"Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in " +"comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:278 +msgid "Added shiftl, shiftr and count" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:279 +msgid "Added more implementations for abs, mod" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:280 +msgid "Added adjustr, lgt, llt, lle, lge for string type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:282 +msgid "Registered ieee_is_nan in comptime_eval.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:283 +msgid "Added support for pack intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:284 +msgid "Added support for transfer intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:285 +msgid "Use modern Fortran syntax for array constants" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:287 +msgid "ArrayTransfer -> Transfer rename" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:288 +msgid "Added generation code for expression replacer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:289 +msgid "Added ReplaceArgVisitor and generalised handle_return_type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:290 +msgid "Added tests for verifying arg replacer in return types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:292 +msgid "Added cmplx via ComplexConstructor node" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:294 +msgid "Import via use inside Function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:295 +msgid "Added support for matching Derived/ClassType" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:296 +msgid "Added support for falling back to intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:297 +msgid "Added to test verify importing procedures inside function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:299 +msgid "Added support for passing kind parameter to floor intrinsic" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:300 +msgid "" +"Use CPtr for variables declared with type(c_ptr) 2. Set " +"Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in " +"extract_dimensions_from_ttype" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:302 +msgid "Added LLVM support for CLoc, CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:304 +msgid "Added integration test for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:305 +msgid "Added support for c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:307 +msgid "Added error checking for presence of shape argument in c_f_pointer call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:308 +msgid "Fixed ArrayConstant type and raise error is shape is not rank 1" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:310 +msgid "Implemented c_f_pointer for non-array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:312 +msgid "Added test with pointer array variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:313 +msgid "Shifted type generation to a function in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:314 +msgid "Corrected llvm::Type* for array pointer variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:316 +msgid "" +"Fixed ArrayBound for array pointers 2. Shifted argument type generation " +"to a function and use recursion for Pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:317 +msgid "Added support for printing Pointer type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:318 +msgid "" +"Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return " +"ArrayBound instead of a function call" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:319 +msgid "Use element type in ArrayRef instead of pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:320 +msgid "Syntax improvement" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:322 +msgid "Removed warnings" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:323 +msgid "Adjust ArrayBound for ArrayConstant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:324 +msgid "Corrected arrays_13 by making iv, rv as target" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:325 +msgid "Stronger verification checks for CFPointer creation" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:326 +msgid "Support for array inputs in CFPointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:327 +msgid "Improved bindc2 for array inputs in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:328 +msgid "" +"Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved " +"CFPointer in LLVM backend to not interfere with already stored array in " +"array pointer variables 3. Improved bindc2.f90 and made it robust to " +"cover more cases. 4. Updated reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:329 +msgid "Fixed unused variable warnings in llvm_utils.cpp" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:330 +msgid "Use abstract methods in CFPointer for accessing array descriptor data" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:331 +msgid "Added test for ArrayRef in c_loc" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:332 +msgid "Minor update in bindc2 and bindc3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:333 +msgid "Fixed Complex case in duplicate type and intialise type at declaration" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:334 +msgid "Added support ArrayRef in CLoc in LLVM backend" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:336 +msgid "" +"Added support for CPtr in arguments and fixed llvm::Type for intent(out) " +"for CPtr 2. Added support for constant arrays as shape in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:337 +msgid "Updated bindc4 for verifying constant arrays in c_f_pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:340 +msgid "Naman Gera (1):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:341 +msgid "Update the C runtime library" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:343 +msgid "Ondřej Čertík (136):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:344 +msgid "AST->ASR: Remove current_body" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:345 +msgid "Fix a bug in a test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:346 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:351 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:353 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:356 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:360 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:362 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:365 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:374 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:377 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:384 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:392 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:407 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:410 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:428 +msgid "Update tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:347 +msgid "bind(c): Add tests for i64, f32, f64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:348 +msgid "Update modules_18b.f90 to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:349 +msgid "Add tests for the other types" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:350 +msgid "Comment out a non-working case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:352 +msgid "bind(c): Fix call_fortran_i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:354 +msgid "bind(c): Add a test for i32 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:355 +msgid "LLVM: implement value arguments in bind(c) procs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:357 +msgid "Make modules_18b.f90 compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:358 +msgid "bind(c): test i64, f32, f64 by value" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:359 +msgid "Update modules_18b to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:361 +msgid "ASR: Bring updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:363 +msgid "ASR: Updates from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:364 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:427 +msgid "Update the rest of the code to compile" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:366 +msgid "C++ backend: implement ComplexConstructor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:367 +msgid "Add the simplest test for submodules" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:368 +msgid "Add Logical to nested_vars" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:369 +msgid "Workaround a cmake bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:370 +msgid "Add a test for bind(c) with pointers" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:371 +msgid "Rework the AST->ASR handling of floor()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:372 +msgid "Implement is_intrinsic_symbol()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:373 +msgid "Refactor floor() into lfortran_intrinsic_math3" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:375 +msgid "Add a test case for imported derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:376 +msgid "Add value to all expr nodes except Constant" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:378 +msgid "Implement expr_type() using ExprTypeVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:379 +msgid "Implement expr_value() using ExprValueVisitor" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:380 +msgid "iso_c_binding: add the c_loc() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:381 +msgid "Allow derived types as return values" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:382 +msgid "ASR: Represent c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:383 +msgid "Add ASR test for c_loc()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:385 +msgid "ASR: Add string conversion for derived type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:386 +msgid "Add a CPtr() type" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:387 +msgid "Make c_loc() return CPtr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:388 +msgid "LLVM: handle CPtr in convert_args()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:389 +msgid "LLVM: Comment out visit_CFPointer (WIP)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:390 +msgid "CI: pin mkdocs-material and mkdocs versions" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:391 +msgid "Fix spelling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:393 +msgid "Shorten the help for --show-wat to fit 80 columns" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:394 +msgid "Git ignore wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:395 +msgid "Move emit_wat out of LLVM ifdef" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:396 +msgid "Generate wasm_visitor.h in ci/build.xsh" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:397 +msgid "Enable WAT tests in run_tests.py" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:398 +msgid "Add a test for WASM" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:399 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:444 +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:447 +msgid "Update reference tests" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:400 +msgid "Implement FortranEvaluator::get_wasm()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:401 +msgid "Use asr_to_wasm_bytes_stream() in asr_to_wasm" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:402 +msgid "WASM: Add 64 bit BinOp operations" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:403 +msgid "WASM: handle i64 arguments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:404 +msgid "WASM: Add a test for i64" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:405 +msgid "Move the wasm_instructions_visitor.py to libasr" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:406 +msgid "Update ASR from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:408 +msgid "Bring more ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:409 +msgid "Bring in name mangling" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:411 +msgid "Add a test for passing through pointers via C" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:412 +msgid "LLVM: implement debug ASR printing" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:413 +msgid "LLVM: Use `deftype` to implement interfaces" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:414 +msgid "LLVM: Pass type(c_ptr) by value properly" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:415 +msgid "Pass \"n\" by reference for now" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:416 +msgid "Pass arguments by value for bind(c)" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:417 +msgid "Only do the load if it is a pointer" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:418 +msgid "LLVM: Use an ASR condition instead of LLVM one" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:419 +msgid "lfortran_intrinsic_string: depend iso_fortran_env" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:420 +msgid "Enable bindc_01 LLVM test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:421 +msgid "Add a test for pointer argument" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:422 +msgid "Add suffixes 1/2" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:423 +msgid "Add a callback2b test" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:424 +msgid "Add a test for callback1b()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:425 +msgid "Get value to reference argument working" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:426 +msgid "Port ASR improvements from LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:429 +msgid "ASR sync with LPython" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:431 +msgid "Tapasweni Pathak (9):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:432 +msgid "Add markdown sample for intrinsic:math:asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:433 +msgid "Add doxygen docstring in lfortran intrinsic runtime asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:434 +msgid "Add comments for interface asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:435 +msgid "Add doxygen comment for lfortran_sasin_api" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:436 +msgid "Enhance presentation of information" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:437 +msgid "use retval for return values variable" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:438 +msgid "delete fortran doxygen comments docs" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:439 +msgid "mkdocs: LFortran Intrinsics: asin" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:440 +msgid "add: mkdocs: code syntax highlighting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:442 +msgid "Ubaid (24):" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:443 +msgid "Improve ceiling() test case" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:445 +msgid "Specifying constants as double precision" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:446 +msgid "Update error condition check as suggested" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:448 +msgid "Code formatting" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:449 +msgid "Add and improve namespace ending comments" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:450 +msgid "Add wasm_instructions list" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:451 +msgid "Comment out few instructions that have temporary variables" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:452 +msgid "Add wasm_instructions_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:453 +msgid "" +"Add namespace related info and pass code as function parameter in " +"wasm_insts_visitor script" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:454 +msgid "Add command in build0.sh to generate wasm_visitor.h" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:455 +msgid "Add utility struct and functions defined in wasm_utils" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:456 +msgid "Add wasm_to_wat converter" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:457 +msgid "Include wasm_to_wat and wasm_utils in CMakeLists.txt" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:458 +msgid "Define vector.resize()" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:459 +msgid "Add --show-wat flag and emit_wat() function" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:460 +msgid "Declare and define get_wat() in fortran_evaluator" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:461 +msgid "" +"Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to" +" memory" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:462 +msgid "Fix warning by adding U and add comment" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:463 +msgid "Fix missing parameters bug" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:464 +msgid "Switch off WAT_DEBUG macro" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:465 +msgid "Remove debugging cout statements" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:466 +msgid "Move load_file() to top" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:472 +msgid "" +"The Fortran-lang Google Summer of Code 2022 program began on May 23. We " +"welcome five contributors: Arteev Raina, Ashirwad Mishra, Henil Shalin " +"Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. They will be working " +"on exciting projects from fpm and the Fortran website to improving the " +"LFortran compiler. Read more about their projects " +"[here](https://summerofcode.withgoogle.com/programs/2022/organizations" +"/fortran-lang)." +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:478 +msgid "We had our 26th Fortran Monthly call on May 16. Watch the recording below:" +msgstr "" + +#: ../../source/news/2022-06-09-Fortran-Newsletter-June-2022.md:503 +msgid "" +"[fortran-lang/vscode-fortran-support](https://github.com/fortran-lang" +"/vscode-fortran-support)" +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/packages.po b/locale/zh_CN/LC_MESSAGES/packages.po new file mode 100644 index 000000000..12e54eac4 --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/packages.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../source/packages.rst:8 +msgid "Packages - The Fortran Programming Language" +msgstr "" + +#: ../../source/packages.rst:13 +msgid "Fortran Packages" +msgstr "" + +#: ../../source/packages.rst:17 ../../source/packages/data-types.rst:7 +#: ../../source/packages/examples.rst:7 ../../source/packages/graphics.rst:7 +#: ../../source/packages/interfaces.rst:7 ../../source/packages/io.rst:7 +#: ../../source/packages/libraries.rst:7 ../../source/packages/numerical.rst:7 +#: ../../source/packages/programming.rst:7 +#: ../../source/packages/scientific.rst:7 ../../source/packages/strings.rst:7 +msgid "A rich ecosystem of high-performance code" +msgstr "" + +#: ../../source/packages.rst:22 +msgid "Find a Package" +msgstr "" + +#: ../../source/packages.rst:37 +msgid "Package index" +msgstr "" + +#: ../../source/packages.rst:41 +msgid "" +"The fortran-lang package index is community-maintained and lists open " +"source Fortran-related projects. This includes large-scale scientific " +"applications, function libraries, Fortran interfaces, and developer " +"tools. |br| See `here `_ for how to get your project listed. " +"|br| Use the box above to search the package index by keyword, package " +"name, or author username." +msgstr "" + +#: ../../source/packages.rst:54 +msgid "Featured topics" +msgstr "" + +#: ../../source/packages.rst:64 +msgid "Browse Packages by Category" +msgstr "" + +#: ../../source/packages.rst:69 +msgid "`Data types and containers `_" +msgstr "" + +#: ../../source/packages.rst:71 ../../source/packages/data-types.rst:17 +msgid "Libraries for advanced data types and container classes" +msgstr "" + +#: ../../source/packages.rst:74 +msgid "`Interface libraries `_" +msgstr "" + +#: ../../source/packages.rst:76 ../../source/packages/interfaces.rst:17 +msgid "Libraries that interface with other systems, languages, or devices" +msgstr "" + +#: ../../source/packages.rst:79 +msgid "`Libraries `_" +msgstr "" + +#: ../../source/packages.rst:81 ../../source/packages/libraries.rst:18 +msgid "Fortran libraries for general programming tasks" +msgstr "" + +#: ../../source/packages.rst:84 +msgid "`Input, output and parsing `_" +msgstr "" + +#: ../../source/packages.rst:86 ../../source/packages/io.rst:17 +#: ../../source/packages/numerical.rst:17 +msgid "Libraries for reading, writing and parsing files and inputs" +msgstr "" + +#: ../../source/packages.rst:89 +msgid "`Graphics, plotting and user interfaces `_" +msgstr "" + +#: ../../source/packages.rst:91 ../../source/packages/graphics.rst:17 +msgid "" +"Libraries for plotting data, handling images and generating user " +"interfaces" +msgstr "" + +#: ../../source/packages.rst:94 +msgid "`Examples and templates `_" +msgstr "" + +#: ../../source/packages.rst:96 ../../source/packages/examples.rst:18 +msgid "Demonstration codes and templates for Fortran" +msgstr "" + +#: ../../source/packages.rst:99 +msgid "`Numerical projects `_" +msgstr "" + +#: ../../source/packages.rst:101 +msgid "Fortran libraries for linear algebra, optimization, root-finding etc." +msgstr "" + +#: ../../source/packages.rst:104 +msgid "`Programming utilities `_" +msgstr "" + +#: ../../source/packages.rst:106 ../../source/packages/programming.rst:17 +msgid "Error handling, logging, documentation and testing" +msgstr "" + +#: ../../source/packages.rst:109 +msgid "`Characters and strings `_" +msgstr "" + +#: ../../source/packages.rst:111 ../../source/packages/strings.rst:17 +msgid "Libraries for manipulating characters and strings" +msgstr "" + +#: ../../source/packages.rst:114 +msgid "`Scientific Codes `_" +msgstr "" + +#: ../../source/packages.rst:116 ../../source/packages/scientific.rst:18 +msgid "" +"Applications and libraries for applied mathematical and scientific " +"problems" +msgstr "" + +#: ../../source/packages/data-types.rst:3 ../../source/packages/examples.rst:3 +#: ../../source/packages/graphics.rst:3 ../../source/packages/interfaces.rst:3 +#: ../../source/packages/io.rst:3 ../../source/packages/libraries.rst:3 +#: ../../source/packages/numerical.rst:3 +#: ../../source/packages/programming.rst:3 +#: ../../source/packages/scientific.rst:3 ../../source/packages/strings.rst:3 +msgid "Featured Open Source Projects" +msgstr "" + +#: ../../source/packages/data-types.rst:9 ../../source/packages/examples.rst:9 +#: ../../source/packages/graphics.rst:9 ../../source/packages/interfaces.rst:9 +#: ../../source/packages/io.rst:9 ../../source/packages/libraries.rst:9 +#: ../../source/packages/numerical.rst:9 +#: ../../source/packages/programming.rst:9 +#: ../../source/packages/scientific.rst:9 ../../source/packages/strings.rst:9 +msgid "license" +msgstr "" + +#: ../../source/packages/data-types.rst:10 +#: ../../source/packages/examples.rst:10 ../../source/packages/graphics.rst:10 +#: ../../source/packages/interfaces.rst:10 ../../source/packages/io.rst:10 +#: ../../source/packages/libraries.rst:10 +#: ../../source/packages/numerical.rst:10 +#: ../../source/packages/programming.rst:10 +#: ../../source/packages/scientific.rst:10 ../../source/packages/strings.rst:10 +msgid "stars" +msgstr "" + +#: ../../source/packages/data-types.rst:11 +#: ../../source/packages/examples.rst:11 ../../source/packages/graphics.rst:11 +#: ../../source/packages/interfaces.rst:11 ../../source/packages/io.rst:11 +#: ../../source/packages/libraries.rst:11 +#: ../../source/packages/numerical.rst:11 +#: ../../source/packages/programming.rst:11 +#: ../../source/packages/scientific.rst:11 ../../source/packages/strings.rst:11 +msgid "forks" +msgstr "" + +#: ../../source/packages/data-types.rst:12 +#: ../../source/packages/examples.rst:12 ../../source/packages/graphics.rst:12 +#: ../../source/packages/interfaces.rst:12 ../../source/packages/io.rst:12 +#: ../../source/packages/libraries.rst:12 +#: ../../source/packages/numerical.rst:12 +#: ../../source/packages/programming.rst:12 +#: ../../source/packages/scientific.rst:12 ../../source/packages/strings.rst:12 +msgid "lastcommit" +msgstr "" + +#: ../../source/packages/data-types.rst:13 +#: ../../source/packages/examples.rst:13 ../../source/packages/graphics.rst:13 +#: ../../source/packages/interfaces.rst:13 ../../source/packages/io.rst:13 +#: ../../source/packages/libraries.rst:13 +#: ../../source/packages/numerical.rst:13 +#: ../../source/packages/programming.rst:13 +#: ../../source/packages/scientific.rst:13 ../../source/packages/strings.rst:13 +msgid "issues" +msgstr "" + +#: ../../source/packages/data-types.rst:14 +#: ../../source/packages/examples.rst:14 ../../source/packages/graphics.rst:14 +#: ../../source/packages/interfaces.rst:14 ../../source/packages/io.rst:14 +#: ../../source/packages/libraries.rst:14 +#: ../../source/packages/numerical.rst:14 +#: ../../source/packages/programming.rst:14 +#: ../../source/packages/scientific.rst:14 ../../source/packages/strings.rst:14 +msgid "release" +msgstr "" + diff --git a/locale/zh_CN/LC_MESSAGES/sphinx.po b/locale/zh_CN/LC_MESSAGES/sphinx.po new file mode 100644 index 000000000..2d0fb74fa --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/sphinx.po @@ -0,0 +1,89 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2022, Fortran Community +# This file is distributed under the same license as the Fortran-lang.org +# website package. +# FIRST AUTHOR , 2022. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Fortran-lang.org website \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-27 21:09+0530\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/archives.html:3 +msgid "Archives" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/authors.html:2 +msgid "Authors" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/categories.html:3 +msgid "Categories" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/collection.html:47 +msgid "Read more ..." +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/languages.html:3 +msgid "Languages" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/locations.html:3 +msgid "Locations" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:5 +msgid "Update" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:12 +msgid "Author" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:24 +msgid "Location" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:35 +msgid "Language" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:46 +msgid "Category" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:57 +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/tagcloud.html:2 +msgid "Tags" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postcard2.html:60 +msgid "Tag" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:5 +msgid "Previous" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/postnavy.html:15 +msgid "Next" +msgstr "" + +#: ../../../../../.local/lib/python3.8/site-packages/ablog/templates/recentposts.html:3 +msgid "Recent Posts" +msgstr "" + +#: ../../source/_templates/inpage_toc.html:25 +msgid "On this page" +msgstr "" + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..20fea6b55 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +Sphinx +ablog +pydata-sphinx-theme +myst-parser +sphinx_design +sphinx_copybutton +sphinx-jinja +jinja2 +requests diff --git a/source/_static/custom.css b/source/_static/custom.css new file mode 100644 index 000000000..7ae6764d2 --- /dev/null +++ b/source/_static/custom.css @@ -0,0 +1,68 @@ +:root { + --sd-color-primary: #734f96; + --sd-color-secondary: #6c757d; + --sd-color-success: #28a745; + --sd-color-info: #17a2b8; + --sd-color-warning: #f0b37e; + --sd-color-danger: #dc3545; + --sd-color-light: #f8f9fa; + --sd-color-muted: #6c757d; + --sd-color-dark: #ffffff; + --sd-color-primary-highlight: #0069d9; + --sd-color-secondary-highlight: #5c636a; + --sd-color-success-highlight: #228e3b; + --sd-color-info-highlight: #148a9c; + --sd-color-warning-highlight: #cc986b; + --sd-color-danger-highlight: #bb2d3b; + --sd-color-light-highlight: #d3d4d5; + --sd-color-muted-highlight: #5c636a; + --sd-color-dark-highlight: #1c1f23; + --sd-color-primary-text: #fff; + --sd-color-secondary-text: #fff; + --sd-color-success-text: #fff; + --sd-color-info-text: #fff; + --sd-color-warning-text: #212529; + --sd-color-danger-text: #fff; + --sd-color-light-text: #212529; + --sd-color-muted-text: #fff; + --sd-color-dark-text: #fff; + --sd-color-shadow: rgba(0, 0, 0, 0.15); + --sd-color-card-border: rgba(0, 0, 0, 0.125); + --sd-color-card-border-hover: hsla(231, 99%, 66%, 1); + --sd-color-card-background: transparent; + --sd-color-card-text: inherit; + --sd-color-card-header: transparent; + --sd-color-card-footer: transparent; + --sd-color-tabs-label-active: hsla(231, 99%, 66%, 1); + --sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1); + --sd-color-tabs-label-inactive: hsl(0, 0%, 66%); + --sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1); + --sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62); + --sd-color-tabs-underline-inactive: transparent; + --sd-color-tabs-overline: rgb(222, 222, 222); + --sd-color-tabs-underline: rgb(222, 222, 222); + --sd-fontsize-tabs-label: 1rem +} + +.index_joinus_mobile { + visibility: hidden; + display: none; + } + +h1 { + color: #734f96; + } +@media screen and (max-width: 600px) { + .index_joinus { + visibility: hidden; + clear: both; + float: left; + margin: 10px auto 5px 20px; + width: 28%; + display: none; + } + .index_joinus_mobile { + visibility: visible; + display: inline; + } + } \ No newline at end of file diff --git a/source/_static/images/favicon.ico b/source/_static/images/favicon.ico new file mode 100644 index 000000000..9a7367f2a Binary files /dev/null and b/source/_static/images/favicon.ico differ diff --git a/source/_static/images/fortran-logo-256x256.png b/source/_static/images/fortran-logo-256x256.png new file mode 100644 index 000000000..85637cef7 Binary files /dev/null and b/source/_static/images/fortran-logo-256x256.png differ diff --git a/source/_templates/footer.html b/source/_templates/footer.html new file mode 100644 index 000000000..b991e5517 --- /dev/null +++ b/source/_templates/footer.html @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/source/_templates/index_sidebar.html b/source/_templates/index_sidebar.html new file mode 100644 index 000000000..5cea2a15a --- /dev/null +++ b/source/_templates/index_sidebar.html @@ -0,0 +1,29 @@ +{% if pagename == 'index' %} +
+

Join us!

+

Mailing list

+

Subscribe to our mailing list + to discuss anything Fortran related, announce Fortran projects, discuss development + of core fortran-lang.org projects (stdlib, fpm), and get + the latest news. +

+

Discourse

+

+ Join the discussion about all things Fortran on the + fortran-lang discourse. +

+

Twitter

+ + +

RSS feed

+

RSS clients can follow the RSS feed.

+

Open source

+

+ Contribute code, report bugs and request features at + GitHub. +

+{% endif %} + + + diff --git a/source/_templates/inpage_toc.html b/source/_templates/inpage_toc.html new file mode 100644 index 000000000..53a7d8092 --- /dev/null +++ b/source/_templates/inpage_toc.html @@ -0,0 +1,34 @@ +{% if ablog %} +{% if pagename == 'index' %} + +

+

News

+
    + {% set pcount = 1 %} + {% for recent in ablog.recent(5, pagename) %} +
  • {{ recent.title }}
  • + {% endfor %} +
+ + +
+ +{% endif %} + +{% if pathto('index',1)[:-5] =='../../' %} +
+{% set page_toc = generate_toc_html() %} + +{%- if page_toc | length >= 1 %} +
+ {{ _("On this page") }} +
+{%- endif %} + + +{%- endif %} + +{% endif %} \ No newline at end of file diff --git a/source/_templates/navbar-nav.html b/source/_templates/navbar-nav.html new file mode 100644 index 000000000..8d8d8134b --- /dev/null +++ b/source/_templates/navbar-nav.html @@ -0,0 +1,128 @@ + \ No newline at end of file diff --git a/source/community.rst b/source/community.rst new file mode 100644 index 000000000..56dd409bc --- /dev/null +++ b/source/community.rst @@ -0,0 +1,191 @@ +:sd_hide_title: + +.. |br| raw:: html + +
+ +.. raw:: html + + + + + + + + +Community - The Fortran Programming Language +########################################### + +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Fortran-lang Community + +.. div:: sd-text-center sd-fs-3 + + Collaboration for the advancement of Fortran + + +.. div:: sd-text-left sd-fs-2 sd-text-primary + + Fortran-lang Community Projects + +.. grid:: 2 + + .. grid-item-card:: + :columns: 5 + :shadow: none + + .. div:: sd-text-left sd-fs-4 + + Fortran Standard Library (stdlib) + + A community-driven project for a de facto 'standard' library for Fortran. The stdlib project is both a specification and a reference implementation, developed in cooperation with the Fortran Standards Committee. + + `GitHub `_ `Documentation `_ `Contributing `_ + + .. div:: sd-text-left sd-fs-4 + + Fortran Package Manager (fpm) + + A prototype project to develop a common build system for Fortran packages and their dependencies. + + `GitHub `_ `Documentation `_ `Contributing `_ + + .. div:: sd-text-left sd-fs-4 + + fortran-lang.org + + This website is open source and contributions are welcome!. + + `GitHub `_ `Contributing `_ + + + .. grid-item-card:: + :columns: 7 + :shadow: none + + .. raw:: html + +
+ + + + +.. div:: sd-text-left sd-fs-2 sd-text-primary + + Get Involved + +.. grid:: 1 1 2 2 + :gutter: 1 + + .. grid-item:: + + .. grid:: 1 1 1 1 + :gutter: 1 + + .. grid-item-card:: + :shadow: none + + .. div:: sd-text-left sd-fs-4 + + Join the Discussion + The easiest way to join the community and contribute is by + commenting on issues and pull requests in the project + repositories. + + Whether Fortran beginner or seasoned veteran, your feedback and comments are most + welcome in guiding the future of Fortran-lang. + + .. grid-item-card:: + :shadow: none + + .. div:: sd-text-left sd-fs-4 + + Contributor Guide + + Want to contribute code and content? + Check out the contributor guides in each repository for information + on the project workflow and recommended practices. + Contributor guide for stdlib + + `Contributor guide for stdlib `_ |br| + `Contributor guide for fpm `_ |br| + `Contributor guide for fortran-lang.org `_ + + + .. grid-item:: + + .. grid:: 1 1 1 1 + :gutter: 1 + + .. grid-item-card:: + :shadow: none + + .. div:: sd-text-left sd-fs-4 + + Build and Test + + Get more involved with each project by cloning, building and testing + it on your own machine(s) and with your own codes; + if something doesn't work, create an issue to let us know! + We value user feedback highly, be it a bug report, feature request, or + suggestion for documentation. + + .. grid-item-card:: + :shadow: none + + .. div:: sd-text-left sd-fs-4 + + Community Conduct + + As a community, we strive to make participation in our discussions and projects a friendly and + harassment-free experience for everyone. + See the full `Code of Conduct `_ + + + + +.. div:: sd-text-left sd-fs-2 sd-text-primary + + Fortran-lang Contributors + +We are grateful for every contribution made by all members of the community. + +.. raw:: html + + + +.. div:: sd-text-left sd-fs-3 + + source: https://git-contributor.com/ + +.. div:: sd-text-left sd-fs-4 sd-text-primary + + Contributors: + +.. jinja:: contributors + + .. grid:: 6 + :gutter: 1 + + {% for j in contributor | batch(6, ' ') %} + + {% for i in j %} + {% if i != ' ' %} + .. grid-item-card:: + :shadow: none + + .. grid-item-card:: `{{i}} <{{"https://github.com/"+i}}>`_ + :img-top: https://github.com/{{i}}.png?size=100 + :shadow: none + :text-align: center + {% endif %} + {% endfor %} + {% endfor %} \ No newline at end of file diff --git a/source/compilers.md b/source/compilers.md new file mode 100644 index 000000000..3978190cc --- /dev/null +++ b/source/compilers.md @@ -0,0 +1,205 @@ +--- +layout: page +title: Compilers +navbar: Compilers +--- + +

Fortran Compilers

+

Fortran has over a dozen open source and commercial compilers.

+ +## Compilers + +

Open source compilers

+ +

GNU Fortran Compiler

+ +[GNU Fortran Compiler (gfortran)](https://gcc.gnu.org/fortran/) is a mature +free and open source compiler, part of the GNU Compiler Collection. + +[OpenCoarrays](http://www.opencoarrays.org/) is a library and compiler wrapper +around gfortran which enables the parallel programming features of Fortran 2018 +with gfortran. + +

LLVM Flang

+ +[Flang](https://github.com/llvm/llvm-project/tree/main/flang) +is a new front-end for Fortran 2018 that has been recently +added to LLVM. +It is implemented in modern C++ and uses a Fortran-oriented MLIR dialect for lowering to LLVM IR. +This project is under active development. + + +

Current Flang

+ +[Flang](https://github.com/flang-compiler/flang) is an open source compiler +based on the NVIDIA/PGI commercial compiler. + + +

LFortran

+ +[LFortran](https://lfortran.org) is a modern, interactive, LLVM-based Fortran +compiler. + + +

Commercial compilers

+ +

Intel

+ +[Intel oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi/all-toolkits.html) +is Intel's suite of compilers, tools, and libraries for Fortran, C, C++, and +Python. Intel oneAPI HPC Toolkit provides +[two Fortran compilers](https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-fortran-compiler-release-notes.html): + +* Intel Fortran Compiler Classic (`ifort`), a mature compiler + with full Fortran 2018 support; and +* Intel Fortran Compiler Beta (`ifx`), a new, LLVM-based compiler + that supports Fortran 95 and partially newer versions of the standard. + +Intel oneAPI is available for free. +Currently the compiler supports Linux, MacOS and Windows platforms and x86\_64 architectures. +Community support is available for the free version at the [Intel Developer forum](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p/fortran-compiler). + + +

NAG

+ +The latest [NAG Fortran Compiler](https://www.nag.com/nag-compiler) +release (7.0) has extensive support for legacy and modern Fortran features including parallel programming with coarrays, as well as additional support for programming with OpenMP. + +The Compiler also provides significant support for Fortran 2018 (atomic +operations, events and tasks, plus other smaller features), almost all of +Fortran 2008, complete coverage of Fortran 2003, and all of OpenMP 3.1. All +platforms include supporting tools for software development: source file +polishers, dependency generator for module and include files, call-graph +generator, interface builder and a precision unifier. + +

NVIDIA

+ +The [NVIDIA HPC SDK](https://developer.nvidia.com/hpc-sdk) C, C++, and Fortran compilers, former [PGI compilers](https://www.pgroup.com/products/index.htm), support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming. + +NVHPC compilers are available free of charge. +Currently the compiler supports Linux platforms and x86\_64, ppc64le and aarch64 architectures. +Community support is available at the [HPC compiler forum](https://forums.developer.nvidia.com/c/accelerated-computing/hpc-compilers/nvc-nvc-and-nvfortran/313). + + +

HPE / Cray

+ +The [Cray Compiling Environment (CCE)](https://www.cray.com/sites/default/files/SB-Cray-Programming-Environment.pdf) +is the cornerstone innovation of Cray's adaptive computing paradigm. CCE builds +on a well-developed and sophisticated Cray technology base that identifies +regions of computation that are either sequential scalar, vector parallel or +highly multithreaded. It includes optimizing compilers that automatically +exploit the scalar, vector and multithreading hardware capabilities of the Cray +system. CCE supports Fortran, C and C++. + +

IBM

+ +[IBM® XL Fortran](https://www.ibm.com/us-en/marketplace/xl-fortran-linux-compiler-power) +for Linux is an industry standards-based programming tool used to develop large +and complex applications in the Fortran programming language. It generates code +that leverages the capabilities of the latest POWER9 architecture and maximizes +your hardware utilization. IBM XL Fortran for Linux optimizes your +infrastructure on IBM Power Systems™ in support of extensive numerical, +scientific and high-performance computing. + +A community edition of the IBM XL compilers are available free of charge. +The compilers support Linux and AIX platforms and ppc64le architectures. + + +

AMD

+ +The [AMD Optimizing C/C++ Compiler (AOCC)](https://developer.amd.com/amd-aocc/) +compiler system is a high performance, production quality code generation tool. +The AOCC environment provides various options to developers when building and +optimizing C, C++, and Fortran applications targeting 32-bit and 64-bit Linux® +platforms. The AOCC compiler system offers a high level of advanced +optimizations, multi-threading and processor support that includes global +optimization, vectorization, inter-procedural analyses, loop transformations, +and code generation. AMD also provides highly optimized libraries, which extract +the optimal performance from each x86 processor core when utilized. The AOCC +Compiler Suite simplifies and accelerates development and tuning for x86 +applications. + +The AOCC compilers are available free of charge and support Linux platforms with x86\_64 architectures. + + +

ARM

+ +[Linux user-space Fortran compiler](https://developer.arm.com/tools-and-software/server-and-hpc/compile/arm-compiler-for-linux/arm-fortran-compiler). +Tailored for HPC and scientific codes, with support for popular Fortran and +OpenMP standards and tuned for leading server-class Arm-based platforms. Built +on the open source Flang front-end, and the LLVM‑based optimization and code +generation back-end. Available as part of the Arm Compiler for Linux package. + +

Absoft

+ +[Absoft compilers](https://www.absoft.com/products/) include Pro Fortran +delivering Absoft’s exclusive AP load balancing, AVX, OpenMP 3.1, +extended Fortran 95 compiler with F2003 and F2008 features, FX3 graphical debugger, +native tool suite integration, AMDAL HPC scientific and engineering library, and more. +Pro Fortran includes Fast Data Visualization, an Absoft exclusive technology for +graphical rendering and data output. + +

Oracle / Sun

+ +[Oracle C, C++, Fortran Compiler](https://www.oracle.com/application-development/technologies/developerstudio-features.html) +is highly optimized for Oracle systems, on-premise and in the cloud + +* Advanced code generation technology for the latest Oracle SPARC and x86 based systems +* Support for the latest industry standards, including C++14, C++11, C11 and OpenMP 4.0 and extensive GCC compatibility features +* Automatic code analysis during compilation and automatic stack overflow protection at application runtime + + +

Lahey / Fujitsu

+ +LF Professional v7.8 combines the 32/64-bit LGF Rainier compiler with the classic +[Lahey/Fujitsu LF95](https://lahey.com/) compiler. LGF Rainier has full Fortran +95/90/77 compliance with extensive support for the Fortran 2003 and 2008 standards. +Lahey/Fujitsu LF95 offers best in class diagnostics. +Includes the automatic-parallelizing GFortran compiler, Lahey/Fujitsu Fortran 95 +compiler, Visual Studio Fortran support, Winteracter WiSK Graphics package, and more. + +

Silverfrost FTN95

+ +[Silverfrost FTN95](https://www.silverfrost.com/) is a full Fortran 95 standards +compliant compiler, capable of producing fast executables for Win32 and for +Microsoft .NET. FTN95 ships with the world's best runtime checking and a great +range of supporting software. All standard and many vendor-specific legacy +language features are supported, so that Fortran projects may be any combination +of Fortran 77, Fortran 90 and Fortran 95. +Some features of Fortran 2003 and 2008 have been [added](https://www.silverfrost.com/19/ftn95/support/ftn95_revision_history.aspx). +Silverfrost Fortran runs on Windows / x86_64. There is a free personal edition. + + +

NEC

+ +[The Fortran compiler](https://www.nec.com/en/global/solutions/hpc/sx/tools.html) +conforms to the Fortran-2003 standard (ISO/IEC 1539-1:2004) and supports many +features from Fortran-2008 (ISO/IEC 1539-1:2010). + +

LCC

+ +[MCST C, C++, Fortran Compiler](http://mcst.ru/lcc) with full support of Fortran-95 +(ISO/IEC 1539:1997) and partial support of Fortran-2003 (ISO/IEC 1539:2004), +Fortran-2008 (ISO/IEC 1539:2010) and Fortran-2018 (ISO/IEC 1539:2018). Used for +russian processor architectures Elbrus (e2k) and SPARC (MCST-R), also a cross-compiler +for x86_64 architecture is available. + +

Discontinued

+ +The following is a list of Fortran compilers that seem discontinued, so we do +not list them above: + +* Apogee +* Edinburgh Portable Compilers +* Hewlett Packard +* Watcom +* PathScale +* G95 +* Open64 +* Unisys + +

Note

+ +Please let us know if there is any compiler that is not listed, or if we listed +a compiler in the Discontinued section and it is in fact actively maintained. + diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 000000000..eabec46b9 --- /dev/null +++ b/source/conf.py @@ -0,0 +1,168 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) +import json +import sys + +f = open('../_data/fortran_learn.json') +conf = json.load(f) +f = open('../_data/fortran_package.json') +fortran_tags = json.load(f) +f = open('../_data/contributor.json') +contributors = json.load(f) + +# -- Project information ----------------------------------------------------- + +project = 'Fortran-lang.org website' +copyright = '2022, Fortran Community' +author = 'Fortran Community' + +# The full version, including alpha/beta/rc tags +release = '1.0.0' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + "ablog", + "myst_parser", + "sphinx_design", + "sphinx_copybutton", + "sphinx.ext.intersphinx", + "sphinx_jinja", +] + +myst_enable_extensions = [ + "colon_fence", + "deflist", + "substitution", + "html_image", +] + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] +locale_dirs = ["../locale/"] +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. + +language = str(sys.argv[2][-2:]) +html_search_language = str(sys.argv[2][-2:]) + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ["learn/intrinsics/_pages/*.md"] +html_additional_pages = {} +suppress_warnings = ["myst.header"] + +jinja_contexts = { + 'conf':conf, + 'fortran_index':fortran_tags, + 'contributors':contributors, +} + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "pydata_sphinx_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] +html_css_files = ['custom.css'] + +html_theme_options = { + "favicons" : [ + { + "rel": "icon", + "sizes": "256x256", + "href": "images/favicon.ico", + }, + ], + "show_prev_next": True, + "show_nav_level": 4, + "show_toc_level": 0, + "footer_items": ["copyright"], + "navbar_align": "right", + "navbar_start": ["navbar-logo"], + "page_sidebar_items": ['inpage_toc.html'], + "navbar_end": ["theme-switcher.html","navbar-icon-links"], + "icon_links": [ + { + "name": "Discourse", + "url": "https://fortran-lang.discourse.group/", + "icon": "fab fa-discourse", + }, + { + "name": "Twitter", + "url": "https://twitter.com/fortranlang", + "icon": "fab fa-twitter", + }, + { + "name": "GitHub", + "url": "https://github.com/fortran-lang", + "icon": "fab fa-github", + }, + { + "name": "RSS", + "url": "https://fortran-lang.org/news.xml", + "icon": "fas fa-rss", + }, + ] +} + +html_sidebars = { + "news": [ + "tagcloud.html", + "archives.html", + "recentposts.html", + ], + "news/**": [ + "postcard.html", + "recentposts.html", + "archives.html", + ], + "learn/**": ["sidebar-nav-bs.html"], + "learn":[], + "index":['index_sidebar.html'], + "compilers": [], + "packages": [], + "community": [], + "packages/**": [], +} +html_title = "Fortran Programming Language" +html_logo = "_static/images/fortran-logo-256x256.png" + +master_doc = 'index' + +fontawesome_link_cdn = True + +blog_path = "news" +blog_post_pattern = "news/*" +blog_baseurl = "https://fortran-lang.org/en/" +post_redirect_refresh = 1 +post_auto_image = 1 +post_auto_excerpt = 2 diff --git a/source/html/CNAME b/source/html/CNAME new file mode 100644 index 000000000..e78097391 --- /dev/null +++ b/source/html/CNAME @@ -0,0 +1 @@ +fortran-lang.org \ No newline at end of file diff --git a/source/html/index.html b/source/html/index.html new file mode 100644 index 000000000..121fe9a9b --- /dev/null +++ b/source/html/index.html @@ -0,0 +1,12 @@ + + + + + + + +Page Redirection + +If you are not redirected automatically, follow the link. \ No newline at end of file diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 000000000..4ffe7bd2f --- /dev/null +++ b/source/index.rst @@ -0,0 +1,143 @@ +:sd_hide_title: + +.. meta:: + :description: The Fortran Programming Language + :keywords: Fortran, High-performance, parallel programming language + +The Fortran Programming Language +############################### + + + +.. div:: sd-text-center sd-fs-3 sd-font-weight-bold sd-text-primary + + High-performance parallel programming language + +.. button-link:: learn.html + :color: primary + :align: center + + Get started + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Features + +.. div:: sd-fs-5 sd-font-weight-bold + + High performance + +Fortran has been designed from the ground up for computationally intensive applications in science and engineering. Mature and battle-tested compilers and libraries allow you to write code that runs close to the metal, fast. + +.. div:: sd-fs-5 sd-font-weight-bold + + Statically and strongly typed + +Fortran is statically and strongly typed, which allows the compiler to catch many programming errors early on for you. This also allows the compiler to generate efficient binary code. + +.. div:: sd-fs-5 sd-font-weight-bold + + Easy to learn and use + +Fortran is a relatively small language that is surprisingly easy to learn and use. Expressing most mathematical and arithmetic operations over large arrays is as simple as writing them as equations on a whiteboard. + +.. div:: sd-fs-5 sd-font-weight-bold + + Versatile + +Fortran allows you to write code in a style that best fits your problem: imperative, procedural, array-oriented, object-oriented, or functional. + +.. div:: sd-fs-5 sd-font-weight-bold + + Natively parallel + +Fortran is a natively parallel programming language with intuitive array-like syntax to communicate data between CPUs. You can run almost the same code on a single CPU, on a shared-memory multicore system, or on a distributed-memory HPC or cloud-based system. Coarrays, teams, events, and collective subroutines allow you to express different parallel programming patterns that best fit your problem at hand. + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + FAQ + +.. div:: sd-fs-5 sd-font-weight-bold + + What is the status of Fortran? + +Fortran is still in active development. The latest revision of the language is `Fortran 2018 `_,and the next one, with the working title Fortran 202x, is planned for release in the next few years. Further, open source projects like the `Standard Library `_ and the `Fortran Package Manager `_ are in active development. + +.. div:: sd-fs-5 sd-font-weight-bold + + What is Fortran used for? + +Fortran is mostly used in domains that adopted computation early--science and engineering. These include numerical weather and ocean prediction, computational fluid dynamics, applied math, statistics, and finance. Fortran is the dominant language of High Performance Computing and is used to `benchmark the fastest supercomputers in the world. `_ + +.. div:: sd-fs-5 sd-font-weight-bold + + Should I use Fortran for my new project? + +If you're writing a program or a library to perform fast arithmetic computation over large numeric arrays, Fortran is the optimal tool for the job. + +.. raw:: html + +
+

Join us!

+

Mailing list

+

Subscribe to our mailing list + to discuss anything Fortran related, announce Fortran projects, discuss development + of core fortran-lang.org projects (stdlib, fpm), and get + the latest news. +

+

Discourse

+

+ Join the discussion about all things Fortran on the + fortran-lang discourse. +

+

Twitter

+ + +

RSS feed

+

RSS clients can follow the RSS feed.

+

Open source

+

+ Contribute code, report bugs and request features at + GitHub. +

+
+ +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Make Fortran better + +.. grid:: 2 + + .. grid-item-card:: + :columns: 6 + + + .. div:: sd-fs-5 sd-font-weight-bold + + Write proposals + Have an idea about how to improve the language? You can write new proposals or contribute to existing proposals to the Fortran Standard Committee on `GitHub `_ . + + + .. grid-item-card:: + :columns: 6 + + .. div:: sd-fs-5 sd-font-weight-bold + + Develop tools + You can also help make Fortran better by contributing to its suite of tools, such as `Standard Library `_ , `Package Manager `_ , or `this website `_ . + +.. grid:: 2 + + .. grid-item-card:: + :columns: 12 + + + .. div:: sd-fs-5 sd-font-weight-bold + + Write Fortran software + Or just write Fortran software for your research, business, or schoolwork. You can learn how to `get started here `_ . + + + + \ No newline at end of file diff --git a/source/learn.rst b/source/learn.rst new file mode 100644 index 000000000..72098cc2f --- /dev/null +++ b/source/learn.rst @@ -0,0 +1,142 @@ +:sd_hide_title: true + +Learn +===== + +.. |br| raw:: html + +
+ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Learn Fortran + +.. div:: sd-text-center sd-fs-3 + + Learning resources for beginners and experts alike + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Getting Started + +.. grid:: 1 1 2 2 + :gutter: 1 + + .. grid-item:: + + .. grid:: 1 1 1 1 + :gutter: 1 + + .. grid-item-card:: :octicon:`info;1em;sd-text-info` New to Fortran + :shadow: none + + Try the quickstart Fortran tutorial, to get an overview of the language syntax and capabilities. |br| + + .. button-link:: learn/quickstart/index.html + :color: primary + :expand: + + :octicon:`book;1em;sd-text-info` Quickstart tutorial + + + + + .. grid-item:: + + .. grid:: 1 1 1 1 + :gutter: 1 + + .. grid-item-card:: :octicon:`bug;1em;sd-text-info` Looking for help + :shadow: none + + + Ask a question in the Fortran-lang discourse - a forum for friendly discussion of all things Fortran. + |br| + .. button-link:: https://fortran-lang.discourse.group/s + :color: primary + :expand: + + :octicon:`check-circle;1em;sd-text-info` Fortran-lang Discourse + + + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Mini-book Tutorials + +.. jinja:: conf + + {% for j in categories %} + .. div:: sd-fs-4 sd-font-weight-bold sd-text-primary + + {{j.name}} + + .. grid:: 2 + {% for b in books %} + {% if b.category == j.name %} + + .. grid-item-card:: + :columns: 6 + :shadow: none + + .. div:: sd-fs-5 sd-font-weight-bold sd-text-primary + + :octicon:`book;1em;sd-text-info` `{{b.title}} <{{b.link[1:]+"/"}}>`_ + {{b.description}} + {% endif %} + {% endfor %} + {% endfor %} + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Other Resources + +.. div:: sd-fs-4 sd-font-weight-bold sd-text-primary + + On the web + +.. jinja:: conf + + {% for j in reference_links %} + + + * `{{j.name}} <{{j.url}}>`_ {{j.description}} + + {% endfor %} + + + +.. div:: sd-fs-4 sd-font-weight-bold sd-text-primary + + Online Courses + +.. jinja:: conf + + {% for j in reference_courses %} + + + * `{{j.name}} <{{j.url}}>`_ {{j.description}} + + {% endfor %} + +.. div:: sd-fs-4 sd-font-weight-bold sd-text-primary + + In print + +.. jinja:: conf + + {% for j in reference_books %} + + * {{j.author}} {{j.year}} `{{j.title}} <{{j.url}}>`_ {{j.edition}} {{j.location}}. {{j.publisher}} + + {% endfor %} + + +.. toctree:: + :hidden: + + learn/quickstart/index + learn/best_practices/index + learn/os_setup/index + learn/building_programs/index + learn/intrinsics/index \ No newline at end of file diff --git a/source/learn/best_practices/allocatable_arrays.md b/source/learn/best_practices/allocatable_arrays.md new file mode 100644 index 000000000..bedd69f7f --- /dev/null +++ b/source/learn/best_practices/allocatable_arrays.md @@ -0,0 +1,134 @@ +--- +layout: book +title: Allocatable Arrays +permalink: /learn/best_practices/allocatable_arrays +sd_hide_title: true +--- + +# Allocatable Arrays + +The ``allocatable`` attribute provides a safe way for memory handling. +In comparison to variables with ``pointer`` attribute the memory is managed +automatically and will be deallocated automatically once the variable goes +out-of-scope. Using ``allocatable`` variables removes the possibility to +create memory leaks in an application. + +They can be used in subroutines to create scratch or work arrays, where +automatic arrays would become too large to fit on the stack. + +```fortran +real(dp), allocatable :: temp(:) +allocate(temp(10)) +``` + +The allocation status can be checked using the ``allocated`` intrinsic +to avoid uninitialized access + +```fortran +subroutine show_arr(arr) + integer, allocatable, intent(in) :: arr(:) + + if (allocated(arr)) then + print *, arr + end if +end subroutine show_arr +``` + +To allocate variables inside a procedure the dummy argument has to carry +the ``allocatable`` attribute. Using it in combination with ``intent(out)`` +will deallocate previous allocations before entering the procedure: + +```fortran +subroutine foo(lam) + real(dp), allocatable, intent(out) :: lam(:) + allocate(lam(5)) +end subroutine foo +``` + +The allocated array can be used afterwards like a normal array + +```fortran +real(dp), allocatable :: lam(:) +call foo(lam) +``` + +An already allocated array cannot be allocated again without prior deallocation. +Similarly, deallocation can only be invoked for allocated arrays. To reallocate +an array use + +```fortran +if (allocated(lam)) deallocate(lam) +allocate(lam(10)) +``` + +Passing allocated arrays to procedures does not require the ``allocatable`` attribute +for the dummy arguments anymore. + +```fortran +subroutine show_arr(arr) + integer, intent(in) :: arr(:) + + print *, arr +end subroutine show_arr + +subroutine proc + integer :: i + integer, allocatable :: arr + + allocate(arr(5)) + + do i = 1, size(arr) + arr(i) = 2*i + 1 + end do + call show_arr(arr) +end subroutine proc +``` + +Passing an unallocated array in this context will lead to an invalid memory access. +Allocatable arrays can be passed to ``optional`` dummy arguments -- if they are unallocated +the argument will not be present. The ``allocatable`` attribute is not limited to +arrays and can also be associated with scalars, which can be useful in combination +with ``optional`` dummy arguments. + +Allocations can be moved between different arrays with ``allocatable`` attribute +using the ``move_alloc`` intrinsic subroutine. + +```fortran +subroutine resize(var, n) + real(wp), allocatable, intent(inout) :: var(:) + integer, intent(in), optional :: n + integer :: this_size, new_size + integer, parameter :: inital_size = 16 + + if (allocated(var)) then + this_size = size(var, 1) + call move_alloc(var, tmp) + else + this_size = initial_size + end if + + if (present(n)) then + new_size = n + else + new_size = this_size + this_size/2 + 1 + end if + + allocate(var(new_size)) + + if (allocated(tmp)) then + this_size = min(size(tmp, 1), size(var, 1)) + var(:this_size) = tmp(:this_size) + end if +end subroutine resize +``` + +Finally, allocations do not initialize the array. The content of the uninitialized +array is most likely just the bytes of whatever was previously at the respective address. +The allocation supports initialization using the source attribute: + +```fortran +real(dp), allocatable :: arr(:) +allocate(arr(10), source=0.0_dp) +``` + +The ``source`` keyword supports scalar and array valued variables and constants. diff --git a/source/learn/best_practices/arrays.md b/source/learn/best_practices/arrays.md new file mode 100644 index 000000000..88ac5cace --- /dev/null +++ b/source/learn/best_practices/arrays.md @@ -0,0 +1,203 @@ +--- +layout: book +title: Arrays +permalink: /learn/best_practices/arrays +sd_hide_title: true +--- + +# Arrays + +Arrays are a central object in Fortran. The creation of dynamic sized arrays +is discussed in the [allocatable arrays section](./allocatable_arrays.html). + +To pass arrays to procedures four ways are available + +1. *assumed-shape* arrays +4. *assumed-rank* arrays +2. *explicit-shape* arrays +3. *assumed-size* arrays + +The preferred way to pass arrays to procedures is as *assumed-shape* arrays + +```fortran +subroutine f(r) + real(dp), intent(out) :: r(:) + integer :: n, i + n = size(r) + do i = 1, n + r(i) = 1.0_dp / i**2 + end do +end subroutine f +``` + +Higher-dimensional arrays can be passed in a similar way. + +```fortran +subroutine g(A) + real(dp), intent(in) :: A(:, :) + ... +end subroutine g +``` + +The array is simply passed by + +```fortran +real(dp) :: r(5) +call f(r) +``` + +In this case no array copy is done, which has the advantage that the shape and size +information is automatically passed along and checked at compile and optionally at +runtime. +Similarly, array strides can be passed without requiring a copy of the array but as +*assumed-shape* descriptor: + +```fortran +real(dp) :: r(10) +call f(r(1:10:2)) +call f(r(2:10:2)) +``` + +This should always be your default way of passing arrays in and out of subroutines. +Avoid passing arrays as whole slices, as it obfuscates the actual intent of the code: + +```fortran +real(dp) :: r(10) +call f(r(:)) +``` + +In case more general arrays should be passed to a procedure the *assumed-rank* +functionality introduced in the Fortran 2018 standard can be used + +```fortran +subroutine h(r) + real(dp), intent(in) :: r(..) + select rank(r) + rank(1) + ! ... + rank(2) + ! ... + end select +end subroutine h +``` + +The actual rank can be queried at runtime using the ``select rank`` construct. +This easily allows to create more generic functions that have to deal with +different array ranks. + +*Explicit-shape* arrays can be useful for returning data from functions. +Most of their functionality can be provided by *assumed-shape* and *assumed-rank* +arrays but they find frequent use for interfacing with C or in legacy Fortran +procedures, therefore they will be discussed briefly here. + +To use *explicit-shape* arrays, the dimension has to be passed explicitly as dummy +argument like in the example below + +``` fortran +subroutine f(n, r) + integer, intent(in) :: n + real(dp), intent(out) :: r(n) + integer :: i + do i = 1, n + r(i) = 1.0_dp / i**2 + end do +end subroutine +``` + +For high-dimensional arrays additional indices have to be passed. + +``` fortran +subroutine g(m, n, A) + integer, intent(in) :: m, n + real(dp), intent(in) :: A(m, n) + ... +end subroutine +``` + +The routines can be invoked by + +``` fortran +real(dp) :: r(5), s(3, 4) +call f(size(r), r) +call g(size(s, 1), size(s, 2), s) +``` + +Note that the shape is not checked, so the following would be legal code +that will potentially yield incorrect results: + +```fortran +real(dp) :: s(3, 4) +call g(size(s), 1, s) ! s(12, 1) in g +call g(size(s, 2), size(s, 1), s) ! s(4, 3) in g +``` + +In this case the memory layout is preserved but the shape is changed. +Also, *explicit-shape* arrays require contiguous memory and will create temporary +arrays in case non-contiguous array strides are passed. + +To return an array from a function with *explicit-shape* use + +``` fortran +function f(n) result(r) + integer, intent(in) :: n + real(dp) :: r(n) + integer :: i + do i = 1, n + r(i) = 1.0_dp / i**2 + end do +end function +``` + +Finally, there are *assumed-size* arrays, which provide the least compile-time and run-time +checking and can be found frequently in legacy code. They should be avoided +in favour of *assumed-shape* or *assumed-rank* arrays. +An *assumed-size* array dummy argument is identified by an asterisk as the last dimension, +this disables the usage of this array with many intrinsic functions, like ``size`` or +``shape``. + +To check for the correct size and shape of an *assumed-shape* array the ``size`` and +``shape`` intrinsic functions can be used to query for those properties + +```fortran +if (size(r) /= 4) error stop "Incorrect size of 'r'" +if (any(shape(r) /= [2, 2])) error stop "Incorrect shape of 'r'" +``` + +Note that ``size`` returns the total size of all dimensions. To obtain the shape of +a specific dimension add it as second argument to the function. + +Arrays can be initialized by using an array constructor + +```fortran +integer :: r(5) +r = [1, 2, 3, 4, 5] +``` + +The array constructor can be annotated with the type of the constructed array + +```fortran +real(dp) :: r(5) +r = [real(dp) :: 1, 2, 3, 4, 5] +``` + +Implicit do loops can be used inside an array constructor as well + +```fortran +integer :: i +real(dp) :: r(5) +r = [(real(i**2, dp), i = 1, size(r))] +``` + +In order for the array to start with different index than 1, do: + +```fortran +subroutine print_eigenvalues(kappa_min, lam) + integer, intent(in) :: kappa_min + real(dp), intent(in) :: lam(kappa_min:) + + integer :: kappa + do kappa = kappa_min, ubound(lam, 1) + print *, kappa, lam(kappa) + end do +end subroutine print_eigenvalues +``` diff --git a/source/learn/best_practices/callbacks.md b/source/learn/best_practices/callbacks.md new file mode 100644 index 000000000..f98cfeba1 --- /dev/null +++ b/source/learn/best_practices/callbacks.md @@ -0,0 +1,96 @@ +--- +layout: book +title: Callbacks +permalink: /learn/best_practices/callbacks +sd_hide_title: true +--- + +# Callbacks + +A callback is a function that is passed as an argument to another function. + +The preferred way of creating such a callback is to provide an *abstract interface* +declaring the signature of the callback. This allows to use compile time checks +for the passed callback. + +```fortran +module integrals + use types, only: dp + implicit none + private + public :: simpson, integrable_function + + abstract interface + function integrable_function(x) result(func) + import :: dp + real(dp), intent(in) :: x + real(dp) :: func + end function + end interface + +contains + + function simpson(f, a, b) result(s) + real(dp), intent(in) :: a, b + procedure(integrable_function) :: f + real(dp) :: s + + s = (b-a) / 6 * (f(a) + 4*f((a+b)/2) + f(b)) + end function simpson + +end module integrals +``` + +The function can then be used with a callback by importing the module +as shown in the following example + +```fortran +module demo_functions + use types, only: dp + implicit none + private + public :: test_integral + +contains + + subroutine test_integral(a, k) + real(dp), intent(in) :: a, k + + print *, simpson(f, 0._dp, pi) + print *, simpson(f, 0._dp, 2*pi) + contains + + function f(x) result(y) + real(dp), intent(in) :: x + real(dp) :: y + y = a*sin(k*x) + end function f + end subroutine test_integral + +end module demo_functions +``` + +Exporting the abstract interface allows you to create procedure pointers with the +correct signature and also to extend the callback further as shown here + +```fortran +module demo_integrals + use types, only: dp + use integrals, only: simpson, integrable_function + implicit none + private + public :: simpson2, integrable_function + +contains + + function simpson2(f, a, b) result(s) + real(dp), intent(in) :: a, b + procedure(integrable_function) :: f + real(dp) :: s + real(dp) :: mid + mid = (a + b)/2 + s = simpson(f, a, mid) + simpson(f, mid, b) + end function simpson2 + +end module demo_integrals +``` diff --git a/source/learn/best_practices/element_operations.md b/source/learn/best_practices/element_operations.md new file mode 100644 index 000000000..821af1d88 --- /dev/null +++ b/source/learn/best_practices/element_operations.md @@ -0,0 +1,131 @@ +--- +layout: book +title: Element-wise Operations on Arrays +permalink: /learn/best_practices/element_operations +sd_hide_title: true +--- + +# Element-wise Operations on Arrays + +There are three approaches to perform element-wise operations on arrays when using subroutines and functions: + +- `elemental` procedures +- *explicit-shape* arrays +- implementing the operation for vectors and write simple wrapper + subroutines (that use `reshape` internally) for each array shape + +In the first approach, one uses the `elemental` keyword to create a +function like this: + +``` fortran +real(dp) elemental function nroot(n, x) result(y) + integer, intent(in) :: n + real(dp), intent(in) :: x + y = x**(1._dp / n) +end function +``` + +All arguments (in and out) must be scalars. You can then use this +function with arrays of any (compatible) shape, for example: + +``` fortran +print *, nroot(2, 9._dp) +print *, nroot(2, [1._dp, 4._dp, 9._dp, 10._dp]) +print *, nroot(2, reshape([1._dp, 4._dp, 9._dp, 10._dp], [2, 2])) +print *, nroot([2, 3, 4, 5], [1._dp, 4._dp, 9._dp, 10._dp]) +print *, nroot([2, 3, 4, 5], 4._dp) +``` + +The output will be: + +``` fortran +3.0000000000000000 +1.0000000000000000 2.0000000000000000 3.0000000000000000 3.1622776601683795 +1.0000000000000000 2.0000000000000000 3.0000000000000000 3.1622776601683795 +1.0000000000000000 1.5874010519681994 1.7320508075688772 1.5848931924611136 +2.0000000000000000 1.5874010519681994 1.4142135623730951 1.3195079107728942 +``` + +In the above, typically `n` is a parameter and `x` is the array of an +arbitrary shape, but as you can see, Fortran does not care as long as +the final operation makes sense (if one argument is an array, then the +other arguments must be either arrays of the same shape or scalars). If +it does not, you will get a compiler error. + +The `elemental` keyword implies the `pure` keyword, so the procedure +must be pure. It results that `elemental procedures` can only use `pure` procedures and have no side effects. + +If the elemental procedure algorithm can be made faster using array +operations inside, or if for some reasons the arguments must be arrays of +incompatible shapes, then one should use the other two approaches. One +can make `nroot` operate on a vector and write a simple wrapper for +other array shapes, e.g.: + +``` fortran +function nroot(n, x) result(y) + integer, intent(in) :: n + real(dp), intent(in) :: x(:) + real(dp) :: y(size(x)) + y = x**(1._dp / n) +end function + +function nroot_0d(n, x) result(y) + integer, intent(in) :: n + real(dp), intent(in) :: x + real(dp) :: y + real(dp) :: tmp(1) + tmp = nroot(n, [x]) + y = tmp(1) +end function + +function nroot_2d(n, x) result(y) + integer, intent(in) :: n + real(dp), intent(in) :: x(:, :) + real(dp) :: y(size(x, 1), size(x, 2)) + y = reshape(nroot(n, reshape(x, [size(x)])), [size(x, 1), size(x, 2)]) +end function +``` + +And use as follows: + +``` fortran +print *, nroot_0d(2, 9._dp) +print *, nroot(2, [1._dp, 4._dp, 9._dp, 10._dp]) +print *, nroot_2d(2, reshape([1._dp, 4._dp, 9._dp, 10._dp], [2, 2])) +``` + +This will print: + +``` fortran +3.0000000000000000 +1.0000000000000000 2.0000000000000000 3.0000000000000000 3.1622776601683795 +1.0000000000000000 2.0000000000000000 3.0000000000000000 3.1622776601683795 +``` + +Or one can use *explicit-shape* arrays as +follows: + +``` fortran +function nroot(n, k, x) result(y) + integer, intent(in) :: n, k + real(dp), intent(in) :: x(k) + real(dp) :: y(k) + y = x**(1._dp / n) +end function +``` + +Use as follows: + +``` fortran +print *, nroot(2, 1, [9._dp]) +print *, nroot(2, 4, [1._dp, 4._dp, 9._dp, 10._dp]) +print *, nroot(2, 4, reshape([1._dp, 4._dp, 9._dp, 10._dp], [2, 2])) +``` + +The output is the same as before: + +``` fortran +3.0000000000000000 +1.0000000000000000 2.0000000000000000 3.0000000000000000 3.1622776601683795 +1.0000000000000000 2.0000000000000000 3.0000000000000000 3.1622776601683795 +``` diff --git a/source/learn/best_practices/file_io.md b/source/learn/best_practices/file_io.md new file mode 100644 index 000000000..b467f9d24 --- /dev/null +++ b/source/learn/best_practices/file_io.md @@ -0,0 +1,104 @@ +--- +layout: book +title: File Input/Output +permalink: /learn/best_practices/file_io +sd_hide_title: true +--- + +# File Input/Output + +In Fortran files are managed by unit identifiers. Interaction with the filesystem +mainly happens through the ``open`` and ``inquire`` built-in procedures. +Generally, the workflow is to open a file to a unit identifier, read and/or write +to it and close it again. + +```fortran +integer :: io +open(newunit=io, file="log.txt") +! ... +close(io) +``` + +By default the file will be created if it is not existing already and opened for +both reading and writing. Writing to an existing file will start in the first +record (line) and therefore overwrite the file by default. + +To create a read-only access to a file the ``status`` and ``action`` have to be +specified with + +```fortran +integer :: io +open(newunit=io, file="log.txt", status="old", action="read") +read(io, *) a, b +close(io) +``` + +In case the file is not present a runtime error will occur. To check for the existence +of a file prior to opening it the ``inquire`` function can be used + +```fortran +logical :: exists +inquire(file="log.txt", exist=exists) +if (exists) then + ! ... +end if +``` + +Alternatively, the ``open`` procedure can return an optional *iostat* and *iomsg*: + +```fortran +integer :: io, stat +character(len=512) :: msg +open(newunit=io, file="log.txt", status="old", action="read", & + iostat=stat, iomsg=msg) +if (stat /= 0) then + print *, trim(msg) +end if +``` + +Note that *iomsg* requires a fixed-length character variable with sufficient storage +size to hold the error message. + +Similarly, writing to a file happens by using the *status* and *action* keyword. +To create a new file use + +```fortran +integer :: io +open(newunit=io, file="log.txt", status="new", action="write") +write(io, *) a, b +close(io) +``` + +Alternatively, ``status="replace"`` can be used to overwrite an existing file. +It is highly recommended to first check for the existence of a file before deciding +on the *status* to use. +To append to an output file the *position* keyword can be specified explicitly with + +```fortran +integer :: io +open(newunit=io, file="log.txt", position="append", & + & status="old", action="write") +write(io, *) size(v) +write(io, *) v(:) +close(io) +``` + +To reset the position in a file the built-in procedures ``rewind`` and ``backspace`` +can be used. ``rewind`` will reset to the first record (line), while ``backspace`` will +return to the previous record (line). + +Finally, to delete a file the file has to be opened and can be deleted after closing +with + +```fortran +logical :: exists +integer :: io, stat +inquire(file="log.txt", exist=exists) +if (exists) then + open(file="log.txt", newunit=io, iostat=stat) + if (stat == 0) close(io, status="delete", iostat=stat) +end if +``` + +A useful IO feature is scratch files, which can be opened with ``status="scratch"``. +They are automatically deleted after closing the unit identifier. diff --git a/source/learn/best_practices/floating_point.md b/source/learn/best_practices/floating_point.md new file mode 100644 index 000000000..d97560c8e --- /dev/null +++ b/source/learn/best_practices/floating_point.md @@ -0,0 +1,97 @@ +--- +layout: book +title: Floating Point Numbers +permalink: /learn/best_practices/floating_point +sd_hide_title: true +--- + +# Floating Point Numbers + +The default representation of floating point numbers is using single precision +(usually 32 bits / 4 bytes). For most applications a higher precision is required. +For this purpose a custom kind parameter can be defined. +The recommended way of defining kind parameters is to use + +```fortran +integer, parameter :: dp = selected_real_kind(15) +``` + +For many purposes it also suffices to directly infer the kind parameter from +a literal like here + +```fortran +integer, parameter :: dp = kind(0.0d0) +``` + +or to rename the imported kind parameter from the ``iso_fortran_env`` module + +```fortran +use, intrinsic :: iso_fortran_env, only : dp => real64 +``` + +For some insightful thoughts on kind parameters see +Doctor Fortran in it takes all KINDs. + +It is recommended to have a central module to define kind parameters and include +them with use as necessary. An example for such a module is given with + +```fortran +!> Numerical storage size parameters for real and integer values +module kind_parameter + implicit none + public + + !> Single precision real numbers, 6 digits, range 10⁻³⁷ to 10³⁷-1; 32 bits + integer, parameter :: sp = selected_real_kind(6, 37) + !> Double precision real numbers, 15 digits, range 10⁻³⁰⁷ to 10³⁰⁷-1; 64 bits + integer, parameter :: dp = selected_real_kind(15, 307) + !> Quadruple precision real numbers, 33 digits, range 10⁻⁴⁹³¹ to 10⁴⁹³¹-1; 128 bits + integer, parameter :: qp = selected_real_kind(33, 4931) + + !> Char length for integers, range -2⁷ to 2⁷-1; 8 bits + integer, parameter :: i1 = selected_int_kind(2) + !> Short length for integers, range -2¹⁵ to 2¹⁵-1; 16 bits + integer, parameter :: i2 = selected_int_kind(4) + !> Length of default integers, range -2³¹ to 2³¹-1; 32 bits + integer, parameter :: i4 = selected_int_kind(9) + !> Long length for integers, range -2⁶³ to 2⁶³-1; 64 bits + integer, parameter :: i8 = selected_int_kind(18) + +end module kind_parameter +``` + +Floating point constants should always be declared including a kind parameter suffix: + +```fortran +real(dp) :: a, b, c +a = 1.0_dp +b = 3.5_dp +c = 1.34e8_dp +``` + +It is safe to assign integers to floating point numbers without losing accuracy: + +```fortran +real(dp) :: a +a = 3 +``` + +In order to impose floating point division (as opposed to integer +division `3/4` equal to `0`), one can convert the integer to a floating +point number by: + +```fortran +real(dp) :: a +a = real(3, dp) / 4 ! 'a' is equal to 0.75_dp +``` + +or simply separate the integer division with multiplication by `1.0_dp` + +```fortran +real(dp) :: a +a = 3 * 1.0_dp / 4 ! 'a' is equal to 0.75_dp +``` + +To print floating point numbers without losing precision use the unlimited +format specifier ``(g0)`` or the exponential representation ``(es24.16e3)``, +which will give you 17 significant digits of printout. diff --git a/source/learn/best_practices/index.md b/source/learn/best_practices/index.md new file mode 100644 index 000000000..8c228028c --- /dev/null +++ b/source/learn/best_practices/index.md @@ -0,0 +1,31 @@ +--- +layout: book +title: Fortran Best Practices +permalink: /learn/best_practices +author: Ondřej Čertík, John Pask, Jed Brown, Matthew Emmett, Juan Luis Cano Rodríguez, Neil Carlson, Andrea Vigliotti, Pierre Haessig, Vincent Magnin, Sebastian Ehlert, Jeremie Vandenplas +sd_hide_title: true +--- + +# Fortran Best Practices + +This mini-book collects a modern canonical way of doing things in Fortran. +It serves as a style guide and best practice recommendation for popular topics +and common tasks. Generally, a canonical solution or pattern is presented and +discussed. It is meant for programmers with basic familiarity of the Fortran syntax +and programming in general. + +````{toctree} +:maxdepth: 2 +:hidden: +allocatable arrays +file io +modules programs +arrays +floating point +multidim arrays +callbacks +style guide +element operations +integer division +type casting +```` \ No newline at end of file diff --git a/source/learn/best_practices/integer_division.md b/source/learn/best_practices/integer_division.md new file mode 100644 index 000000000..7ecfe3149 --- /dev/null +++ b/source/learn/best_practices/integer_division.md @@ -0,0 +1,41 @@ +--- +layout: book +title: Integer Division +permalink: /learn/best_practices/integer_division +sd_hide_title: true +--- + +# Integer Division + +Fortran distinguishes between floating point and integer arithmetic. It is +important to note that division for integers is always using integer +arithmetic. Furthermore, while Fortran uses the standard order-of-operations +(e.g. multiplication and division preceed addition and subtraction, in the +absence of parenthesis), operations of the same precedence are evaluated from +left to right. Consider the following example for integer division of an odd +number: + +```fortran +integer :: n +n = 3 +print *, n / 2 ! prints 1 +print *, n*(n + 1)/2 ! prints 6 +print *, n/2*(n + 1) ! prints 4 (left-to-right evaluation order) +n = -3 +print *, n / 2 ! prints -1 +``` + +Be careful about whether you want to actually use integer arithmetic +in this context. If you want to use floating point arithmetic instead +make sure to cast to reals before using the division operator, or separate +the integers by multiplying by `1.0_dp`: + +```fortran +integer :: n +n = 3 +print *, real(n, dp) / 2 ! prints 1.5 +print *, n * 1.0_dp / 2 ! prints 1.5 +n = -3 +print *, real(n, dp) / 2 ! prints -1.5 +print *, n * 1.0_dp / 2 ! prints -1.5 +``` diff --git a/source/learn/best_practices/modules_programs.md b/source/learn/best_practices/modules_programs.md new file mode 100644 index 000000000..07c67c229 --- /dev/null +++ b/source/learn/best_practices/modules_programs.md @@ -0,0 +1,151 @@ +--- +layout: book +title: Modules and Programs +permalink: /learn/best_practices/modules_programs +sd_hide_title: true +--- + +# Modules and Programs + +Modules are the preferred way create modern Fortran libraries and applications. +As a convention, one source file should always contain only one module, while +the module name should match the filepath to allow easy navigation in larger +projects. It is also recommended to prefix module names with the library name +to avoid name clashes when used as dependency in other projects. + +An example for such a module file is given here + +```fortran +!> Interface to TOML processing library. +!> +!> ... +module fpm_toml + use fpm_error, only : error_t, fatal_error, file_not_found_error + use fpm_strings, only : string_t + use tomlf, only : toml_table, toml_array, toml_key, toml_stat, get_value, & + & set_value, toml_parse, toml_error, new_table, add_table, add_array, & + & toml_serializer, len + implicit none + private + + public :: read_package_file + public :: toml_table, toml_array, toml_key, toml_stat, get_value, set_value + public :: new_table, add_table, add_array, len + public :: toml_error, toml_serializer, toml_parse + +contains + + !> Process the configuration file to a TOML data structure + subroutine read_package_file(table, manifest, error) + !> TOML data structure + type(toml_table), allocatable, intent(out) :: table + !> Name of the package configuration file + character(len=*), intent(in) :: manifest + !> Error status of the operation + type(error_t), allocatable, intent(out) :: error + ! ... + end subroutine read_package_file + +end module fpm_toml +``` + +There are a few things in this example module to highlight. First, every module +starts with comments documenting the purpose and content of the module. +Similarly, every procedure starts with a comment briefly describing its +purpose and the intent of the dummy arguments. Documentation is one of the most +important parts of creating long-living software, regardless of language. + +Second, imports (*use*) and exports (*public*) are explicitly given, this +allows on a glance at the module source to check the used and available +procedures, constants and derived types. The imports are usually limited +to the module scope rather than reimported in every procedure or interface +scope. Similarly, exports are made explicitly by adding a *private* statement +on a single line and explicitly listing all exported symbols in *public* +statements. + +Finally, the `implicit none` statement works for the whole module and there +is no need to repeat it within each procedure. + +Variables inside a module are static (*implicitly saved*). It is highly +recommended to limit the usage of module variables to constant expressions, +like parameters or enumerators only or export them as *protected* rather +than *public*. + +Submodules can be used to break long dependency chains and shorten recompilation +cascades in Fortran programs. They also offer the possibility to provide specialized +and optimized implementations without requiring the use of preprocessor. + +An example from the Fortran standard library is the quadrature module, which +only defines interfaces to module procedures, but no implementations + +```fortran +!> Numerical integration +!> +!> ... +module stdlib_quadrature + use stdlib_kinds, only: sp, dp, qp + implicit none + private + + public :: trapz + ! ... + + !> Integrates sampled values using trapezoidal rule + interface trapz + pure module function trapz_dx_dp(y, dx) result(integral) + real(dp), intent(in) :: y(:) + real(dp), intent(in) :: dx + real(dp) :: integral + end function trapz_dx_dp + module function trapz_x_dp(y, x) result(integral) + real(dp), intent(in) :: y(:) + real(dp), intent(in) :: x(:) + real(dp) :: integral + end function trapz_x_dp + end interface trapz + + ! ... +end module stdlib_quadrature +``` + +While the implementation is provided in separate submodules like the one for the +trapezoidal integration rule given here. + +```fortran +!> Actual implementation of the trapezoidal integration rule +!> +!> ... +submodule (stdlib_quadrature) stdlib_quadrature_trapz + use stdlib_error, only: check + implicit none + +contains + + pure module function trapz_dx_dp(y, dx) result(integral) + real(dp), intent(in) :: y(:) + real(dp), intent(in) :: dx + real(dp) :: integral + integer :: n + + n = size(y) + select case (n) + case (0:1) + integral = 0.0_dp + case (2) + integral = 0.5_dp*dx*(y(1) + y(2)) + case default + integral = dx*(sum(y(2:n-1)) + 0.5_dp*(y(1) + y(n))) + end select + end function trapz_dx_dp + + ! ... +end submodule stdlib_quadrature_trapz +``` + +Note that the module procedures do not have to be implemented in the same submodule. +Several submodules can be used to reduce the compilation load for huge modules. + +Finally, when setting up a program, it is recommended to keep the actual implementations +in the program body at minimum. Reusing implementations from modules allows you to write +reusable code and focus the program unit on conveying user input to the respective library +functions and objects. diff --git a/source/learn/best_practices/multidim_arrays.md b/source/learn/best_practices/multidim_arrays.md new file mode 100644 index 000000000..8e8980e59 --- /dev/null +++ b/source/learn/best_practices/multidim_arrays.md @@ -0,0 +1,73 @@ +--- +layout: book +title: Multidimensional Arrays +permalink: /learn/best_practices/multidim_arrays +sd_hide_title: true +--- + +# Multidimensional Arrays + +Multidimensional arrays are stored in column-major order. This means the +left-most (inner-most) index addresses elements contiguously. +From a practical point this means that the array slice ``V(:, 1)`` is +contiguous, while the stride between elements in the slice ``V(1, :)`` +is the dimension of the columns. This is important when passing array +slices to procedures which expect to work on contiguous data. + +The locality of the memory is important to consider depending on +your application, usually when performing operations on a multidimensional +the sequential access should always advance in unity strides. + +In the following example the inverse distance between two sets of points +is evaluated. Note that the points are stored contiguously in the arrays +``xyz1``/``xyz2``, while the inner-most loop is advancing the left-most +index of the matrix ``a``. + +```fortran +subroutine coulomb_matrix(xyz1, xyz2, a) + real(dp), intent(in) :: xyz1(:, :) + real(dp), intent(in) :: xyz2(:, :) + real(dp), intent(out) :: a(:, :) + integer :: i, j + do i = 1, size(a, 2) + do j = 1, size(a, 1) + a(j, i) = 1.0_dp/norm2(xyz1(:, j) - xyz2(:, i)) + end do + end do +end subroutine coulomb_matrix +``` + +Another example would be the contraction of the third dimension of a rank +three array: + +```fortran +do i = 1, size(amat, 3) + do j = 1, size(amat, 2) + do k = 1, size(amat, 1) + cmat(k, j) = cmat(k, j) + amat(k, j, i) * bvec(i) + end do + end do +end do +``` + +Contiguous array slices can be used in array-bound remapping to allow usage +of higher rank arrays as lower rank arrays without requiring to reshape +and potentially create a temporary copy of the array. + +For example this can be used to contract the third dimension of a rank +three array using a matrix-vector operation: + +```fortran +subroutine matmul312(amat, bvec, cmat) + real(dp), contiguous, intent(in), target :: amat(:, :, :) + real(dp), intent(in) :: bvec(:) + real(dp), contiguous, intent(out), target :: cmat(:, :) + real(dp), pointer :: aptr(:, :) + real(dp), pointer :: cptr(:) + + aptr(1:size(amat, 1)*size(amat, 2), 1:size(amat, 3)) => amat + cptr(1:size(cmat)) => cmat + + cptr = matmul(aptr, bvec) +end subroutine matmul312 +``` diff --git a/source/learn/best_practices/style_guide.md b/source/learn/best_practices/style_guide.md new file mode 100644 index 000000000..851a08fe6 --- /dev/null +++ b/source/learn/best_practices/style_guide.md @@ -0,0 +1,61 @@ +--- +layout: book +title: Fortran Style Guide +permalink: /learn/best_practices/style_guide +sd_hide_title: true +--- + +# Fortran Style Guide + +Naming Convention +----------------- + +Ultimately this is a matter of preference. Here is a style guide that we +like and that seems to be prevalent in most scientific codes (as well as +the Fortran standard library), and you are welcome to follow it. + +1. Use lowercase for all Fortran constructs (`do`, `subroutine`, + `module`, ...). +2. Follow short mathematical notation for mathematical + variables/functions (`Ylm`, `Gamma`, `gamma`, `Enl`, `Rnl`, ...). +3. For other names use all lowercase: try to keep names to one or two + syllables; if more are required, use underscores to clarify + (`sortpair`, `whitechar`, `meshexp`, `numstrings`, `linspace`, + `meshgrid`, `argsort`, `spline`, `spline_interp`, + `spline_interpolate`, `stoperr`, `stop_error`, `meshexp_der`). + +For example "spline interpolation" can be shortened to +`spline_interpolation`, `spline_interpolate`, `spline_interp`, `spline`, +but not to `splineint` ("int" could mean integration, integer, etc. --- +too much ambiguity, even in the clear context of a computational code). +This is in contrast to `get_argument()` where `getarg()` is perfectly +clean and clear. + +The above are general guidelines. In general, choosing the right name +certainly depends on the word being truncated as to whether the first +syllable is sufficient. Usually it is but clearly not always. Thus some +thought should go into step "try to keep names to 2 syllables or less" +since it can really affect the indicativeness and simplicity. Simple +consistent naming rules are a real help in this regard -- for both +collaboration and for one's own sanity when going back to some old code +you haven't seen in while. + +Indentation +----------- + +Use a consistent indentation to make your code readable. +The amount of indentation is a matter of preference, the most common choices +are two, three or four spaces. + +Comparison to Other Languages +----------------------------- + +On the other hand, in most of the rest of the programming world, where +the main focus is, in one form or another, on defining and using large +sets of complex objects, with tons of properties and behaviors, known +only in the code in which they are defined (as opposed to defined by the +same notation throughout the literature), it makes more sense to use +longer, more descriptive names. The naming conventions one sees used in +more general-purpose languages such as C++ and Python, therefore, are +perfectly consistent with their more general-purpose missions. But +Fortran has a different mission (numerical scientific computing). diff --git a/source/learn/best_practices/type_casting.md b/source/learn/best_practices/type_casting.md new file mode 100644 index 000000000..b676a0bc4 --- /dev/null +++ b/source/learn/best_practices/type_casting.md @@ -0,0 +1,497 @@ +--- +layout: book +title: Type Casting in Callbacks +permalink: /learn/best_practices/type_casting +sd_hide_title: true +--- + +# Type Casting in Callbacks + +There are essentially five different ways to do type casting, each with its own +advantages and disadvantages. + +The methods I, II and V can be used both in C and Fortran. The methods +III and IV are only available in Fortran. The method VI is obsolete and +should not be used. + +Work Arrays +----------- + +Pass a "work array" which is packed with everything needed by +the caller and unpacked by the called routine. This is the old way -- +e.g., how LAPACK does it. + +Integrator: + +``` fortran +module integrals + use types, only: dp + implicit none + private + public simpson + +contains + +real(dp) function simpson(f, a, b, data) result(s) + real(dp), intent(in) :: a, b + interface + real(dp) function func(x, data) + use types, only: dp + implicit none + real(dp), intent(in) :: x + real(dp), intent(inout) :: data(:) + end function + end interface + procedure(func) :: f + real(dp), intent(inout) :: data(:) + s = (b-a) / 6 * (f(a, data) + 4*f((a+b)/2, data) + f(b, data)) +end function + +end module +``` + +Usage: + +``` fortran +module test + use types, only: dp + use integrals, only: simpson + implicit none + private + public foo + +contains + +real(dp) function f(x, data) result(y) + real(dp), intent(in) :: x + real(dp), intent(inout) :: data(:) + real(dp) :: a, k + a = data(1) + k = data(2) + y = a*sin(k*x) +end function + +subroutine foo(a, k) + real(dp) :: a, k + real(dp) :: data(2) + data(1) = a + data(2) = k + print *, simpson(f, 0._dp, pi, data) + print *, simpson(f, 0._dp, 2*pi, data) +end subroutine + +end module +``` + +General Structure +----------------- + +Define a general structure which encompass the variations you +actually need (or are even remotely likely to need going forward). This +single structure type can then change if needed as future +needs/ideas permit but won't likely need to change from passing, say, +real numbers to, say, and instantiation of a text editor. + +Integrator: + +``` fortran +module integrals + use types, only: dp + implicit none + private + public simpson, context + + type context + ! This would be adjusted according to the problem to be solved. + ! For example: + real(dp) :: a, b, c, d + integer :: i, j, k, l + real(dp), pointer :: x(:), y(:) + integer, pointer :: z(:) + end type + +contains + +real(dp) function simpson(f, a, b, data) result(s) + real(dp), intent(in) :: a, b + interface + real(dp) function func(x, data) + use types, only: dp + implicit none + real(dp), intent(in) :: x + type(context), intent(inout) :: data + end function + end interface + procedure(func) :: f + type(context), intent(inout) :: data + s = (b-a) / 6 * (f(a, data) + 4*f((a+b)/2, data) + f(b, data)) +end function + +end module +``` + +Usage: + +``` fortran +module test + use types, only: dp + use integrals, only: simpson, context + implicit none + private + public foo + +contains + +real(dp) function f(x, data) result(y) + real(dp), intent(in) :: x + type(context), intent(inout) :: data + real(dp) :: a, k + a = data%a + k = data%b + y = a*sin(k*x) +end function + +subroutine foo(a, k) + real(dp) :: a, k + type(context) :: data + data%a = a + data%b = k + print *, simpson(f, 0._dp, pi, data) + print *, simpson(f, 0._dp, 2*pi, data) +end subroutine + +end module +``` + +There is only so much flexibility really needed. For example, you could +define two structure types for this purpose, one for Schroedinger and +one for Dirac. Each would then be sufficiently general and contain all +the needed pieces with all the right labels. + +Point is: it needn't be "one abstract type to encompass all" or bust. +There are natural and viable options between "all" and "none". + +Private Module Variables +------------------------ + +Hide the variable arguments completely by passing in module variables. + +Integrator: + +``` fortran +module integrals + use types, only: dp + implicit none + private + public simpson + +contains + +real(dp) function simpson(f, a, b) result(s) + real(dp), intent(in) :: a, b + interface + real(dp) function func(x) + use types, only: dp + implicit none + real(dp), intent(in) :: x + end function + end interface + procedure(func) :: f + s = (b-a) / 6 * (f(a) + 4*f((a+b)/2) + f(b)) +end function + +end module +``` + +Usage: + +``` fortran +module test + use types, only: dp + use integrals, only: simpson + implicit none + private + public foo + + real(dp) :: global_a, global_k + +contains + +real(dp) function f(x) result(y) + real(dp), intent(in) :: x + y = global_a*sin(global_k*x) +end function + +subroutine foo(a, k) + real(dp) :: a, k + global_a = a + global_k = k + print *, simpson(f, 0._dp, pi) + print *, simpson(f, 0._dp, 2*pi) +end subroutine + +end module +``` + +However it is best to avoid such global variables -- even though really +just semi-global -- if possible. But sometimes it may be the simplest +cleanest way. However, with a bit of thought, usually there is a better, +safer, more explicit way along the lines of II or IV. + +Nested functions +---------------- + +Integrator: + +``` fortran +module integrals + use types, only: dp + implicit none + private + public simpson + +contains + +real(dp) function simpson(f, a, b) result(s) + real(dp), intent(in) :: a, b + interface + real(dp) function func(x) + use types, only: dp + implicit none + real(dp), intent(in) :: x + end function + end interface + procedure(func) :: f + s = (b-a) / 6 * (f(a) + 4*f((a+b)/2) + f(b)) +end function + +end module +``` + +Usage: + +``` fortran +subroutine foo(a, k) +use integrals, only: simpson +real(dp) :: a, k +print *, simpson(f, 0._dp, pi) +print *, simpson(f, 0._dp, 2*pi) + +contains + +real(dp) function f(x) result(y) +real(dp), intent(in) :: x +y = a*sin(k*x) +end function f + +end subroutine foo +``` + +Using type(c\_ptr) Pointer +-------------------------- + +In C, one would use the `void *` pointer. In Fortran, one can use +`type(c_ptr)` for exactly the same purpose. + +Integrator: + +``` fortran +module integrals + use types, only: dp + use iso_c_binding, only: c_ptr + implicit none + private + public simpson + +contains + +real(dp) function simpson(f, a, b, data) result(s) + real(dp), intent(in) :: a, b + interface + real(dp) function func(x, data) + use types, only: dp + implicit none + real(dp), intent(in) :: x + type(c_ptr), intent(in) :: data + end function + end interface + procedure(func) :: f + type(c_ptr), intent(in) :: data + s = (b-a) / 6 * (f(a, data) + 4*f((a+b)/2, data) + f(b, data)) +end function + +end module +``` + +Usage: + +``` fortran +module test + use types, only: dp + use integrals, only: simpson + use iso_c_binding, only: c_ptr, c_loc, c_f_pointer + implicit none + private + public foo + + type f_data + ! Only contains data that we need for our particular callback. + real(dp) :: a, k + end type + +contains + +real(dp) function f(x, data) result(y) + real(dp), intent(in) :: x + type(c_ptr), intent(in) :: data + type(f_data), pointer :: d + call c_f_pointer(data, d) + y = d%a * sin(d%k * x) +end function + +subroutine foo(a, k) + real(dp) :: a, k + type(f_data), target :: data + data%a = a + data%k = k + print *, simpson(f, 0._dp, pi, c_loc(data)) + print *, simpson(f, 0._dp, 2*pi, c_loc(data)) +end subroutine + +end module +``` + +As always, with the advantages of such re-casting, as Fortran lets you +do if you really want to, come also the disadvantages that fewer +compile- and run-time checks are possible to catch errors; and with +that, inevitably more leaky, bug-prone code. So one always has to +balance the costs and benefits. + +Usually, in the context of scientific programming, where the main thrust +is to represent and solve precise mathematical formulations (as opposed +to create a GUI with some untold number of buttons, drop-downs, and +other interface elements), simplest, least bug-prone, and fastest is to +use one of the previous approaches. + +transfer() Intrinsic Function +----------------------------- + +Before Fortran 2003, the only way to do type casting was using the +`transfer` intrinsic function. It is functionally equivalent to the +method V, but more verbose and more error prone. It is now obsolete and +one should use the method V instead. + +Examples: + + + + + + + +Object Oriented Approach +------------------------ + +The module: + +``` fortran +module integrals + + use types, only: dp + implicit none + private + + public :: integrand, simpson + + ! User extends this type + type, abstract :: integrand + contains + procedure(func), deferred :: eval + end type + + abstract interface + function func(this, x) result(fx) + import :: integrand, dp + class(integrand) :: this + real(dp), intent(in) :: x + real(dp) :: fx + end function + end interface + +contains + +real(dp) function simpson(f, a, b) result(s) + class(integrand) :: f + real(dp), intent(in) :: a, b + s = ((b-a)/6) * (f%eval(a) + 4*f%eval((a+b)/2) + f%eval(b)) +end function + +end module +``` + +The abstract type prescribes exactly what the integration routine needs, +namely a method to evaluate the function, but imposes nothing else on +the user. The user extends this type, providing a concrete +implementation of the eval type bound procedure and adding necessary +context data as components of the extended type. + +Usage: + +``` fortran +module example_usage + + use types, only: dp + use integrals, only: integrand, simpson + implicit none + private + + public :: foo + + type, extends(integrand) :: my_integrand + real(dp) :: a, k + contains + procedure :: eval => f + end type + +contains + +function f(this, x) result(fx) + class(my_integrand) :: this + real(dp), intent(in) :: x + real(dp) :: fx + fx = this%a*sin(this%k*x) +end function + +subroutine foo(a, k) + real(dp) :: a, k + type(my_integrand) :: my_f + my_f%a = a + my_f%k = k + print *, simpson(my_f, 0.0_dp, 1.0_dp) + print *, simpson(my_f, 0.0_dp, 2.0_dp) +end subroutine + +end module +``` + +Complete Example of void \* vs type(c\_ptr) and transfer() +---------------------------------------------------------- + +Here are three equivalent codes: one in C using `void *` and two codes +in Fortran using `type(c_ptr)` and `transfer()`: + +| Language   | Method | Link | +|-----------------|----------------------|-----------------------------------| +| C | `void *` | | +| Fortran | `type(c_ptr)`   | | +| Fortran | `transfer()` | | + +The C code uses the standard C approach for writing extensible libraries +that accept callbacks and contexts. The two Fortran codes show how to do +the same. The `type(c_ptr)` method is equivalent to the C version and +that is the approach that should be used. + +The `transfer()` method is here for completeness only (before Fortran +2003, it was the only way) and it is a little cumbersome, because the +user needs to create auxiliary conversion functions for each of his +types. As such, the `type(c_ptr)` method should be used instead. diff --git a/source/learn/building_programs/build_tools.md b/source/learn/building_programs/build_tools.md new file mode 100644 index 000000000..a510bccc8 --- /dev/null +++ b/source/learn/building_programs/build_tools.md @@ -0,0 +1,556 @@ +--- +layout: book +title: Build tools +permalink: /learn/building_programs/build_tools +sd_hide_title: true +--- + +# Build tools + +Compiling your Fortran projects by hand can become quite complicated depending +on the number of source files and the interdependencies through the module. +Supporting different compilers and linkers or different platforms can become +increasingly complicated unless the right tools are used to automatically +perform those tasks. + +Depending on the size of your project and the purpose of project different +options for the build automation can be used. + +First, your integrated development environment probably provides a way to build +your program. A popular cross-platform tool is Microsoft's +Visual Studio Code, +but others exist, such as +Atom, +Eclipse Photran, +and Code::Blocks. +They offer a graphical user-interface, but are often very specific for the +compiler and platform. + +For smaller projects, the rule based build system ``make`` is a common +choice. Based on the rules defined it can perform task like (re)compiling +object files from updated source files, creating libraries and linking +executables. +To use ``make`` for your project you have to encode those rules in ``Makefile``, +which defines the interdependencies of all the final program, the intermediary +object files or libraries and the actual source files. +For a short introduction see [the guide on ``make``](#using-make-as-build-tool). + +Maintenance tools like autotools and CMake can generate Makefiles or +Visual Studio project files via a high-level description. They abstract +away from the compiler and platform specifics. + +Which of those tools are the best choice for your projects depends on many factors. +Choose a build tool you are comfortable working with, it should not get in your +way while developing. Spending more time on working against your build tools +than doing actual development work can quickly become frustrating. + +Also, consider the accessibility of your build tools. +If it is restricted to a specific integrated development environment, can all +developers on your project access it? +If you are using a specific build system, does it work on all platforms you +are developing for? +How large is the entry barrier of your build tools? Consider the learning curve +for the build tools, the perfect build tool will be of no use, if you have to +learn a complex programming language first to add a new source file. +Finally, consider what other project are using, those you are depending on and +those that use (or will use) your project as dependency. + + +## Using make as build tool + +The most well-known and commonly used build system is called ``make``. +It performs actions following rules defined in a configuration file +called ``Makefile`` or ``makefile``, which usually leads to compiling a program +from the provided source code. + + +::::{tip} +For an in-depth ``make`` tutorial lookup its info page. There is an online version of this info page, available. +:::: +We will start with the basics from your clean source directory. Create and open +the file ``Makefile``, we start with a simple rule called *all*: + +```make +all: + echo "$@" +``` + +After saving the ``Makefile`` run it by executing ``make`` in the same directory. +You should see the following output: + + echo "all" + all + +First, we note that ``make`` is substituting ``$@`` for the name of the rule, +the second thing to note is that ``make`` is always printing the command it is +running, finally, we see the result of running ``echo "all"``. + +::::{note} +We call the entry point of our ``Makefile`` always *all* by convention, but you can choose whatever name you like. +:::: + +::::{note} +You should not have noticed it if your editor is working correctly, +but you have to indent the content of a rule with a tab character. +In case you have problems running the above ``Makefile`` and see an error like + + Makefile:2: *** missing separator. Stop. + +The indentation is probably not correct. In this case replace the indentation +in the second line with a tab character. + +:::: + + +Now we want to make our rules more complicated, therefore we add another rule: + +```make +PROG := my_prog + +all: $(PROG) + echo "$@ depends on $^" + +$(PROG): + echo "$@" +``` + +Note how we declare variables in ``make``, you should always declare your local +variables with ``:=``. To access the content of a variable we use the ``$(...)``, +note that we have to enclose the variable name in parenthesis. + +::::{note} +The declaration of variables is usually done with ``:=``, but ``make`` does +support *recursively expanded* variables as well with ``=``. +Normally, the first kind of declaration is wanted, as they are more predictable +and do not have a runtime overhead from the recursive expansion. +:::: + +We introduced a dependency of the rule all, namely the content of the variable +``PROG``, also we modified the printout, we want to see all the dependencies +of this rule, which are stored in the variable ``$^``. +Now for the new rule which we name after the value of the variable ``PROG``, +it does the same thing we did before for the rule *all*, note how the value +of ``$@`` is dependent on the rule it is used in. + +Again check by running the ``make``, you should see: + + echo "my_prog" + my_prog + echo "all depends on my_prog" + all depends on my_prog + +The dependency has been correctly resolved and evaluated before performing +any action on the rule *all*. +Let's run only the second rule: type ``make my_prog`` and you will only find +the first two lines in your terminal. + +The next step is to perform some real actions with ``make``, we take +the source code from the previous chapter here and add new rules to our +``Makefile``: + +```make +OBJS := tabulate.o functions.o +PROG := my_prog + +all: $(PROG) + +$(PROG): $(OBJS) + gfortran -o $@ $^ + +$(OBJS): %.o: %.f90 + gfortran -c -o $@ $< +``` + +We define ``OBJS`` which stands for object files, our program depends on +those ``OBJS`` and for each object file we create a rule to make them from +a source file. +The last rule we introduced is a pattern matching rule, ``%`` is the common +pattern between ``tabulate.o`` and ``tabulate.f90``, which connects our object file +``tabulate.o`` to the source file ``tabulate.f90``. +With this set, we run our compiler, here ``gfortran`` and translate the source +file into an object file, we do not create an executable yet due to the ``-c`` +flag. +Note the usage of the ``$<`` for the first element of the dependencies here. + +After compiling all the object files we attempt to link the program, we do not +use a linker directly, but ``gfortran`` to produce the executable. + +Now we run the build script with ``make``: + + gfortran -c -o tabulate.o tabulate.f90 + tabulate.f90:2:7: + + 2 | use user_functions + | 1 + Fatal Error: Cannot open module file ‘user_functions.mod’ for reading at (1): No such file or directory + compilation terminated. + make: *** [Makefile:10: tabulate.f90.o] Error 1 + +We remember that we have dependencies between our source files, therefore we add +this dependency explicitly to the ``Makefile`` with + +```make +tabulate.o: functions.o +``` + +Now we can retry and find that the build is working correctly. The output should +look like + + gfortran -c -o functions.o functions.f90 + gfortran -c -o tabulate.o tabulate.f90 + gfortran -o my_prog tabulate.o functions.o + +You should find *four* new files in the directory now. +Run ``my_prog`` to make sure everything works as expected. +Let's run ``make`` again: + + make: Nothing to be done for 'all'. + +Using the timestamps of the executable ``make`` was able to determine, it is +newer than both ``tabulate.o`` and ``functions.o``, which in turn are newer than +``tabulate.f90`` and ``functions.f90``. +Therefore, the program is already up-to-date with the latest code and no +action has to be performed. + +In the end, we will have a look at a complete ``Makefile``. + +```make +# Disable all of make's built-in rules (similar to Fortran's implicit none) +MAKEFLAGS += --no-builtin-rules --no-builtin-variables +# configuration +FC := gfortran +LD := $(FC) +RM := rm -f +# list of all source files +SRCS := tabulate.f90 functions.f90 +PROG := my_prog + +OBJS := $(addsuffix .o, $(SRCS)) + +.PHONY: all clean +all: $(PROG) + +$(PROG): $(OBJS) + $(LD) -o $@ $^ + +$(OBJS): %.o: % + $(FC) -c -o $@ $< + +# define dependencies between object files +tabulate.f90.o: functions.f90.o user_functions.mod + +# rebuild all object files in case this Makefile changes +$(OBJS): $(MAKEFILE_LIST) + +clean: + $(RM) $(filter %.o, $(OBJS)) $(wildcard *.mod) $(PROG) +``` + +Since you are starting with ``make`` we highly recommend to always include +the first line, like with Fortran's ``implicit none`` we do not want to have +implicit rules messing up our ``Makefile`` in surprising and harmful ways. + +Next, we have a configuration section where we define variables, in case you +want to switch out your compiler, it can be easily done here. +We also introduced the ``SRCS`` variable to hold all source files, which is +more intuitive than specifying object files. +We can easily create the object files by appending a ``.o`` suffix using the +functions ``addsuffix``. +The ``.PHONY`` is a special rule, which should be used for all entry points +of your ``Makefile``, here we define two entry point, we already know *all*, +the new *clean* rule deletes all the build artifacts again such that we indeed +start with a clean directory. + +Also, we slightly changed the build rule for the object files to account for +appending the ``.o`` suffix instead of substituting it. +Notice that we still need to explicitly define the interdependencies in the +``Makefile``. We also added a dependency for the object files on the ``Makefile`` +itself, in case you change the compiler, this will allow you to safely rebuild. + +Now you know enough about ``make`` to use it for building small projects. +If you plan to use ``make`` more extensively, we have compiled a few tips +for you as well. + +::::{tip} +In this guide, we avoided and disabled a lot of the commonly used ``make`` +features that can be particularly troublesome if not used correctly, we highly +recommend staying away from the builtin rules and variables if you do not feel +confident working with ``make``, but explicitly declare all variables and rules. + +You will find that ``make`` is capable tool to automate short interdependent +workflows and to build small projects. But for larger projects, you will +probably soon run against some of it limitations. Usually, ``make`` is therefore +not used alone but combined with other tools to generate the ``Makefile`` +completely or in parts. +:::: + + +### Recursively expanded variables + +Commonly seen in many projects are recursively expanded variables (declared with +``=`` instead of ``:=``). Recursive expansion of your variables allows out-of-order +declaration and other neat tricks with ``make``, since they are defined as rules, +which are expanded at runtime, rather than being defined while parsing. + +For example, declaring and using your Fortran flags with this snippet will work +completely fine: + +```make +all: + echo $(FFLAGS) + +FFLAGS = $(include_dirs) -O +include_dirs += -I./include +include_dirs += -I/opt/some_dep/include +``` + +You should find the expected (or maybe unexpected) printout after running ``make`` + + echo -I./include -I/opt/some_dep/include -O + -I./include -I/opt/some_dep/include -O + +{% include note.html content="" %} + +::::{tip} +appending with ``+=`` to an undefined variable will produce a recursively expanded variable with this state being inherited for all further appending. +:::: + +While, it seems like an interesting feature to use, it tends to lead to +surprising and unexpected outcomes. Usually, when defining variables like your +compiler, there is little reason to actually use the recursive expansion at all. + +The same can easily be archived using the ``:=`` declaration: + +```make +all: + echo $(FFLAGS) + +include_dirs := -I./include +include_dirs += -I/opt/some_dep/include +FFLAGS := $(include_dirs) -O +``` + +::::{important} +always think of a ``Makefile`` as a whole set of rules, it must be parsed completely before any rule can be evaluated. +:::: + +You can use whatever kind of variables you like most, mixing them should be done +carefully, of course. It is important to be aware of the differences between the +two kinds and the respective implications. + + +### Comments and whitespace + +There are some caveats with whitespace and comments, which might pop up from +time to time when using ``make``. First, ``make`` does not know of any data +type except for strings and the default separator is just a space. +This means ``make`` will give a hard time trying to build a project which +has spaces in file names. If you encounter such case, renaming the file +is possibly the easiest solution at hand. + +Another common problem is leading and trailing whitespace, once introduced, +``make`` will happily carry it along and it does in fact make a difference +when comparing strings in ``make``. + +Those can be introduced by comments like + +```make +prefix := /usr # path to install location +install: + echo "$(prefix)/lib" +``` + +While the comment will be correctly removed by ``make``, the trailing two spaces +are now part of the variable content. Run ``make`` and check that this is indeed +the case: + +``` +echo "/usr /lib" +/usr /lib +``` + +To solve this issue, you can either move the comment, or strip the whitespace with +the ``strip`` function instead. Alternatively, you could try to ``join`` the +strings. + +```make +prefix := /usr # path to install location +install: + echo "$(strip $(prefix))/lib" + echo "$(join $(join $(prefix), /), lib)" +``` + +All in all, none of this solutions will make your ``Makefile`` more readable, +therefore, it is prudent to pay extra attention to whitespace and comments when +writing and using ``make``. + + +## The meson build system + +After you have learned the basics of ``make``, which we call a low-level build +system, we will introduce ``meson``, a high-level build system. +While you specify in a low-level build system how to build your program, +you can use a high-level build system to specify what to build. +A high-level build system will deal for you with how and generate +build files for a low-level build system. + +There are plenty of high-level build systems available, but we will focus on +``meson`` because it is constructed to be particularly user friendly. +The default low-level build-system of ``meson`` is called ``ninja``. + +Let's have a look at a complete ``meson.build`` file: + + +```python +project('my_proj', 'fortran', meson_version: '>=0.49') +executable('my_prog', files('tabulate.f90', 'functions.f90')) +``` + +And we are already done, the next step is to configure our low-level build system +with ``meson setup build``, you should see output somewhat similar to this + + The Meson build system + Version: 0.53.2 + Source dir: /home/awvwgk/Examples + Build dir: /home/awvwgk/Examples/build + Build type: native build + Project name: my_proj + Project version: undefined + Fortran compiler for the host machine: gfortran (gcc 9.2.1 "GNU Fortran (Arch Linux 9.2.1+20200130-2) 9.2.1 20200130") + Fortran linker for the host machine: gfortran ld.bfd 2.34 + Host machine cpu family: x86_64 + Host machine cpu: x86_64 + Build targets in project: 1 + + Found ninja-1.10.0 at /usr/bin/ninja + +The provided information at this point is already more detailed than anything +we could have provided in a ``Makefile``, let's run the build with +``ninja -C build``, which should show something like + + [1/4] Compiling Fortran object 'my_prog@exe/functions.f90.o'. + [2/4] Dep hack + [3/4] Compiling Fortran object 'my_prog@exe/tabulate.f90.o'. + [4/4] Linking target my_prog. + +Find and test your program at ``build/my_prog`` to ensure it works correctly. +We note the steps ``ninja`` performed are the same we would have coded up in a +``Makefile`` (including the dependency), yet we did not have to specify them, +have a look at your ``meson.build`` file again: + +```python +project('my_proj', 'fortran', meson_version: '>=0.49') +executable('my_prog', files('tabulate.f90', 'functions.f90')) +``` + +We only specified that we have a Fortran project (which happens to require +a certain version of ``meson`` for the Fortran support) and told ``meson`` +to build an executable ``my_prog`` from the files ``tabulate.f90`` and +``functions.f90``. +We had not to tell ``meson`` how to build the project, it figured this out +by itself. + +::::{note} +``meson`` is a cross-platform build system, the project you just specified +for your program can be used to compile binaries for your native operating +system or to cross-compile your project for other platforms. +Similarly, the ``meson.build`` file is portable and will work on different +platforms as well. +:::: + +The documentation of ``meson`` can be found at the +meson-build webpage. + + +## Creating a CMake project + +Similar to ``meson`` CMake is a high-level build system as well and commonly +used to build Fortran projects. + +::::{note} +CMake follows a slightly different strategy and provides you with a complete +programming language to create your build files. +This is has the advantage that you can do almost everything with CMake, +but your CMake build files can also become as complex as the program you are +building. +:::: + +Start by creating the file ``CMakeLists.txt`` with the content + +```cmake +cmake_minimum_required(VERSION 3.7) +project("my_proj" LANGUAGES "Fortran") +add_executable("my_prog" "tabulate.f90" "functions.f90") +``` + +Similar to ``meson`` we are already done with our CMake build file. +We configure our low-level build files with ``cmake -B build -G Ninja``, +you should see output similar to this + + -- The Fortran compiler identification is GNU 10.2.0 + -- Detecting Fortran compiler ABI info + -- Detecting Fortran compiler ABI info - done + -- Check for working Fortran compiler: /usr/bin/f95 - skipped + -- Checking whether /usr/bin/f95 supports Fortran 90 + -- Checking whether /usr/bin/f95 supports Fortran 90 - yes + -- Configuring done + -- Generating done + -- Build files have been written to: /home/awvwgk/Examples/build + +You might be surprised that CMake tries to use the compiler ``f95``, fortunately +this is just a symbolic link to ``gfortran`` on most systems and not the actual +``f95`` compiler. +To give CMake a better hint you can export the environment variable ``FC=gfortran`` +rerunning should show the correct compiler name now + + -- The Fortran compiler identification is GNU 10.2.0 + -- Detecting Fortran compiler ABI info + -- Detecting Fortran compiler ABI info - done + -- Check for working Fortran compiler: /usr/bin/gfortran - skipped + -- Checking whether /usr/bin/gfortran supports Fortran 90 + -- Checking whether /usr/bin/gfortran supports Fortran 90 - yes + -- Configuring done + -- Generating done + -- Build files have been written to: /home/awvwgk/Example/build + +In a similar manner you could use your Intel Fortran compiler instead to build +your project (set ``FC=ifort``). + +CMake provides support for several low-level build files, since the default is +platform specific, we will just use ``ninja`` since we already used it together +with ``meson``. As before, build your project with ``ninja -C build``: + + [1/6] Building Fortran preprocessed CMakeFiles/my_prog.dir/functions.f90-pp.f90 + [2/6] Building Fortran preprocessed CMakeFiles/my_prog.dir/tabulate.f90-pp.f90 + [3/6] Generating Fortran dyndep file CMakeFiles/my_prog.dir/Fortran.dd + [4/6] Building Fortran object CMakeFiles/my_prog.dir/functions.f90.o + [5/6] Building Fortran object CMakeFiles/my_prog.dir/tabulate.f90.o + [6/6] Linking Fortran executable my_prog + +Find and test your program at ``build/my_prog`` to ensure it works correctly. +The steps ``ninja`` performed are somewhat different, because there is usually +more than one way to write the low-level build files to accomplish the task +of building a project. Fortunately, we do not have to concern ourselves but have +our build system handle those details for us. + +Finally, we will shortly recap on our complete ``CMakeLists.txt`` to specify +our project: + +```cmake +cmake_minimum_required(VERSION 3.7) +project("my_proj" LANGUAGES "Fortran") +add_executable("my_prog" "tabulate.f90" "functions.f90") +``` + +We specified that we have a Fortran project and told CMake to create an executable +``my_prog`` from the files ``tabulate.f90`` and ``functions.f90``. +CMake knows the details how to build the executable from the specified sources, +so we do not have to worry about the actual steps in the build process. + +::::{tip} +CMake's offical reference can be found at the +CMake webpage. +It is organised in manpages, which are also available with your local CMake +installation as well using ``man cmake``. While it covers all functionality of +CMake, it sometimes covers them only very briefly. +:::: \ No newline at end of file diff --git a/source/learn/building_programs/compiling_source.md b/source/learn/building_programs/compiling_source.md new file mode 100644 index 000000000..a522a97dd --- /dev/null +++ b/source/learn/building_programs/compiling_source.md @@ -0,0 +1,111 @@ +--- +layout: book +title: Compiling the source code +permalink: /learn/building_programs/compiling_source +sd_hide_title: true +--- + +# Compiling the source code + +The first step in the build process is to compile the source code. The +output from this step is generally known as the object code — a set of +instructions for the computer generated from the human-readable source +code. Different compilers will produce different object codes from the +same source code and the naming conventions are different. + +The consequences: + +* If you use a particular compiler for one source file, you need to use +the same compiler (or a compatible one) for all other pieces. After +all, a program may be built from many different source files and the +compiled pieces have to cooperate. +* Each source file will be compiled and the result is stored in a file +with an extension like ".o" or ".obj". It is these object files that are +the input for the next step: the link process. + +Compilers are complex pieces of software: they have to understand the +language in much more detail and depth than the average programmer. They +also need to understand the inner working of the computer. And then, +over the years they have been extended with numerous options to +customise the compilation process and the final program that will be +built. + +But the basics are simple enough. Take the gfortran compiler, part of +the GNU compiler collection. To compile a simple program as the one +above, that consists of one source file, you run the following command, +assuming the source code is stored in the file "hello.f90": + +```shell +$ gfortran -c hello.f90 +``` + +This results in a file "hello.o" (as the gfortran compiler uses ".o" as +the extension for the object files). + +The option "-c" means: only compile the source files. If you were to +leave it out, then the default action of the compiler is to compile the +source file and start the linker to build the actual executable program. +The command: + +```shell +$ gfortran hello.f90 +``` + +results in an executable file, "a.out" on Linux or "a.exe" on +Windows. + +Some remarks: + +* The compiler may complain about the contents of the source file, if it +finds something wrong with it — a typo for instance or an unknown +keyword. In that case the compilation process is broken off and you will +not get an object file or an executable program. For instance, if +the word "program" was inadvertently typed as "prgoram": + +```shell +$ gfortran hello3.f90 +hello.f90:1:0: + + 1 | prgoram hello + | +Error: Unclassifiable statement at (1) +hello3.f90:3:17: + + 3 | end program hello + | 1 +Error: Syntax error in END PROGRAM statement at (1) +f951: Error: Unexpected end of file in 'hello.f90' +``` + +Using this compilation report you can correct the source code and try +again. + +* The step without "-c" can only succeed if the source file contains a +main program — characterised by the `program` statement in Fortran. +Otherwise the link step will complain about a missing "symbol", something +along these lines: + +```shell +$ gfortran hello2.f90 +/usr/lib/../lib64/crt1.o: In function `_start': +(.text+0x20): undefined reference to `main' +collect2: error: ld returned 1 exit status +``` + +The file "hello2.f90" is almost the same as the file "hello.f90", except +that the keyword `program` has been replaced by the keyword `subroutine`. + +The above examples of output from the compiler will differ per compiler +and platform on which it runs. These examples come from the gfortran +compiler running in a Cygwin environment on Windows. + +Compilers also differ in the options they support, but in general: + +* Options for optimising the code — resulting in faster programs or +smaller memory footprints; +* Options for checking the source code — checks that a variable is not +used before it has been given a value, for instance or checks if some +extension to the language is used; +* Options for the location of include or module files, see below; +* Options for debugging. + diff --git a/source/learn/building_programs/distributing.md b/source/learn/building_programs/distributing.md new file mode 100644 index 000000000..c7dfffab8 --- /dev/null +++ b/source/learn/building_programs/distributing.md @@ -0,0 +1,142 @@ +--- +layout: book +title: Distributing your programs +permalink: /learn/building_programs/distributing +sd_hide_title: true +--- + +# Distributing your programs + +When you distribute your programs, there are a number of options you can +choose from: + +1. Distribute the entire source code +2. Distribute a pre-built executable program +3. Distribute static or dynamic libraries that people can use + +__Option 1: Distribute the entire source code__ + +By far the simplest — for you as a programmer — is this one: you leave it +up to the user to build it on their own machine. Unfortunately, that +means you will have to have a user-friendly build system in place and +the user will have to have access to suitable compilers. For build systems: +see the previous section. + +__Option 2: Distribute a pre-built executable program__ + +A pre-built program that does not need to be customised, other than via its +input, will still need to come with the various run-time libraries and will +be specific to the operating system/environment it was built for. + +The set of run-time libraries differs per operating system and compiler version. +For a freely available compiler like gfortran, the easiest thing is to ask the +user to install that compiler on their system. In the case of Windows: the Cygwin +environment may be called for. + +Alternatively, you can supply copies of the run-time libraries together with your +program. Put them in the directory where they can be found at run-time. + +Note: On Windows, the Intel Fortran comes with a set of _redistributable_ libraries. +These will need to be made available. + +In general: use a tool like "ldd" or "dependency walker" to find out what +libraries are required and consult the documentation of the compiler. + +If your program does allow customisation, consider using dynamic libraries for this. +More is said about this below. + +__Option 3: Distribute static or dynamic libraries that people can use__ + +This option is a combination of the first two options. It does put some burden on +the user, as they must create a main program that calls your routines in the +proper way, but they do not need to know much about the build system you used. +You will have to deal with the run-time libraries, though. + +If you choose this option, besides the compiled libraries, you will also need to +supply the module intermediate files. These files are compiler-specific, but so are +the static libraries you build. + +## Distributing the tabulation program +As shown above, the tabulation program can be built with the user-defined function +in a dynamic library. This enables you to: + +* Ship the executable (with the appropriate run-time libraries) +* Provide a skeleton version of the module, something like: + +```fortran +module user_functions + implicit none +contains + +real function f( x ) +!DEC$ ATTRIBUTES DLLEXPORT :: f + real, intent(in) :: x + + ! your function body goes here + +end function f + +end module user_functions +``` + +* Provide a basic build script with a command like: + +```shell +gfortran -o functions.dll functions.f90 -shared +``` + +or: + +```shell +ifort -exe:functions.dll functions.f90 -dll +``` + +As said, you cannot control that the user has done the right thing — any +DLL "functions.dll" with a function `f` would be accepted, but not necessarily +lead to a successful run. + +An alternative set-up would be to change the main program into a subroutine +and have the function as an argument: + +```fortran +module tabulation + implicit none +contains + +subroutine tabulate( f ) + interface + real function f( x ) + real, intent(in) :: x + end function f + end interface + + ! your implementation goes here + +end subroutine tabulate + +end module tabulation +``` + +Then provide a skeleton main program: + +```fortran +program tabulate_f + use tabulation + + call tabulate( func1 ) + +contains + +real function func1( x ) + real, intent(in) :: x + + ! your function body goes here + +end function func1 + +end program tabulate_f +``` + +The advantage is that the compiler can check the interface of the +function that is passed and that the user has more freedom in the use of the +functionality provided by your library. diff --git a/source/learn/building_programs/include_files.md b/source/learn/building_programs/include_files.md new file mode 100644 index 000000000..1fe2916c8 --- /dev/null +++ b/source/learn/building_programs/include_files.md @@ -0,0 +1,99 @@ +--- +layout: book +title: Include files and modules +permalink: /learn/building_programs/include_files +sd_hide_title: true +--- + +# Include files and modules + +Your program can be contained in various source files, all stored in the +same directory or organised in some convenient directory tree. The +details of the organisation depend on personal taste, arrangements made +by the group of developers you belong to, or simply the history of the +program. Whatever the directory structure is, you will encounter a +situation where the compiler needs assistence in order to compile a +particular source file: + +* Fortran (and other languages) has the possibility to include an +external file. While this feature has become a bit less useful with the +advent of modules, it still has its uses. Quite often, such "include +files" are stored in a directory separated from the directories +containing the source files, because they are used in several locations. +Quite often the name of that directory is "include". +* As we have seen, compiling source code that defines one or more modules, leads to +the compiler generating so-called "module intermediate files" (with the extension ".mod"). +The compiler needs access to these files to be able to read the interfaces +and variables and what not, and based on this information, actually +compile the source code that uses the various modules. + +Compilers support options like `-I` to indicate where these include +files and module intermediate files are to be found. Suppose we store +the two files of our `tabulate` program in the following directory +structure: + +``` +tabulate/ + main/ + tabulate.f90 + sub/ + functions.f90 +``` + +Compiling the file "functions.f90" with the commands + +```shell +$ cd sub +$ gfortran -c functions.f90 +``` + +leads to this structure: + +``` +tabulate/ + main/ + tabulate.f90 + sub/ + functions.f90 + user_functions.mod + functions.o +``` + +To successfully compile and subsequently build the program we need to +tell the compiler where it can find the file "user\_functions.mod": + +```shell +$ cd main +$ gfortran -c tabulate.f90 -I ../sub +$ gfortran -o tabulate tabulate.o ../sub/functions.o +``` + +The result: + +``` +tabulate/ + main/ + tabulate.f90 + tabulate.o + tabulate (or tabulate.exe on Windows) + sub/ + functions.f90 + functions.o + user_functions.mod +``` + +Notes: + +* The details differ per compiler. Sometimes the `-I` option should be +followed by a space and then the name of the directory, sometimes the +directory should come consecutively. +* By default the module intermediate files (.mod) are put in the +same directory as the object files. When your program code is organised +in different subdirectories, they will get scattered over the directory +tree, complicating the compilation process. Luckily, +many compilers allow you to specify the output location for these +files. For gfortran this is `-J`, for instance: +`-J../include` (so that the .mod files could all appear in the +same directory) +* For large programs, consisting of many source files, it is important to +think through what organisation to use. diff --git a/source/learn/building_programs/index.md b/source/learn/building_programs/index.md new file mode 100644 index 000000000..8b9a9a25a --- /dev/null +++ b/source/learn/building_programs/index.md @@ -0,0 +1,65 @@ +--- +layout: book +title: Building programs +permalink: /learn/building_programs +author: Arjen Markus, Ondřej Čertík, Milan Curcic, Laurence Kedward, Brad Richardson, Jeremie Vandenplas, Sebastian Ehlert +sd_hide_title: true +--- + +# Building programs + +Languages like Fortran, C, C++ and Java, to name but a few, share +certain characteristics: you write code in your language of choice but +then you have to build an executable program from that source code. +Other languages are interpreted — the source code is analysed by a +special program and taken as direct instructions. Two very simple +examples of that type of language: Windows batch files and Linux shell +scripts. + +In this tutorial we concentrate on the first type of languages, with +Fortran as the main example. One advantage of compiled languages is that +the build process that you need to build an executable program, is used +to transform the human-readable source code into an efficient program +that can be run on the computer. + +Remark: this tutorial gives examples for the Windows and Linux operating +systems, however the workflow and general principles still apply to macOS. + +## Compiled languages + +Let us have a look at a simple example: + +```fortran +program hello + write(*,*) 'Hello!' +end program hello +``` + +This is just about the simplest program you can write in Fortran and it +is certainly a variation on one of the most famous programs. Even though +it is simple to express in source code, a lot of things actually happen +when the executable that is built from this code runs: + +* A process is started on the computer in such a way that it can write +to the console — the window (DOS-box, xterm, ...) at which you type the +program's name. +* It writes the text "Hello!" to the console. To do so it must properly +interact with the console. +* When done, it finishes, cleaning up all the resources (memory, +connection to the console etc.) it took. + +Fortunately, as a programmer in a high-level language you do not need to +consider all these details. In fact, this is the sort of things that is +taken care of by the build process: the compiler and the linker. + +````{toctree} +:hidden: +build tools +include files +managing libraries +compiling source +project make +distributing +linking pieces +runtime libraries +```` diff --git a/source/learn/building_programs/linking_pieces.md b/source/learn/building_programs/linking_pieces.md new file mode 100644 index 000000000..f3402f03a --- /dev/null +++ b/source/learn/building_programs/linking_pieces.md @@ -0,0 +1,99 @@ +--- +layout: book +title: Linking the objects +permalink: /learn/building_programs/linking_pieces +sd_hide_title: true +--- + +# Linking the objects + +Almost all programs, except for the simplest, are built up from +different pieces. We are going to examine such a situation in +more detail. + +Here is a general program for tabulating a function (source code in +"tabulate.f90"): + +```fortran +program tabulate + use user_functions + + implicit none + real :: x, xbegin, xend + integer :: i, steps + + write(*,*) 'Please enter the range (begin, end) and the number of steps:' + read(*,*) xbegin, xend, steps + + do i = 0, steps + x = xbegin + i * (xend - xbegin) / steps + write(*,'(2f10.4)') x, f(x) + end do +end program tabulate +``` + +Note the `use` statement — this will be where we define the function `f`. + +We want to make the program general, so keep the +specific source code — the implementation of the function `f` — +separated from the general source code. There are several ways to +achieve this, but one is to put it in a different source file. We can +give the general program to a user and they provide a specific source code. + +Assume for the sake of the example that the function is implemented in a +source file "function.f90" as: + +```fortran +module user_functions + implicit none +contains + +real function f( x ) + real, intent(in) :: x + f = x - x**2 + sin(x) +end function f + +end module user_functions +``` + +To build the program with this specific function, we need to compile two +source files and combine them via the link step into one executable +program. Because the program "tabulate" depends on the module +"function", we need to compile the source file containing our module +first. A sequence of commands to do this is: + +```shell +$ gfortran -c functions.f90 +$ gfortran tabulate.f90 functions.o +``` + +The first step compiles the module, resulting in an object file +"functions.o" and a module intermediate file, "user\_functions.mod". This module +file contains all the information the compiler needs to determine that +the function `f` is defined in this module and what its interface is. This +information is important: it enables the compiler to check that you call +the function in the right way. It might be that you made a mistake and +called the function with two arguments instead of one. If the compiler +does not know anything about the function's interface, then it cannot +check anything. + +The second step invokes the compiler in such a way that: + +* it compiles the file "tabulate.f90" (using the module file); +* it invokes the linker to combine the object files tabulate.o and functions.o into an +executable program — with the default name "a.out" or "a.exe" (if you +want a different name, use the option "-o"). + +What you do not see in general is that the linker also adds a number of +extra files in this link step, the run-time libraries. These run-time +libraries contain all the "standard" stuff — low-level routines that do +the input and output to screen, the `sin` function and much more. + +If you want to see the gory details, add the option "-v". This instructs +the compiler to report all the steps that are in detail. + +The end result, the executable program, contains the compiled source +code and various auxiliary routines that make it work. It also contains +references to so-called dynamic run-time libraries (in Windows: DLLs, in +Linux: shared objects or shared libraries). Without these run-time +libraries the program will not start. diff --git a/source/learn/building_programs/managing_libraries.md b/source/learn/building_programs/managing_libraries.md new file mode 100644 index 000000000..ff2c667d7 --- /dev/null +++ b/source/learn/building_programs/managing_libraries.md @@ -0,0 +1,222 @@ +--- +layout: book +title: Managing libraries (static and dynamic libraries) +permalink: /learn/building_programs/managing_libraries +sd_hide_title: true +--- + +# Managing libraries (static and dynamic libraries) + +If you need to manage a program built of dozens of source files (and +that is not uncommon!), the command-line needed to specify all the +object files will be very long indeed. This soon becomes tedious or +even impossible to maintain. So a different solution is called for: +create your own libraries. + +Libraries contain any number of object files in a compact form, so that +the command-line becomes far shorter: + +```shell +$ gfortran -o tabulate tabulate.f90 functions.o supportlib.a +``` + +where "supportlib.a" is a collection of one, two or many object files, +all compiled and then put into a library. The extension ".a" is used by +Linux and Linux-like platforms. On Windows the extension ".lib" is used. + +Creating your own libraries is not that complicated: +on Linux, you can achieve this using a utility like `ar`: + +```shell +$ gfortran -c file1.f90 file2.f90 +$ gfortran -c file3.f90 ... +$ ar r supportlib.a file1.o file2.o +$ ar r supportlib.a file3.o ... +``` + +or on Windows using the `lib` utility: + +```shell +c:\...> ifort -c file1.f90 file2.f90 +c:\...> ifort -c file3.f90 ... +c:\...> lib /out:supportlib.lib file1.obj file2.obj +c:\...> lib supportlib.lib file3.obj ... +``` + +Note: + +* The command `ar` with the option `r` either creates the library (the +name appears after the option) or adds new object files to the library +(or replaces any existing ones). +* The command `lib` will create a new library if you use specify the +option `/out:` with the name of the new library next to it. To add +object files to an existing library, leave out the `/out:` bit. +* On platforms like Linux there is a particular convention to name +libraries. If you name your library like "libname.a" (note the "lib" +prefix), then you can refer to it as `-lname` in the link step. +* Libraries are often sought in directories indicated by an option `-L` +or `/LIBPATH`. This saves you from having to specify the exact path for +every library. + +Using libraries you can build very large programs without +having to resort to extremely long command lines. + + +## Static versus dynamic libraries + +The above discussion is tacitly assuming that you are using the so-called +static libraries. Static libraries (or at least parts of their +contents) become an integral part of the executable program. The only +way to change the routines incorporated in the program is by rebuilding +the program with a new version of the library. + +A flexible alternative is to use the so-called dynamic libraries. These +libraries remain outside the executable program and as a consequence +can be replaced without rebulding the entire program. Compilers and +indeed the operating system itself rely heavily on such dynamic +libraries. You could consider dynamic libraries as a sort of executable +programs that need a bit of help to be run. + +Building dynamic libraries works slightly differently from building +static libraries: you use the compiler/linker instead of a tool +like `ar` or `lib`. + +On Linux: + +```shell +$ gfortran -fpic -c file1.f90 file2.f90 +$ gfortran -fpic -c file3.f90 ... +$ gfortran -shared -o supportlib.so file1.o file2.o file3.o ... +``` + +On Windows, with the Intel Fortran compiler: + +```shell +$ ifort -c file1.f90 file2.f90 +$ ifort -c file3.f90 ... +$ ifort -dll -exe:supportlib.dll file1.obj file2.obj file3.obj ... +``` + +The differences are that: + +* You need to specify a compile option on Linux, for gfortran that is `-fpic`, +because the object code is slightly different. +* You need to tell in the link step that you want a dynamic library (on +Linux: a shared object/library, hence the extension ".so"; on Windows: +a dynamic link library) + +There is one more thing to be aware of: On Windows you must +explicitly specify that a procedure is to be _exported_, i.e. is visible +in the dynamic library. There are several ways — depending on the +compiler you use — to achieve this. One method is via a so-called +compiler directive: + +```fortran +subroutine myroutine( ... ) +!GCC$ ATTRIBUTES DLLEXPORT:: myroutine +``` + +Or, with the Intel Fortran compiler: + +```fortran +subroutine myroutine( ... ) +!DEC$ ATTRIBUTES DLLEXPORT:: myroutine +``` + +Besides a dynamic library (DLL), a so-called import library may be +generated. + +Because the details differ per compiler, here are two examples: +gfortran on Cygwin and Intel Fortran on Windows. In both cases +we look at the `tabulate` program in the file "tabulate.f90". + +## GNU/Linux and gfortran +The `tabulate` program requires a user-defined routine `f`. If we +let it reside in a dynamic library, say "functions.dll", we can simply +replace the implementation of the function by putting another dynamic +library in the directory. No need to rebuild the program as such. + +On Cygwin it is not necessary to explicitly export a procedure — all +publically visible routines are exported when you build a dynamic library. +Also, no import library is generated. + +Since our dynamic library can be built from a single source file, we +can take a shortcut: + +```shell +$ gfortran -shared -o functions.dll functions.f90 +``` + +This produces the files "functions.dll" and "user\_functions.mod". The +utility `nm` tells us the exact name of the function `f`: + +```shell +$ nm functions.dll +... +000000054f9d7000 B __dynamically_loaded + U __end__ +0000000000000200 A __file_alignment__ +000000054f9d1030 T __function_MOD_f +000000054f9d1020 T __gcc_deregister_frame +000000054f9d1000 T __gcc_register_frame +... +``` + +It has received a prefix `__function_MOD_` to distinguish it from any +other routine "f" that might be defined in another module. + +The next step is to build the program: + +```shell +$ gfortran -o tabulate tabulate.f90 functions.dll +``` + +The DLL and the .mod file are used to build the executable program +with checks on the function's interface, the right name and the reference +to "a" DLL, called "functions.dll". + +You can replace the shared library "functions.dll" by another one, implementing +a different function "f". Of course, you need to be careful to use the correct +interface for this function. The compiler/linker are not invoked anymore, so they +can do no checking. + +## Windows and Intel Fortran +The setup is the same as with Linux, but on Windows it is necessary +to explicitly export the routines. And an import library is generated — +this is the library that should be used in the link step. + +The source file must contain the compiler directive, otherwise the function `f` +is not exported: + +```fortran +real function f( x ) +!DEC$ ATTRIBUTES DLLEXPORT :: f +``` + +Again we take a shortcut: + +```shell +$ ifort -exe:functions.dll functions.f90 -dll +``` + +This produces the files "functions.dll", "user\_functions.mod" as well as "functions.lib" (and two +other files of no importance here). The "dependency walker" program tells us +that the exact name of the function "f" is `FUNCTION_mp_F`. It is also exported, so that +it can be found by the linker in the next step: + +``` +$ ifort tabulate.f90 functions.lib +``` + +Note that we need to specify the name of the export library, not the DLL! + +(Note also: the Intel Fortran compiler uses the name of the first source file as the +name for the executable — here we do without the `-exe` option.) + +Just as under Cygwin, the DLL and the .mod file are used to build the executable program +with checks on the function's interface, the right name and the reference +to "a" DLL, called "functions.dll". + +You can replace the shared library "functions.dll" by another one, but the same +caution is required: while the implementation can be quite different, the +function's interface must be the same. diff --git a/source/learn/building_programs/project_make.md b/source/learn/building_programs/project_make.md new file mode 100644 index 000000000..38903bf9b --- /dev/null +++ b/source/learn/building_programs/project_make.md @@ -0,0 +1,481 @@ +--- +layout: book +title: An introduction to make +permalink: /learn/building_programs/project_make +sd_hide_title: true +--- + +# An introduction to make + +We briefly discussed the basics of ``make``. This chapter gives ideas +and strategies to scale ``make`` for larger projects. + +Before going into detail with ``make``, consider a few points: +1. ``make`` is a Unix tool and might give you a hard time when porting to non-Unix + platforms. That said, there are also different flavors of ``make`` available, + not all might support the features you want to use. +2. While ``make`` gives you full control over the build process, it also + means you are responsible for the entire build process, and you have to specify the rules for every detail of your project. + You might find yourself spending a significant amount of time writing and + maintaining your ``Makefile`` instead of developing your source code. +3. You can work with your ``Makefile``, but think about other developers + on your project who may not be familiar with ``make``. How much time do you expect them to spend learning your + ``Makefile`` and would they be able to debug or add features? +4. Pure ``make`` will not scale. You will soon add auxiliary programs + to dynamically or statically generate your ``Makefile``. Those introduce + dependencies and possible sources of errors. The effort needed to test and document those + tools should not be underestimated. + +If you think ``make`` is suitable for your needs, than you can start writing +your ``Makefile``. For this course we will use real world examples from the +package index, which (at the time of writing) use build systems other +than ``make``. This guide should present a general recommended style to write +``make``, but also serve as demonstration of useful and interesting features. + +::::{tip} +Even if you find ``make`` unsuitable to build your project, it is *the* tool to automate workflows defined by files. Maybe you can leverage its power in a different context. +:::: + +## Getting started + +For this part we will work with + the Fortran CSV module (v1.2.0). +Our goal is to write a ``Makefile`` to compile this project to a static library. +Start by cloning the repository + +``` +git clone https://github.com/jacobwilliams/fortran-csv-module -b 1.2.0 +cd fortran-csv-module +``` + +::::{tip} +For this part we will work with the code from tag ``1.2.0``, to make it as reproducible as possible. Feel free to use the latest version or another project instead. +:::: + +This project uses FoBiS as build system, and you can check the +``build.sh`` for options used with FoBiS. We are about to write a ``Makefile`` +for this project. First, we check the directory structure and the source files + + . + ├── build.sh + ├── files + │   ├── test_2_columns.csv + │   └── test.csv + ├── fortran-csv-module.md + ├── LICENSE + ├── README.md + └── src + ├── csv_kinds.f90 + ├── csv_module.F90 + ├── csv_parameters.f90 + ├── csv_utilities.f90 + └── tests + ├── csv_read_test.f90 + ├── csv_test.f90 + └── csv_write_test.f90 + +We find seven different Fortran source files; the four in ``src`` should +be compiled and added to a static library while the three in ``src/tests`` +contain individual programs that depend on this static library. + +Start by creating a simple ``Makefile``: + +```make +# Disable the default rules +MAKEFLAGS += --no-builtin-rules --no-builtin-variables + +# Project name +NAME := csv + +# Configuration settings +FC := gfortran +AR := ar rcs +LD := $(FC) +RM := rm -f + +# List of all source files +SRCS := src/csv_kinds.f90 \ + src/csv_module.F90 \ + src/csv_parameters.f90 \ + src/csv_utilities.f90 +TEST_SRCS := src/tests/csv_read_test.f90 \ + src/tests/csv_test.f90 \ + src/tests/csv_write_test.f90 + +# Create lists of the build artefacts in this project +OBJS := $(addsuffix .o, $(SRCS)) +TEST_OBJS := $(addsuffix .o, $(TEST_SRCS)) +LIB := $(patsubst %, lib%.a, $(NAME)) +TEST_EXE := $(patsubst %.f90, %.exe, $(TEST_SRCS)) + +# Declare all public targets +.PHONY: all clean +all: $(LIB) $(TEST_EXE) + +# Create the static library from the object files +$(LIB): $(OBJS) + $(AR) $@ $^ + +# Link the test executables +$(TEST_EXE): %.exe: %.f90.o $(LIB) + $(LD) -o $@ $^ + +# Create object files from Fortran source +$(OBJS) $(TEST_OBJS): %.o: % + $(FC) -c -o $@ $< + +# Define all module interdependencies +csv_kinds.mod := src/csv_kinds.f90.o +csv_module.mod := src/csv_module.F90.o +csv_parameters.mod := src/csv_parameters.f90.o +csv_utilities.mod := src/csv_utilities.f90.o +src/csv_module.F90.o: $(csv_utilities.mod) +src/csv_module.F90.o: $(csv_kinds.mod) +src/csv_module.F90.o: $(csv_parameters.mod) +src/csv_parameters.f90.o: $(csv_kinds.mod) +src/csv_utilities.f90.o: $(csv_kinds.mod) +src/csv_utilities.f90.o: $(csv_parameters.mod) +src/tests/csv_read_test.f90.o: $(csv_module.mod) +src/tests/csv_test.f90.o: $(csv_module.mod) +src/tests/csv_write_test.f90.o: $(csv_module.mod) + +# Cleanup, filter to avoid removing source code by accident +clean: + $(RM) $(filter %.o, $(OBJS) $(TEST_OBJS)) $(filter %.exe, $(TEST_EXE)) $(LIB) $(wildcard *.mod) +``` + +Invoking ``make`` should build the static library and the test executables as +expected: + + gfortran -c -o src/csv_kinds.f90.o src/csv_kinds.f90 + gfortran -c -o src/csv_parameters.f90.o src/csv_parameters.f90 + gfortran -c -o src/csv_utilities.f90.o src/csv_utilities.f90 + gfortran -c -o src/csv_module.F90.o src/csv_module.F90 + ar rcs libcsv.a src/csv_kinds.f90.o src/csv_module.F90.o src/csv_parameters.f90.o src/csv_utilities.f90.o + gfortran -c -o src/tests/csv_read_test.f90.o src/tests/csv_read_test.f90 + gfortran -o src/tests/csv_read_test.exe src/tests/csv_read_test.f90.o libcsv.a + gfortran -c -o src/tests/csv_test.f90.o src/tests/csv_test.f90 + gfortran -o src/tests/csv_test.exe src/tests/csv_test.f90.o libcsv.a + gfortran -c -o src/tests/csv_write_test.f90.o src/tests/csv_write_test.f90 + gfortran -o src/tests/csv_write_test.exe src/tests/csv_write_test.f90.o libcsv.a + +There are a few things to note there, a ``make`` build usually interlaces the +build artifacts and the source code, unless you put extra effort into implementing +a build directory. +Also, right now the the source files and dependencies are specified explicitly, +which results in several additional lines even for such a simple project. + + +## Automatically generated dependencies + +The main drawback of ``make`` for Fortran is the missing capability to +determine module dependencies. This is usually solved by either adding those +by hand or automatically scanning the source code with an external tool. +Some compilers (like the Intel Fortran compiler) also offer to generate dependencies in ``make`` format. + +Before diving into the dependency generation, we will outline the concept of +a robust take on the dependency problem. +First, we want an approach that can process all source files independently, +while each source file provides (``module``) or requires (``use``) modules. +When generating the dependencies only the name of the source file and the +module files are known, and no information on the object file names should be +required. + +If you check the dependency section above you will note that all dependencies are +defined between object files rather than source files. To change this, we can +generate a map from the source files their respective object files: + +```make +# Define a map from each file name to its object file +obj = $(src).o +$(foreach src, $(SRCS) $(TEST_SRCS), $(eval $(src) := $(obj))) +``` + +Note the declaration of ``obj`` as recursively expanded variable, we effectively +use this mechanism to define a function in ``make``. The ``foreach`` function +allows us to loop over all source files, while the ``eval`` function allows us +to generate ``make`` statements and evaluate them for this ``Makefile``. + +We adjust the dependencies accordingly as we can now define the name of the +object files through the source file names: + +```make +# Define all module interdependencies +csv_kinds.mod := $(src/csv_kinds.f90) +csv_module.mod := $(src/csv_module.F90) +csv_parameters.mod := $(src/csv_parameters.f90) +csv_utilities.mod := $(src/csv_utilities.f90) +$(src/csv_module.F90): $(csv_utilities.mod) +$(src/csv_module.F90): $(csv_kinds.mod) +$(src/csv_module.F90): $(csv_parameters.mod) +$(src/csv_parameters.f90): $(csv_kinds.mod) +$(src/csv_utilities.f90): $(csv_kinds.mod) +$(src/csv_utilities.f90): $(csv_parameters.mod) +$(src/tests/csv_read_test.f90): $(csv_module.mod) +$(src/tests/csv_test.f90): $(csv_module.mod) +$(src/tests/csv_write_test.f90): $(csv_module.mod) +``` + +The same strategy of creating a map is already used for the module files, now +it is just expanded to the object files as well. + +To generate the respective dependency map automatically we will use an +``awk`` script here + +```awk +#!/usr/bin/awk -f + +BEGIN { + # Fortran is case insensitive, disable case sensitivity for matching + IGNORECASE = 1 +} + +# Match a module statement +# - the first argument ($1) should be the whole word module +# - the second argument ($2) should be a valid module name +$1 ~ /^module$/ && +$2 ~ /^[a-zA-Z][a-zA-Z0-9_]*$/ { + # count module names per file to avoid having modules twice in our list + if (modc[FILENAME,$2]++ == 0) { + # add to the module list, the generated module name is expected + # to be lowercase, the FILENAME is the current source file + mod[++im] = sprintf("%s.mod = $(%s)", tolower($2), FILENAME) + } +} + +# Match a use statement +# - the first argument ($1) should be the whole word use +# - the second argument ($2) should be a valid module name +$1 ~ /^use$/ && +$2 ~ /^[a-zA-Z][a-zA-Z0-9_]*,?$/ { + # Remove a trailing comma from an optional only statement + gsub(/,/, "", $2) + # count used module names per file to avoid using modules twice in our list + if (usec[FILENAME,$2]++ == 0) { + # add to the used modules, the generated module name is expected + # to be lowercase, the FILENAME is the current source file + use[++iu] = sprintf("$(%s) += $(%s.mod)", FILENAME, tolower($2)) + } +} + +# Match an include statement +# - the first argument ($1) should be the whole word include +# - the second argument ($2) can be everything, as long as delimited by quotes +$1 ~ /^(#:?)?include$/ && +$2 ~ /^["'].+["']$/ { + # Remove quotes from the included file name + gsub(/'|"/, "", $2) + # count included files per file to avoid having duplicates in our list + if (incc[FILENAME,$2]++ == 0) { + # Add the included file to our list, this might be case-sensitive + inc[++ii] = sprintf("$(%s) += $(%s)", FILENAME, $2) + } +} + +# Finally, produce the output for make, loop over all modules, use statements +# and include statements, empty lists are ignored in awk +END { + for (i in mod) print mod[i] + for (i in use) print use[i] + for (i in inc) print inc[i] +} +``` + +This script makes a few assumptions about the source code it parses, so it will +not work with all Fortran code (namely submodules are not supported), but for +this example it will suffice. + +::::{tip} +Using awk + +The above script uses the ``awk`` language, which is designed for the purpose +of text stream processing and uses a C-like syntax. In ``awk`` you can define +groups which are evaluated on certain events, *e.g.* when a line matches a +specific pattern, usually expressed by a + regular expression. + +This ``awk`` script defines five groups, two of them use the special pattern +``BEGIN`` and ``END`` which are run before the script starts and after the script +finishes, respectively. +Before the script starts we make the script case-insensitive since we are dealing +with Fortran source code here. +We also use the special variable ``FILENAME`` to determine which file we are +currently parsing and to allow processing multiple files at once. + +With the three patterns defined we are looking for ``module``, ``use`` and +``include`` statements as the first space delimited entry. With the used +pattern not all valid Fortran code will be parsed correctly. +A failing example would be: + +```fortran +use::my_module,only:proc +``` + +To make this parsable by the ``awk`` script we can add another group directly +after the ``BEGIN`` group, modifying the stream while processing it with + +```awk +{ + gsub(/,|:/, " ") +} +``` + +In theory you would need a full Fortran parser to deal with continuation lines +and other difficulties. This might be possible to implement in ``awk`` but +would require a huge script in the end. + +Also, keep in mind that generating the dependencies should be fast, an expensive +parser can produce a significant overhead when generating dependencies for a large +code base. Making reasonable assumptions can simplify and speed up this step, but +also introduces an error source in your build tools. + +:::: + +Make the script executable (``chmod +x gen-deps.awk``) and test it with +``./gen-deps.awk $(find src -name '*.[fF]90')``. You should see output like this: + + csv_utilities.mod = $(src/csv_utilities.f90) + csv_kinds.mod = $(src/csv_kinds.f90) + csv_parameters.mod = $(src/csv_parameters.f90) + csv_module.mod = $(src/csv_module.F90) + $(src/csv_utilities.f90) += $(csv_kinds.mod) + $(src/csv_utilities.f90) += $(csv_parameters.mod) + $(src/csv_kinds.f90) += $(iso_fortran_env.mod) + $(src/tests/csv_read_test.f90) += $(csv_module.mod) + $(src/tests/csv_read_test.f90) += $(iso_fortran_env.mod) + $(src/tests/csv_write_test.f90) += $(csv_module.mod) + $(src/tests/csv_write_test.f90) += $(iso_fortran_env.mod) + $(src/tests/csv_test.f90) += $(csv_module.mod) + $(src/tests/csv_test.f90) += $(iso_fortran_env.mod) + $(src/csv_parameters.f90) += $(csv_kinds.mod) + $(src/csv_module.F90) += $(csv_utilities.mod) + $(src/csv_module.F90) += $(csv_kinds.mod) + $(src/csv_module.F90) += $(csv_parameters.mod) + $(src/csv_module.F90) += $(iso_fortran_env.mod) + +Note that the scripts output will use recursively expanded variables and not +define any dependencies yet, because out-of-order declaration of variables +might be necessary and we do not want to create any target by accident. +You can verify that the same information as in the above handwritten snippet is +present. The only exception is the additional dependency on the +``iso_fortran_env.mod``, since it is an undefined variable it will just expand +to an empty string and not introduce any further dependencies. + +Now, you can finally include this piece in your ``Makefile`` to automate the +dependency generation: + +```make +# Disable the default rules +MAKEFLAGS += --no-builtin-rules --no-builtin-variables + +# Project name +NAME := csv + +# Configuration settings +FC := gfortran +AR := ar rcs +LD := $(FC) +RM := rm -f +GD := ./gen-deps.awk + +# List of all source files +SRCS := src/csv_kinds.f90 \ + src/csv_module.F90 \ + src/csv_parameters.f90 \ + src/csv_utilities.f90 +TEST_SRCS := src/tests/csv_read_test.f90 \ + src/tests/csv_test.f90 \ + src/tests/csv_write_test.f90 + +# Define a map from each file name to its object file +obj = $(src).o +$(foreach src, $(SRCS) $(TEST_SRCS), $(eval $(src) := $(obj))) + +# Create lists of the build artefacts in this project +OBJS := $(addsuffix .o, $(SRCS)) +DEPS := $(addsuffix .d, $(SRCS)) +TEST_OBJS := $(addsuffix .o, $(TEST_SRCS)) +TEST_DEPS := $(addsuffix .d, $(TEST_SRCS)) +LIB := $(patsubst %, lib%.a, $(NAME)) +TEST_EXE := $(patsubst %.f90, %.exe, $(TEST_SRCS)) + +# Declare all public targets +.PHONY: all clean +all: $(LIB) $(TEST_EXE) + +# Create the static library from the object files +$(LIB): $(OBJS) + $(AR) $@ $^ + +# Link the test executables +$(TEST_EXE): %.exe: %.f90.o $(LIB) + $(LD) -o $@ $^ + +# Create object files from Fortran source +$(OBJS) $(TEST_OBJS): %.o: % | %.d + $(FC) -c -o $@ $< + +# Process the Fortran source for module dependencies +$(DEPS) $(TEST_DEPS): %.d: % + $(GD) $< > $@ + +# Define all module interdependencies +include $(DEPS) $(TEST_DEPS) +$(foreach dep, $(OBJS) $(TEST_OBJS), $(eval $(dep): $($(dep)))) + +# Cleanup, filter to avoid removing source code by accident +clean: + $(RM) $(filter %.o, $(OBJS) $(TEST_OBJS)) $(filter %.d, $(DEPS) $(TEST_DEPS)) $(filter %.exe, $(TEST_EXE)) $(LIB) $(wildcard *.mod) +``` + +Here additional dependency files are generated for each source file individually +and than included into the main ``Makefile``. +Also, the dependency files are added as dependency to the object files to ensure +they are generated before the object is compiled. The pipe character in +the dependencies defines an order of the rules without a timestamp dependency, +because it is not necessary to recompile an object file in case dependencies are +regenerated and potentially unchanged. + +Again, we make use of the ``eval`` function to generate the dependencies in a +``foreach`` loop over all object files. Note that we created a map between +the object files in the dependency files, expanding ``dep`` once yields the +object file name, expanding it again yields the object files it depends on. + +Building your project with ``make`` should give an output similar to + + ./gen-deps.awk src/csv_utilities.f90 > src/csv_utilities.f90.d + ./gen-deps.awk src/csv_parameters.f90 > src/csv_parameters.f90.d + ./gen-deps.awk src/csv_module.F90 > src/csv_module.F90.d + ./gen-deps.awk src/csv_kinds.f90 > src/csv_kinds.f90.d + gfortran -c -o src/csv_kinds.f90.o src/csv_kinds.f90 + gfortran -c -o src/csv_parameters.f90.o src/csv_parameters.f90 + gfortran -c -o src/csv_utilities.f90.o src/csv_utilities.f90 + gfortran -c -o src/csv_module.F90.o src/csv_module.F90 + ar rcs libcsv.a src/csv_kinds.f90.o src/csv_module.F90.o src/csv_parameters.f90.o src/csv_utilities.f90.o + ./gen-deps.awk src/tests/csv_read_test.f90 > src/tests/csv_read_test.f90.d + gfortran -c -o src/tests/csv_read_test.f90.o src/tests/csv_read_test.f90 + gfortran -o src/tests/csv_read_test.exe src/tests/csv_read_test.f90.o libcsv.a + ./gen-deps.awk src/tests/csv_test.f90 > src/tests/csv_test.f90.d + gfortran -c -o src/tests/csv_test.f90.o src/tests/csv_test.f90 + gfortran -o src/tests/csv_test.exe src/tests/csv_test.f90.o libcsv.a + ./gen-deps.awk src/tests/csv_write_test.f90 > src/tests/csv_write_test.f90.d + gfortran -c -o src/tests/csv_write_test.f90.o src/tests/csv_write_test.f90 + gfortran -o src/tests/csv_write_test.exe src/tests/csv_write_test.f90.o libcsv.a + +Once the dependency files are generated, ``make`` will only update them if the +source changes and not require to rebuild them again for every invocation. + +::::{tip} +With correct dependencies you can leverage parallel execution of your ``Makefile``, just use the ``-j`` flag to create multiple ``make`` processes. +:::: + +Since dependencies can now be generated automatically, there is no need to specify +the source files explicitly, the ``wildcard`` function can be used to determine +them dynamically: + +```make +# List of all source files +SRCS := $(wildcard src/*.f90) \ + $(wildcard src/*.F90) +TEST_SRCS := $(wildcard src/tests/*.f90) +``` diff --git a/source/learn/building_programs/runtime_libraries.md b/source/learn/building_programs/runtime_libraries.md new file mode 100644 index 000000000..52ec6262c --- /dev/null +++ b/source/learn/building_programs/runtime_libraries.md @@ -0,0 +1,68 @@ +--- +layout: book +title: Run-time libraries +permalink: /learn/building_programs/runtime_libraries +sd_hide_title: true +--- + +## Run-time libraries + +To illustrate that even a simple program depends on external run-time +libraries, here is the output from the `ldd` utility that reports such +dependencies: + +```shell +$ ldd tabulate.exe + ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ff88f2b0000) + KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ff88e450000) + KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ff88b9e0000) + cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000) + cyggfortran-5.dll => /usr/bin/cyggfortran-5.dll (0x3efd20000) + cygquadmath-0.dll => /usr/bin/cygquadmath-0.dll (0x3ee0b0000) + cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x3f7000000) +``` + +Other compilers or other versions of the same compiler will probably +require different dynamic libraries. As long as you run the program on +the same computer — or, more accurately, within the same environment — +there should be no problem. However, when such a library cannot be +found, you will get (hopefully) an error message and the program stops +immediately. + +Therefore it is good to know what libraries are required. On Linux and +Linux-like environments, the `ldd` utility is a great help. On Windows, +you may want to use the `dependency walker` (the latest version, which +works very nicely with Windows 10, is found here: ) + +Another thing you should know is where the program tries to find these +libraries. That is a vast subject in its own right and full of +complications and history. Here we merely scratch the surface: + +_On Linux:_ + + * The environment variable `LD_LIBRARY_PATH` is used. It consists of a +list of directories to be searched, each directory separated via colons +(:) from the others. For instance: `/usr/lib:/usr/local/lib` — typical +system directories. + * At the link step you can also use an option to set `RPATH`, a list +of directories that is put into the executable file itself. + * Then there are several system directories that are searched. + +_On Windows:_ + + * The directory containing the executable program may also contain +dynamic libraries. + * The environment variable "PATH" is used. Again a list of directories +to be searched, but now the separating character is the semicolon (;). + * A set of system directories is searched. + +Unfortunately, the details can change from one version of the operating +system to the next. The above is merely an indication — use tools like +"ldd" or "dependency walker" to find out what libraries are loaded and +where they are found. + +If you want to share your program with colleagues or clients or simply +users all over the world, you will have to take care that, besides the +program, you also distribute the libraries it depends on. For more +information: see below. + diff --git a/source/learn/intrinsics/ARRAY_index.md b/source/learn/intrinsics/ARRAY_index.md new file mode 100644 index 000000000..41b848502 --- /dev/null +++ b/source/learn/intrinsics/ARRAY_index.md @@ -0,0 +1,70 @@ +# Properties and attributes of arrays + +```{include} _pages/MERGE.md +``` + +```{include} _pages/PACK.md +``` + +```{include} _pages/SPREAD.md +``` + +```{include} _pages/UNPACK.md +``` + +```{include} _pages/ALLOCATED +``` + +```{include} _pages/IS_CONTIGUOUS +``` + +```{include} _pages/LBOUND +``` + +```{include} _pages/RANK +``` + +```{include} _pages/SHAPE +``` + +```{include} _pages/SIZE +``` + +```{include} _pages/UBOUND +``` + +```{include} _pages/MAXLOC +``` + +```{include} _pages/MINLOC +``` + +```{include} _pages/FINDLOC +``` + +```{include} _pages/TRANSPOSE +``` + +```{include} _pages/ALL +``` + +```{include} _pages/ANY +``` + +```{include} _pages/COUNT +``` + +```{include} _pages/MAXVAL +``` + +```{include} _pages/MINVAL +``` + +```{include} _pages/PRODUCT +``` + +```{include} _pages/SUM +``` + +```{include} _pages/RESHAPE +``` diff --git a/source/learn/intrinsics/BIT_index.md b/source/learn/intrinsics/BIT_index.md new file mode 100644 index 000000000..c6e7b33ac --- /dev/null +++ b/source/learn/intrinsics/BIT_index.md @@ -0,0 +1,98 @@ +# Bit-level inquiry and manipulation + +```{include} _pages/BGE.md +``` + +```{include} _pages/BGT.md +``` + +```{include} _pages/BLE.md +``` + +```{include} _pages/BLT.md +``` + +```{include} _pages/BIT_SIZE.md +``` + +```{include} _pages/BTEST.md +``` + +```{include} _pages/STORAGE_SIZE.md +``` + +```{include} _pages/LEADZ.md +``` + +```{include} _pages/POPCNT.md +``` + +```{include} _pages/POPPAR.md +``` + +```{include} _pages/TRAILZ.md +``` + +```{include} _pages/DSHIFTL.md +``` + +```{include} _pages/DSHIFTR.md +``` + +```{include} _pages/MERGE_BITS.md +``` + +```{include} _pages/MVBITS.md +``` + + +```{include} _pages/IBITS.md +``` + +```{include} _pages/IBCLR.md +``` + +```{include} _pages/IBSET.md +``` + +```{include} _pages/MASKL.md +``` + +```{include} _pages/MASKR.md +``` + +```{include} _pages/IPARITY.md +``` + +```{include} _pages/IALL.md +``` + +```{include} _pages/IAND.md +``` + +```{include} _pages/IANY.md +``` + +```{include} _pages/IEOR.md +``` + +```{include} _pages/IOR.md +``` + +```{include} _pages/NOT.md +``` + +```{include} _pages/ISHFTC.md +``` + +```{include} _pages/ISHFT.md +``` + +```{include} _pages/SHIFTA.md +``` + +```{include} _pages/SHIFTL.md +``` + +```{include} _pages/SHIFTR.md +``` diff --git a/source/learn/intrinsics/CHARACTER_index.md b/source/learn/intrinsics/CHARACTER_index.md new file mode 100644 index 000000000..6e4d984ef --- /dev/null +++ b/source/learn/intrinsics/CHARACTER_index.md @@ -0,0 +1,55 @@ +# Basic procedures for manipulating _character_ variables + +```{include} _pages/LEN.md +``` + +```{include} _pages/NEW_LINE.md +``` + +```{include} _pages/REPEAT.md +``` + +```{include} _pages/ACHAR.md +``` + +```{include} _pages/CHAR.md +``` + +```{include} _pages/IACHAR.md +``` + +```{include} _pages/ICHAR.md +``` + +```{include} _pages/INDEX.md +``` + +```{include} _pages/SCAN.md +``` + +```{include} _pages/VERIFY.md +``` + +```{include} _pages/LGE.md +``` + +```{include} _pages/LGT.md +``` + +```{include} _pages/LLE.md +``` + +```{include} _pages/LLT.md +``` + +```{include} _pages/ADJUSTL.md +``` + +```{include} _pages/ADJUSTR.md +``` + +```{include} _pages/LEN_TRIM.md +``` + +```{include} _pages/TRIM.md +``` diff --git a/source/learn/intrinsics/COMPILER_index.md b/source/learn/intrinsics/COMPILER_index.md new file mode 100644 index 000000000..cb15b940d --- /dev/null +++ b/source/learn/intrinsics/COMPILER_index.md @@ -0,0 +1,7 @@ +# Information about compiler and compiler options used for building + +```{include} _pages/COMPILER_OPTIONS.md +``` + +```{include} _pages/COMPILER_VERSION.md +``` diff --git a/source/learn/intrinsics/C_index.md b/source/learn/intrinsics/C_index.md new file mode 100644 index 000000000..dc6723473 --- /dev/null +++ b/source/learn/intrinsics/C_index.md @@ -0,0 +1,19 @@ +# Procedures for binding to C interfaces + +```{include} _pages/C_ASSOCIATED.md +``` + +```{include} _pages/C_F_POINTER.md +``` + +```{include} _pages/C_F_PROCPOINTER.md +``` + +```{include} _pages/C_FUNLOC.md +``` + +```{include} _pages/C_LOC.md +``` + +```{include} _pages/C_SIZEOF.md +``` diff --git a/source/learn/intrinsics/GNU_Free_Documentation_License.md b/source/learn/intrinsics/GNU_Free_Documentation_License.md new file mode 100644 index 000000000..c83510cea --- /dev/null +++ b/source/learn/intrinsics/GNU_Free_Documentation_License.md @@ -0,0 +1,397 @@ +# GNU Free Documentation License +*Version 1.2, November 2002* + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +## 0. PREAMBLE ## + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +## 1. APPLICABILITY AND DEFINITIONS ## + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +## 2. VERBATIM COPYING ## + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +## 3. COPYING IN QUANTITY ## + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +## 4. MODIFICATIONS ## + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +* __A__. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +* __B__. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +* __C__. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +* __D__. Preserve all the copyright notices of the Document. +* __E__. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +* __F__. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +* __G__. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +* __H__. Include an unaltered copy of this License. +* __I__. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +* __J__. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +* __K__. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +* __L__. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +* __M__. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +* __N__. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +* __O__. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +## 5. COMBINING DOCUMENTS ## + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +## 6. COLLECTIONS OF DOCUMENTS ## + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +## 7. AGGREGATION WITH INDEPENDENT WORKS ## + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +## 8. TRANSLATION ## + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +## 9. TERMINATION ## + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document 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. + + +## 10. FUTURE REVISIONS OF THIS LICENSE ## + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation 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. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +## ADDENDUM: How to use this License for your documents ## + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + +###### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/MATH_index.md b/source/learn/intrinsics/MATH_index.md new file mode 100644 index 000000000..653c76b7a --- /dev/null +++ b/source/learn/intrinsics/MATH_index.md @@ -0,0 +1,101 @@ +# General mathematical functions + +```{include} _pages/ACOS.md +``` + +```{include} _pages/ACOSH.md +``` + +```{include} _pages/ASIN.md +``` + +```{include} _pages/ASINH.md +``` + +```{include} _pages/ATAN.md +``` + +```{include} _pages/ATAN2.md +``` + +```{include} _pages/ATANH.md +``` + +```{include} _pages/COS.md +``` + +```{include} _pages/COSH.md +``` + +```{include} _pages/SIN.md +``` + +```{include} _pages/SINH.md +``` + +```{include} _pages/TAN.md +``` + +```{include} _pages/TANH.md +``` + +```{include} _pages/RANDOM_NUMBER.md +``` + +```{include} _pages/RANDOM_SEED.md +``` + +```{include} _pages/EXP.md +``` + +```{include} _pages/LOG.md +``` + +```{include} _pages/LOG10.md +``` + +```{include} _pages/SQRT.md +``` + +```{include} _pages/HYPOT.md +``` + +```{include} _pages/BESSEL_J0.md +``` + +```{include} _pages/BESSEL_J1.md +``` + +```{include} _pages/BESSEL_JN.md +``` + +```{include} _pages/BESSEL_Y0.md +``` + +```{include} _pages/BESSEL_Y1.md +``` + +```{include} _pages/BESSEL_YN.md +``` + +```{include} _pages/ERF.md +``` + +```{include} _pages/ERFC.md +``` + +```{include} _pages/ERFC_SCALED.md +``` + +```{include} _pages/GAMMA.md +``` + +```{include} _pages/LOG_GAMMA.md +``` + +```{include} _pages/LOG_GAMMA.md +``` + +```{include} _pages/NORM2.md +``` + diff --git a/source/learn/intrinsics/MODEL_index.md b/source/learn/intrinsics/MODEL_index.md new file mode 100644 index 000000000..38cccd8d8 --- /dev/null +++ b/source/learn/intrinsics/MODEL_index.md @@ -0,0 +1,50 @@ +# Controlling and querying the current numeric model + +```{include} _pages/EXPONENT.md +``` + +```{include} _pages/FRACTION.md +``` + +```{include} _pages/NEAREST.md +``` + +```{include} _pages/RRSPACING.md +``` + +```{include} _pages/SCALE.md +``` + +```{include} _pages/SET_EXPONENT.md +``` + +```{include} _pages/SPACING.md +``` + +```{include} _pages/DIGITS.md +``` + +```{include} _pages/EPSILON.md +``` + +```{include} _pages/HUGE.md +``` + + +```{include} _pages/MAXEXPONENT.md +``` + +```{include} _pages/MINEXPONENT.md +``` + +```{include} _pages/PRECISION.md +``` + +```{include} _pages/RADIX.md +``` + +```{include} _pages/RANGE.md +``` + +```{include} _pages/TINY.md +``` diff --git a/source/learn/intrinsics/NUMERIC_index.md b/source/learn/intrinsics/NUMERIC_index.md new file mode 100644 index 000000000..054e6b7f2 --- /dev/null +++ b/source/learn/intrinsics/NUMERIC_index.md @@ -0,0 +1,58 @@ +# Manipulation and properties of numeric values + +```{include} _pages/ABS.md +``` + +```{include} _pages/AINT.md +``` + +```{include} _pages/ANINT.md +``` + +```{include} _pages/CEILING.md +``` + +```{include} _pages/CONJG.md +``` + +```{include} _pages/DIM.md +``` + +```{include} _pages/DPROD.md +``` + +```{include} _pages/FLOOR.md +``` + +```{include} _pages/MAX.md +``` + +```{include} _pages/MIN.md +``` + +```{include} _pages/MOD.md +``` + +```{include} _pages/MODULO.md +``` + +```{include} _pages/SIGN.md +``` + +```{include} _pages/CSHIFT.md +``` + +```{include} _pages/DOT_PRODUCT.md +``` + +```{include} _pages/EOSHIFT.md +``` + +```{include} _pages/MATMUL.md +``` + +```{include} _pages/PARITY.md +``` + +```{include} _pages/NULL.md +``` diff --git a/source/learn/intrinsics/PARALLEL_index.md b/source/learn/intrinsics/PARALLEL_index.md new file mode 100644 index 000000000..2be81244d --- /dev/null +++ b/source/learn/intrinsics/PARALLEL_index.md @@ -0,0 +1,67 @@ +# Parallel programming using co\_arrays and co\_indexed arrays + +```{include} _pages/CO_BROADCAST.md +``` + +```{include} _pages/CO_LBOUND.md +``` + +```{include} _pages/CO_MAX.md +``` + +```{include} _pages/CO_MIN.md +``` + +```{include} _pages/CO_REDUCE.md +``` + +```{include} _pages/CO_SUM.md +``` + +```{include} _pages/CO_UBOUND.md +``` + +```{include} _pages/EVENT_QUERY.md +``` + +```{include} _pages/IMAGE_INDEX.md +``` + +```{include} _pages/NUM_IMAGES.md +``` + +```{include} _pages/THIS_IMAGE.md +``` + +```{include} _pages/ATOMIC_AND.md +``` + +```{include} _pages/ATOMIC_FETCH_AND.md +``` + +```{include} _pages/ATOMIC_FETCH_OR.md +``` + +```{include} _pages/ATOMIC_FETCH_XOR.md +``` + +```{include} _pages/ATOMIC_OR.md +``` + +```{include} _pages/ATOMIC_XOR.md +``` + +```{include} _pages/ATOMIC_ADD.md +``` + +```{include} _pages/ATOMIC_CAS.md +``` + +```{include} _pages/ATOMIC_DEFINE.md +``` + +```{include} _pages/ATOMIC_FETCH_ADD.md +``` + +```{include} _pages/ATOMIC_REF.md +``` diff --git a/source/learn/intrinsics/STATE_index.md b/source/learn/intrinsics/STATE_index.md new file mode 100644 index 000000000..17bf8eebc --- /dev/null +++ b/source/learn/intrinsics/STATE_index.md @@ -0,0 +1,23 @@ +# General and miscellaneous intrinsics + +```{include} _pages/ASSOCIATED.md +``` + +```{include} _pages/EXTENDS_TYPE_OF.md +``` + +```{include} _pages/IS_IOSTAT_END.md +``` + +```{include} _pages/IS_IOSTAT_EOR.md +``` + +```{include} _pages/MOVE_ALLOC.md +``` + +```{include} _pages/PRESENT.md +``` + +```{include} _pages/SAME_TYPE_AS.md +``` + diff --git a/source/learn/intrinsics/SYSTEM_index.md b/source/learn/intrinsics/SYSTEM_index.md new file mode 100644 index 000000000..687d934d3 --- /dev/null +++ b/source/learn/intrinsics/SYSTEM_index.md @@ -0,0 +1,26 @@ +# Accessing external system information + +```{include} _pages/COMMAND_ARGUMENT_COUNT.md +``` + +```{include} _pages/GET_COMMAND.md +``` + +```{include} _pages/GET_COMMAND_ARGUMENT.md +``` + +```{include} _pages/CPU_TIME.md +``` + +```{include} _pages/DATE_AND_TIME.md +``` + +```{include} _pages/SYSTEM_CLOCK.md +``` + +```{include} _pages/EXECUTE_COMMAND_LINE.md +``` + +```{include} _pages/GET_ENVIRONMENT_VARIABLE.md +``` + diff --git a/source/learn/intrinsics/TRANSFORM_index.md b/source/learn/intrinsics/TRANSFORM_index.md new file mode 100644 index 000000000..2d746b1bb --- /dev/null +++ b/source/learn/intrinsics/TRANSFORM_index.md @@ -0,0 +1,19 @@ +# Matrix multiplication, dot product, and array shifts + +```{include} _pages/CSHIFT.md +``` + +```{include} _pages/DOT_PRODUCT.md +``` + +```{include} _pages/EOSHIFT.md +``` + +```{include} _pages/MATMUL.md +``` + +```{include} _pages/PARITY.md +``` + +```{include} _pages/NULL.md +``` diff --git a/source/learn/intrinsics/TYPE_index.md b/source/learn/intrinsics/TYPE_index.md new file mode 100644 index 000000000..25449afc3 --- /dev/null +++ b/source/learn/intrinsics/TYPE_index.md @@ -0,0 +1,88 @@ +# Types and kinds + +These intrinsics allow for explicitly casting one type of variable to +another or can be used to conditionally execute code blocks based on +variable types when working with polymorphic variables. + +## Fortran Data Types + +Fortran provides five basic intrinsic data types: + + * Integer type + : The integer types can hold only whole number values. + * Real type + : Stores floating point numbers, such as 2.0, 3.1415, -100.876, etc. + * Complex type + : A complex number has two parts, + the real part and the imaginary part. Two consecutive floating + point storage units store the two parts. + * Logical type + : There are only two logical values: .true. and .false. + * Character type + : The character type stores strings. The length of the string + can be specified by the __len__ specifier. If no length is specified, it is 1. + +These "types" can be of many "kinds". Often different numeric kinds +take up different storage sizes and therefore can represent +different ranges; but a different kind can have other meanings. +A _character_ variable might represent ASCII characters or UTF-8 or +Unicode characters, for example. + +You can derive your own data types from these fundamental types as well. + +## Implicit Typing + +Fortran allows a feature called implicit typing, i.e., you do not have +to declare some variables before use. By default if a variable is not declared, +then the first letter of its name will determine its type: + +1. Variable names starting with __i-n__ (the first two letters of + "integer") specify _integer_ variables. + +2. All other variable names default to _real_. + + +However, in most circles it is considered good programming practice to declare all the +variables. For that to be enforced, you start your variable declaration section with +a statement that turns off implicit typing: +the statement +```fortran +implicit none +``` +For more information refer to the __implicit__ statement. + +```{include} _pages/AIMAG.md +``` + +```{include} _pages/CMPLX.md +``` + +```{include} _pages/INT.md +``` + +```{include} _pages/NINT.md +``` + +```{include} _pages/REAL.md +``` + +```{include} _pages/DBLE.md +``` + +```{include} _pages/TRANSFER.md +``` + +```{include} _pages/LOGICAL.md +``` + +```{include} _pages/KIND.md +``` + +```{include} _pages/SELECTED_CHAR_KIND.md +``` + +```{include} _pages/SELECTED_INT_KIND.md +``` + +```{include} _pages/SELECTED_REAL_KIND.md +``` diff --git a/source/learn/intrinsics/_pages/ABS.md b/source/learn/intrinsics/_pages/ABS.md new file mode 100644 index 000000000..560e3ce8f --- /dev/null +++ b/source/learn/intrinsics/_pages/ABS.md @@ -0,0 +1,124 @@ +## abs +### __Name__ + +__abs__(3) - \[NUMERIC\] Absolute value + +### __Syntax__ +```fortran + result = abs(a) + + TYPE(kind=KIND) elemental function abs(a) + + TYPE(kind=KIND),intent(in) :: a +``` +where the TYPE and KIND is determined by the type and type attributes +of __a__, which may be any _real_, _integer_, or _complex_ value. + +If the type of __a__ is _cmplx_ the type returned will be _real_ with +the same kind as the _real_ part of the input value. + +Otherwise the returned type will be the same type as __a__. + +### __Description__ + +__abs(a)__ computes the absolute value of numeric argument __a__. + +In mathematics, the absolute value or modulus of a real number __x__, +denoted __|x|__, is the magnitude of __x__ without regard to its sign. + +The absolute value of a number may be thought of as its distance from +zero, which is the definition used by __abs__(3) when dealing with +_complex_ values (_see below_). + +### __Arguments__ + + - __a__ + : the type of the argument shall be an _integer_, _real_, or _complex_ + scalar or array. + +### __Returns__ + +If __a__ is of type _integer_ or _real_, the value of the result is +__|a|__ and of the same type and kind as the input argument. + +(Take particular note) if __a__ is _complex_ with value __(x, y)__, +the result is a _real_ equal to a processor-dependent approximation to +__sqrt(x\*\*2 + y\*\*2)__ +computed without undue overflow or underflow. + +### __Examples__ + +Sample program: + +```fortran +program demo_abs +implicit none +integer :: i = -1 +real :: x = -1.0 +complex :: z = (-3.0,-4.0) +doubleprecision :: rr = -45.78d+00 +character(len=*),parameter :: & + frmt = '(1x,a15,1x," In: ",g0, T51," Out: ",g0)', & + frmtc = '(1x,a15,1x," In: (",g0,",",g0,")",T51," Out: ",g0)' +integer,parameter :: dp=kind(0.0d0) +integer,parameter :: sp=kind(0.0) + + write(*, frmt) 'integer ', i, abs(i) + write(*, frmt) 'real ', x, abs(x) + write(*, frmt) 'doubleprecision ', rr, abs(rr) + write(*, frmtc) 'complex ', z, abs(z) + ! + ! + write(*, *) + write(*, *) 'abs is elemental: ', abs([20, 0, -1, -3, 100]) + write(*, *) + write(*, *) 'abs range test : ', abs(huge(0)), abs(-huge(0)) + write(*, *) 'abs range test : ', abs(huge(0.0)), abs(-huge(0.0)) + write(*, *) 'abs range test : ', abs(tiny(0.0)), abs(-tiny(0.0)) + + write(*, *) 'returned real kind:', cmplx(30.0_dp,40.0_dp,kind=dp), & + kind(cmplx(30.0_dp,40.0_dp,kind=dp)) + write(*, *) 'returned real kind:', cmplx(30.0_dp,40.0_dp),& + kind(cmplx(30.0_dp,40.0_dp)) + write(*, *) 'returned real kind:', cmplx(30.0_sp,40.0_sp),& + kind(cmplx(30.0_sp,40.0_sp)) + + write(*, *) + write(*, *) 'distance of from zero is', & + & distance(30.0_dp,40.0_dp) + + contains + + real(kind=dp) elemental function distance(x,y) + real(kind=dp),intent(in) :: x,y + ! dusty corners: + ! note that KIND=DP is NOT optional + ! if the desired result is KIND=dp. + ! See cmplx(3). + distance=abs( cmplx(x,y,kind=dp) ) + end function distance +end program demo_abs +``` + Results: +```text + integer In: -1 Out: 1 + real In: -1.00000000 Out: 1.00000000 + doubleprecision In: -45.780000000000001 Out: 45.780000000000001 + complex In: (-3.00000000,-4.00000000) Out: 5.00000000 + + abs is elemental: 20 0 1 3 100 + + abs range test : 2147483647 2147483647 + abs range test : 3.40282347E+38 3.40282347E+38 + abs range test : 1.17549435E-38 1.17549435E-38 + returned real kind: (30.000000000000000,40.000000000000000) 8 + returned real kind: (30.0000000,40.0000000) 4 + returned real kind: (30.0000000,40.0000000) 4 + + distance of from zero is 50.000000000000000 +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ACHAR.md b/source/learn/intrinsics/_pages/ACHAR.md new file mode 100644 index 000000000..bcb6bd8fa --- /dev/null +++ b/source/learn/intrinsics/_pages/ACHAR.md @@ -0,0 +1,164 @@ +## achar +### __Name__ + +__achar__(3) - \[CHARACTER:CONVERSION\] returns a character in a specified position in the ASCII collating sequence + +### __Syntax__ +```fortran + result = achar(i,kind=KIND) + + character(len=1) elemental function :: achar(i,kind=KIND) + + integer(kind=KIND),intent(in) :: i + integer(kind=KIND),intent(in),optional :: kind +``` +where KIND may be any supported kind value for _integer_ types. + +### __Description__ + +__achar(i)__ returns the character located at position __i__ (commonly called the +_ADE_ or ASCII Decimal Equivalent) in the ASCII collating sequence. + +The __achar__(3) function is often used for generating in-band escape +sequences to control terminal attributes. +```fortran + write(*,'(*(a))')achar(27),'[2J' +``` +will clear the screen on an ANSI-compatible terminal display, for +example. + +### __Arguments__ + + - __i__ + : the _integer_ value to convert to an ASCII character, in the range + 0 to 127. + + - __kind__ + : (optional) an _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is the requested character of type _character_ with a +length of one. If the __kind__ argument is present, the return value is of +the specified kind and of the default kind otherwise. + +### __Examples__ + +```fortran +program demo_achar +use,intrinsic::iso_fortran_env,only:int8,int16,int32,int64 +implicit none +integer :: i + i=65 + write(*,'("decimal =",i0)')i + write(*,'("character =",a1)')achar(i) + write(*,'("binary =",b0)')achar(i) + write(*,'("octal =",o0)')achar(i) + write(*,'("hexadecimal =",z0)')achar(i) + + write(*,'(8(i3,1x,a,1x),/)')(i,achar(i), i=32,126) + + write(*,'(a)')upper('Mixed Case') +contains +! a classic use of achar(3) is to convert the case of a string + +elemental pure function upper(str) result (string) +! +!$@(#) upper(3f): function to return a trimmed uppercase-only string +! +! input string to convert to all uppercase +character(*), intent(in) :: str +! output string that contains no miniscule letters +character(len(str)) :: string +integer :: i, iend +integer,parameter :: toupper = iachar('A')-iachar('a') + iend=len_trim(str) + ! initialize output string to trimmed input string + string = str(:iend) + ! process each letter in the string + do concurrent (i = 1:iend) + select case (str(i:i)) + ! located miniscule letter + case ('a':'z') + ! change miniscule to majuscule letter + string(i:i) = achar(iachar(str(i:i))+toupper) + end select + enddo +end function upper +end program demo_achar +``` +Results: +``` + decimal =65 + character =A + binary =1000001 + octal =101 + hexadecimal =41 + 32 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' + + 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / + + 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 + + 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? + + 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G + + 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O + + 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W + + 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ + + 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g + + 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o + + 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w + + 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ + MIXED CASE +``` +### __Note__ + +The ADEs (ASCII Decimal Equivalents) for ASCII are + +``` +*-------*-------*-------*-------*-------*-------*-------*-------* +| 00 nul| 01 soh| 02 stx| 03 etx| 04 eot| 05 enq| 06 ack| 07 bel| +| 08 bs | 09 ht | 10 nl | 11 vt | 12 np | 13 cr | 14 so | 15 si | +| 16 dle| 17 dc1| 18 dc2| 19 dc3| 20 dc4| 21 nak| 22 syn| 23 etb| +| 24 can| 25 em | 26 sub| 27 esc| 28 fs | 29 gs | 30 rs | 31 us | +| 32 sp | 33 ! | 34 " | 35 # | 36 $ | 37 % | 38 & | 39 ' | +| 40 ( | 41 ) | 42 * | 43 + | 44 , | 45 - | 46 . | 47 / | +| 48 0 | 49 1 | 50 2 | 51 3 | 52 4 | 53 5 | 54 6 | 55 7 | +| 56 8 | 57 9 | 58 : | 59 ; | 60 < | 61 = | 62 > | 63 ? | +| 64 @ | 65 A | 66 B | 67 C | 68 D | 69 E | 70 F | 71 G | +| 72 H | 73 I | 74 J | 75 K | 76 L | 77 M | 78 N | 79 O | +| 80 P | 81 Q | 82 R | 83 S | 84 T | 85 U | 86 V | 87 W | +| 88 X | 89 Y | 90 Z | 91 [ | 92 \ | 93 ] | 94 ^ | 95 _ | +| 96 ` | 97 a | 98 b | 99 c |100 d |101 e |102 f |103 g | +|104 h |105 i |106 j |107 k |108 l |109 m |110 n |111 o | +|112 p |113 q |114 r |115 s |116 t |117 u |118 v |119 w | +|120 x |121 y |122 z |123 { |124 | |125 } |126 ~ |127 del| +*-------*-------*-------*-------*-------*-------*-------*-------* +``` + +### __Standard__ + +FORTRAN 77 and later, with KIND argument Fortran 2003 and later + +### __See Also__ + +[__char__(3)](CHAR), +[__iachar__(3)](IACHAR), +[__ichar__(3)](ICHAR) + +### __Resources__ + +- [ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code) +- [M_attr module](https://github.com/urbanjost/M_attr) for controlling ANSI-compatible terminals + + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ACOS.md b/source/learn/intrinsics/_pages/ACOS.md new file mode 100644 index 000000000..92fcabf98 --- /dev/null +++ b/source/learn/intrinsics/_pages/ACOS.md @@ -0,0 +1,67 @@ +## acos +### __Name__ +__acos__(3) - \[MATHEMATICS:TRIGONOMETRIC\] arccosine (inverse cosine) function + +### __Syntax__ +```fortran + result = acos(x) + + TYPE(kind=KIND),elemental :: acos + + TYPE(kind=KIND,intent(in) :: x +``` +where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any __KIND__ supported +by the associated type. + +### __Description__ + +__acos(x)__ computes the arccosine of __x__ (inverse of __cos(x)__). + +### __Arguments__ + + - __x__ + : Must be type _real_ or _complex_. If the type is _real_, the value + must satisfy |__x__| <= 1. + +### __Returns__ + +The return value is of the same type and kind as __x__. The _real_ part of +the result is in radians and lies in the range __0 \<= acos(x%re) \<= PI__ . + +### __Examples__ +Sample program: +```fortran +program demo_acos +use, intrinsic :: iso_fortran_env, only : real_kinds,real32,real64,real128 +implicit none +character(len=*),parameter :: all='(*(g0,1x))' +real(kind=real64) :: x = 0.866_real64 +real(kind=real64),parameter :: d2r=acos(-1.0_real64)/180.0_real64 + + print all,'acos(',x,') is ', acos(x) + print all,'90 degrees is ', d2r*90.0_real64, ' radians' + print all,'180 degrees is ', d2r*180.0_real64, ' radians' + print all,'for reference & + &PI ~ 3.14159265358979323846264338327950288419716939937510' + print all,'elemental',acos([-1.0,-0.5,0.0,0.50,1.0]) + +end program demo_acos +``` + Results: +```text + acos( .8660000000000000 ) is .5236495809318289 + 90 degrees is 1.570796326794897 radians + 180 degrees is 3.141592653589793 radians + for reference PI ~ 3.14159265358979323846264338327950288419716939937510 + elemental 3.141593 2.094395 1.570796 1.047198 .000000 +``` +### __Standard__ +FORTRAN 77 and later; for a _complex_ argument - Fortran 2008 and later + +### __See Also__ + + - [wikipedia: inverse trigonometric functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions) + +Inverse function: [__cos__(3](COS)) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ACOSH.md b/source/learn/intrinsics/_pages/ACOSH.md new file mode 100644 index 000000000..6c918696d --- /dev/null +++ b/source/learn/intrinsics/_pages/ACOSH.md @@ -0,0 +1,61 @@ +## acosh +### __Name__ + +__acosh__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Inverse hyperbolic cosine function + +### __Syntax__ +```fortran + result = acosh(x) + + TYPE(kind=KIND),elemental :: acosh + + TYPE(kind=KIND,intent(in) :: x +``` +where TYPE may be _real_ or _complex_ and KIND may be any KIND supported +by the associated type. + +### __Description__ + +__acosh(x)__ computes the inverse hyperbolic cosine of __x__ in radians. + +### __Arguments__ + + - __x__ + : the type shall be _real_ or _complex_. + +### __Returns__ + +The return value has the same type and kind as __x__. + +If __x__ is _complex_, the imaginary part of the result is in radians and +lies between + +> __0 \<= aimag(acosh(x)) \<= PI__ + +### __Examples__ + +Sample program: + +```fortran +program demo_acosh +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=dp), dimension(3) :: x = [ 1.0d0, 2.0d0, 3.0d0 ] + write (*,*) acosh(x) +end program demo_acosh +``` + Results: +```text + 0.000000000000000E+000 1.31695789692482 1.76274717403909 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ +- [Wikipedia:hyperbolic functions](https://en.wikipedia.org/wiki/Hyperbolic_functions) + +Inverse function: [__cosh__(3)](COSH) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ADJUSTL.md b/source/learn/intrinsics/_pages/ADJUSTL.md new file mode 100644 index 000000000..8cf52630d --- /dev/null +++ b/source/learn/intrinsics/_pages/ADJUSTL.md @@ -0,0 +1,65 @@ +## adjustl +### __Name__ + +__adjustl__(3) - \[CHARACTER:WHITESPACE\] Left-adjust a string + +### __Syntax__ +```fortran + result = adjustl(string) + + character(len=(len(string)) elemental function adjustr(a) + + character(len=*),intent(in) :: string +``` +### __Description__ + +__adjustl(string)__ will left-adjust a string by removing leading +spaces. Spaces are inserted at the end of the string as needed. + +### __Arguments__ + + - __string__ + : the type shall be _character_. + +### __Returns__ + +The return value is of type _character_ and of the same kind as __string__ +where leading spaces are removed and the same number of spaces are +inserted on the end of __string__. + +### __Examples__ + +Sample program: + +```fortran +program demo_adjustl +implicit none +character(len=20) :: str = ' sample string' +character(len=:),allocatable :: astr + ! + ! basic use + str = adjustl(str) + write(*,'("[",a,"]")') str, trim(str) + ! + ! an allocatable string stays the same length + ! and is not trimmed. + astr=' allocatable string ' + write(*,'("[",a,"]")') adjustl(astr) + ! +end program demo_adjustl +``` +Results: +```text + [sample string ] + [sample string] + [allocatable string ] +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__adjustr__(3)](ADJUSTR) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ADJUSTR.md b/source/learn/intrinsics/_pages/ADJUSTR.md new file mode 100644 index 000000000..ff518aaa2 --- /dev/null +++ b/source/learn/intrinsics/_pages/ADJUSTR.md @@ -0,0 +1,78 @@ +## adjustr +### __Name__ + +__adjustr__(3) - \[CHARACTER:WHITESPACE\] Right-adjust a string + +### __Syntax__ +```fortran + result = adjustr(string) + + elemental function adjustr(a) + character(len=(len(string)) :: adjustr + character(len=*),intent(in) :: string +``` +### __Description__ + +__adjustr(string)__ right-adjusts a string by removing trailing +spaces. Spaces are inserted at the start of the string as needed to +retain the original length. + +### __Arguments__ + + - __string__ + : the type shall be _character_. + +### __Returns__ + +The return value is of type _character_ and of the same kind as __string__ +where trailing spaces are removed and the same number of spaces are +inserted at the start of __string__. + +### __Examples__ + +Sample program: + +```fortran +program demo_adjustr +implicit none +integer :: right +character(len=20) :: str = ' sample string ' +character(len=:),allocatable :: str2 + ! print a short number line + write(*,'(a)')repeat('1234567890',5) + + ! + ! basic usage + ! + str = adjustr(str) + write(*,'(a)') str + + ! + ! elemental + ! + write(*,'(a)')adjustr([character(len=50) :: & + ' first ', & + ' second ', & + ' third ' ]) + + write(*,'(a)')repeat('1234567890',5) +end program demo_adjustr +``` +Results: +```text + 12345678901234567890123456789012345678901234567890 + sample string + first + second + third + 12345678901234567890123456789012345678901234567890 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__adjustl__(3)](ADJUSTL) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/AIMAG.md b/source/learn/intrinsics/_pages/AIMAG.md new file mode 100644 index 000000000..56abdf8ec --- /dev/null +++ b/source/learn/intrinsics/_pages/AIMAG.md @@ -0,0 +1,63 @@ +## aimag +### __Name__ + +__aimag__(3) - \[TYPE:NUMERIC\] Imaginary part of complex number + + +### __Syntax__ +```fortran + result = aimag(z) + + complex(kind=KIND),elemental :: aimag + + complex(kind=KIND),intent(in) :: z +``` +### __Description__ + +__aimag(z)__ yields the imaginary part of complex argument __z__. + +### __Arguments__ + + - __z__ + : The type of the argument shall be _complex_. + +### __Returns__ + +The return value is of type _real_ with the kind type parameter of the +argument. + +### __Examples__ + +Sample program: + +```fortran +program demo_aimag +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +complex(kind=real32) z4 +complex(kind=real64) z8 + z4 = cmplx(1.e0, 2.e0) + z8 = cmplx(3.e0_real64, 4.e0_real64,kind=real64) + print *, aimag(z4), aimag(z8) + ! an elemental function can be passed an array + print * + print *, [z4,z4/2.0,z4+z4,z4**3] + print * + print *, aimag([z4,z4/2.0,z4+z4,z4**3]) +end program demo_aimag +``` +Results: +```text + 2.000000 4.00000000000000 + + (1.000000,2.000000) (0.5000000,1.000000) (2.000000,4.000000) + (-11.00000,-2.000000) + + 2.000000 1.000000 4.000000 -2.000000 +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/AINT.md b/source/learn/intrinsics/_pages/AINT.md new file mode 100644 index 000000000..9abe1ff02 --- /dev/null +++ b/source/learn/intrinsics/_pages/AINT.md @@ -0,0 +1,91 @@ +## aint +### __Name__ + +__aint__(3) - \[NUMERIC\] Truncate to a whole number + + +### __Syntax__ +```fortran +result = aint(x) + + real(kind=kind(x)),elemental :: aint + + real(kind=kind(x)),intent(in) :: x +``` +or +```fortran +result = aint(x, KIND) + + real(kind=KIND),elemental :: aint + + integer,intent(in),optional :: KIND + real(kind=kind(x)),intent(in) :: x +``` +### __Description__ + +__aint(x, kind)__ truncates its argument to a whole number. + +### __Arguments__ + + - __x__ + : the type of the argument shall be _real_. + + - __kind__ + : (optional) an _integer_ initialization expression indicating the + kind parameter of the result. + +### __Returns__ + +The return value is of type _real_ with the kind type parameter of +the argument if the optional __kind__ is absent; otherwise, the kind +type parameter will be given by __kind__. If the magnitude of __x__ +is less than one, __aint(x)__ returns zero. If the magnitude is equal +to or greater than one then it returns the largest whole number that +does not exceed its magnitude. The sign is the same as the sign of __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_aint +use, intrinsic :: iso_fortran_env, only : real32, real64 +implicit none +real(kind=real32) :: x4 +real(kind=real64) :: x8 + + x4 = 4.3210_real32 + x8 = 4.3210_real64 + print *, aint(x4), aint(x8) + print * + ! elemental + print *,aint([ & + & -2.7, -2.5, -2.2, -2.0, -1.5, -1.0, -0.5, & + & 0.0, & + & +0.5, +1.0, +1.5, +2.0, +2.2, +2.5, +2.7 ]) + +end program demo_aint +``` + Results: +```text + 4.00000000 4.0000000000000000 + + -2.00000000 -2.00000000 -2.00000000 -2.00000000 + -1.00000000 -1.00000000 -0.00000000 0.00000000 + 0.00000000 1.00000000 1.00000000 2.00000000 + 2.00000000 2.00000000 2.00000000 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__anint__(3)](ANINT), +[__int__(3)](INT), +[__nint__(3)](NINT), +[__selected_int_kind__(3)](SELECTED_INT_KIND), +[__ceiling__(3)](CEILING), +[__floor__(3)](FLOOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ALL.md b/source/learn/intrinsics/_pages/ALL.md new file mode 100644 index 000000000..296e60899 --- /dev/null +++ b/source/learn/intrinsics/_pages/ALL.md @@ -0,0 +1,127 @@ +## all +### __Name__ + +__all__(3) - \[ARRAY REDUCTION\] determines if all the values are true + + +### __Syntax__ +```fortran +result = all(mask, dim) +``` +### __Description__ + +Logical conjunction of elements of __mask__ along dimension __dim__. + +"__all(mask, dim)__" determines if all the values are true in __mask__ +in the array along dimension __dim__. + +### __Arguments__ + + - __mask__ + : shall be a logical array. That is, the type of the argument shall be + _logical_ and it shall not be scalar. + + - __dim__ + : (optional) __dim__ shall be a scalar integer with a value that lies + between one and the rank of __mask__. The corresponding actual argument + shall not be an optional dummy argument. + +### __Returns__ + +"__all(mask)__" returns a scalar value of type _logical_ where the kind +type parameter is the same as the kind type parameter of __mask__. If +__dim__ is present, then __all(mask, dim)__ returns an array with the rank +of __mask__ minus 1. The shape is determined from the shape of __mask__ +where the __dim__ dimension is elided. + + 1. __all(mask)__ is true if all elements of __mask__ are true. It also is + true if __mask__ has zero size; otherwise, it is false. + + 2. If the rank of __mask__ is one, then __all(mask, dim)__ is equivalent + to __all(mask)__. If the rank is greater than one, then __all(mask, + dim)__ is determined by applying __all()__ to the array sections. + + 3. Result Characteristics. The result is of type _logical_ with the + same kind type parameter as __mask__. It is scalar if __dim__ + is absent or __n = 1__; otherwise, the result has rank __n - 1__ + and shape __\[d1 , d2 , . . . , dDIM-1 , dDIM+1 , . . . , dn \]__ + where __\[d1 , d2 , . . . , dn \]__ is the shape of __mask__. + + 4. Result Value. + + Case (i): + : The result of __all(mask)__ has the value true if all + elements of __mask__ are true or if __mask__ has + size zero, and the result has value false if any element + of __mask__ is false. + + Case (ii): + : If __mask__ has rank one, __all(mask,dim)__ is equal to + __all(mask)__. Otherwise, the value of element __(s1 , s2 , + . . . , sdim-1 , sdim+1 , . . . , sn )__ of all __(mask, + dim)__ is equal to __all(mask (s1 , s2 , . . . , sdim-1 , + :, sdim+1 , . . . , sn ))__. + +### __Examples__ + +Sample program: + +```fortran +program demo_all +implicit none +logical l + l = all([.true., .true., .true.]) + print *, l + call section + +contains + +subroutine section +integer a(2,3), b(2,3) + a = 1 + b = 1 + b(2,2) = 2 + print *, all(a .eq. b, 1) + print *, all(a .eq. b, 2) +end subroutine section +end program demo_all +``` +Results: +```text + T + T F T + T F +``` +Case (i): + +```text + The value of all([.TRUE., .FALSE., .TRUE.]) is false. +``` + +Case (ii): + +```text + 1|3|5 + If B is the array -+-+- + 2|4|6 + + 0|3|5 + and C is the array -+-+- + 7|4|8 + + then all(B /= C, DIM = 1) is + + [true, false, false] +``` + +and __all(B /= C, DIM = 2)__ is + +``` + [false, false]. +``` + +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ALLOCATED.md b/source/learn/intrinsics/_pages/ALLOCATED.md new file mode 100644 index 000000000..7cd2f01ba --- /dev/null +++ b/source/learn/intrinsics/_pages/ALLOCATED.md @@ -0,0 +1,86 @@ +## allocated +### __Name__ + +__allocated__(3) - \[ARRAY INQUIRY\] Status of an allocatable entity + + +### __Syntax__ +```fortran + result = allocated(array) +``` + or +```fortran + result = allocated(scalar) +``` +### __Description__ + +__allocated(array)__ and __allocated(scalar)__ check the allocation +status of __array__ and __scalar__, respectively. + +### __Arguments__ + + - __array__ + : the argument shall be an _allocatable_ array. + + - __scalar__ + : the argument shall be an _allocatable_ scalar. + +### __Returns__ + +The return value is a scalar _logical_ with the default logical kind type +parameter. If the argument is allocated then the result is .true.; +otherwise, it returns .false.. + +### __Examples__ + +Sample program: + +```fortran +program demo_allocated +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +integer :: i = 4 +real(kind=sp), allocatable :: x(:) + + ! if already allocated, deallocate + if ( allocated(x) ) deallocate(x) + + ! only if not allocated, allocate + if ( .not. allocated(x) ) allocate(x(i)) + + write(*,*)allocated(x), size(x) + if( allocated(x)) then + write(*,*)'do things if allocated' + else + write(*,*)'do things if not allocated' + endif + call intentout(x) + write(*,*)'note it is deallocated!',allocated(x) + contains + subroutine intentout(arr) + ! note that if arr has intent(out) and is allocatable, + ! arr is deallocated on entry + real(kind=sp),intent(out),allocatable :: arr(:) + write(*,*)'note it was allocated in calling program',allocated(arr) + end subroutine intentout + +end program demo_allocated +``` + Results: +```text + T 4 + do things if allocated + note it was allocated in calling program F + note it is deallocated! F +``` + +### __Standard__ + +Fortran 95 and later. Note, the scalar= keyword and allocatable +scalar entities are available in Fortran 2003 and later. + +### __See Also__ + +[__move\_alloc__(3)](MOVE_ALLOC) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ANINT.md b/source/learn/intrinsics/_pages/ANINT.md new file mode 100644 index 000000000..b3e4509a0 --- /dev/null +++ b/source/learn/intrinsics/_pages/ANINT.md @@ -0,0 +1,81 @@ +## anint +### __Name__ + +__anint__(3) - \[NUMERIC\] Nearest whole number + + +### __Syntax__ +```fortran +result = anint(a, kind) +``` +### __Description__ + +__anint(a \[, kind\])__ rounds its argument to the nearest whole number. + +### __Arguments__ + + - __a__ + : the type of the argument shall be _real_. + + - __kind__ + : (optional) an _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type real with the kind type parameter of the +argument if the optional __kind__ is absent; otherwise, the kind type +parameter will be given by __kind__. If __a__ is greater than zero, __anint(a)__ +returns __aint(a + 0.5)__. If __a__ is less than or equal to zero then it +returns __aint(a - 0.5)__. + +### __Examples__ + +Sample program: + +```fortran +program demo_anint +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none +real(kind=real32) :: x4 +real(kind=real64) :: x8 + + x4 = 1.234E0_real32 + x8 = 4.321_real64 + print *, anint(x4), dnint(x8) + x8 = anint(x4,kind=real64) + print *, x8 + print * + ! elemental + print *,anint([ & + & -2.7, -2.5, -2.2, -2.0, -1.5, -1.0, -0.5, & + & 0.0, & + & +0.5, +1.0, +1.5, +2.0, +2.2, +2.5, +2.7 ]) + +end program demo_anint +``` + Results: +```text + 1.00000000 4.0000000000000000 + 1.0000000000000000 + + -3.00000000 -3.00000000 -2.00000000 -2.00000000 + -2.00000000 -1.00000000 -1.00000000 0.00000000 + 1.00000000 1.00000000 2.00000000 2.00000000 + 2.00000000 3.00000000 3.00000000 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__aint__(3)](AINT), +[__int__(3)](INT), +[__nint__(3)](NINT), +[__selected_int_kind__(3)](SELECTED_INT_KIND), +[__ceiling__(3)](CEILING), +[__floor__(3)](FLOOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ANY.md b/source/learn/intrinsics/_pages/ANY.md new file mode 100644 index 000000000..467c92a44 --- /dev/null +++ b/source/learn/intrinsics/_pages/ANY.md @@ -0,0 +1,72 @@ +## any +### __Name__ + +__any__(3) - \[ARRAY REDUCTION\] determines if any of the values in the logical array are true. + + +### __Syntax__ +```fortran +result = any(mask, dim) +``` +### __Description__ + +__any(mask, dim)__ determines if any of the values in the logical +array __mask__ along dimension __dim__ are __.true.__. + +### __Arguments__ + + - __mask__ + : the type of the argument shall be _logical_ and it shall not be + scalar. + + - __dim__ + : (optional) dim shall be a scalar integer with a value that lies + between one and the rank of mask. + +### __Returns__ + +__any(mask)__ returns a scalar value of type _logical_ where the kind type +parameter is the same as the kind type parameter of __mask__. If __dim__ is +present, then __any(mask, dim)__ returns an array with the rank of __mask__ +minus 1. The shape is determined from the shape of __mask__ where the __dim__ +dimension is elided. + +1. __any(mask)__ is true if any element of __mask__ is true; otherwise, it + is __.false.__. It also is false if __mask__ has zero size. + +2. If the rank of __mask__ is one, then __any(mask, dim)__ is equivalent to + __any(mask)__. If the rank is greater than one, then __any(mask, + dim)__ is determined by applying __any()__ to the array sections. + +### __Examples__ + +Sample program: +```fortran +program demo_any +implicit none +logical l + l = any([.true., .true., .true.]) + print *, l + call section + contains + subroutine section + integer a(2,3), b(2,3) + a = 1 + b = 1 + b(2,2) = 2 + print *, any(a .eq. b, 1) + print *, any(a .eq. b, 2) + end subroutine section +end program demo_any +``` + Results: +```text + T + T T T + T T +``` +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ASIN.md b/source/learn/intrinsics/_pages/ASIN.md new file mode 100644 index 000000000..afda0d42d --- /dev/null +++ b/source/learn/intrinsics/_pages/ASIN.md @@ -0,0 +1,97 @@ +## asin +### __Name__ + +__asin__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Arcsine function + +### __Syntax__ +```fortran +result = asin(x) + + elemental TYPE(kind=KIND) function asin(x) + TYPE(kind=KIND) :: x +``` +where the returned value has the kind of the input value +and TYPE may be _real_ or _complex_ + +### __Description__ + +__asin(x)__ computes the arcsine of its argument __x__. + +The arcsine is the inverse function of the sine function. It is commonly +used in trigonometry when trying to find the angle when the lengths of +the hypotenuse and the opposite side of a right triangle are known. + +### __Arguments__ + + - __x__ + : The type shall be either _real_ and a magnitude that is less than or + equal to one; or be _complex_. + +### __Returns__ + + - __result__ + : The return value is of the same type and kind as __x__. The real part of + the result is in radians and lies in the range __-PI/2 \<= + asin(x) \<= PI/2__. + +### __Examples__ + +The arcsine will allow you to find the measure of a right angle when you +know the ratio of the side opposite the angle to the hypotenuse. + +So if you knew that a train track rose 1.25 vertical miles on a track +that was 50 miles long, you could determine the average angle of incline +of the track using the arcsine. Given + + sin(theta) = 1.25 miles/50 miles (opposite/hypotenuse) + +```fortran +program demo_asin +use, intrinsic :: iso_fortran_env, only : dp=>real64 +implicit none +! value to convert degrees to radians +real(kind=dp),parameter :: D2R=acos(-1.0_dp)/180.0_dp +real(kind=dp) :: angle, rise, run +character(len=*),parameter :: all='(*(g0,1x))' + ! given sine(theta) = 1.25 miles/50 miles (opposite/hypotenuse) + ! then taking the arcsine of both sides of the equality yields + ! theta = arcsine(1.25 miles/50 miles) ie. arcsine(opposite/hypotenuse) + rise=1.250_dp + run=50.00_dp + angle = asin(rise/run) + print all, 'angle of incline(radians) = ', angle + angle = angle/D2R + print all, 'angle of incline(degrees) = ', angle + + print all, 'percent grade=',rise/run*100.0_dp +end program demo_asin +``` + +Results: +``` + angle of incline(radians) = 2.5002604899361139E-002 + angle of incline(degrees) = 1.4325437375665075 + percent grade= 2.5000000000000000 +``` +The percentage grade is the slope, written as a percent. To calculate +the slope you divide the rise by the run. In the example the rise is +1.25 mile over a run of 50 miles so the slope is 1.25/50 = 0.025. +Written as a percent this is 2.5 %. + +For the US, two and 1/2 percent is generally thought of as the upper +limit. This means a rise of 2.5 feet when going 100 feet forward. In +the US this was the maximum grade on the first major US railroad, the +Baltimore and Ohio. Note curves increase the frictional drag on a +train reducing the allowable grade. + +### __Standard__ + +FORTRAN 77 and later, for a complex argument Fortran 2008 or later + +### __See Also__ + + - [wikipedia: inverse trigonometric functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions) + +Inverse function: [__sin__(3)](SIN) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ASINH.md b/source/learn/intrinsics/_pages/ASINH.md new file mode 100644 index 000000000..cfab8491f --- /dev/null +++ b/source/learn/intrinsics/_pages/ASINH.md @@ -0,0 +1,60 @@ +## asinh +### __Name__ + +__asinh__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Inverse hyperbolic sine function + + +### __Syntax__ +```fortran +result = asinh(x) + + elemental TYPE(kind=KIND) function asinh(x) + TYPE(kind=KIND) :: x +``` +Where the returned value has the kind of the input value +and TYPE may be _real_ or _complex_ + +### __Description__ + +__asinh(x)__ computes the inverse hyperbolic sine of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value is of the same type and kind as __x__. If __x__ is _complex_, the +imaginary part of the result is in radians and lies between +__-PI/2 \<= aimag(asinh(x)) \<= PI/2__. + +### __Examples__ + +Sample program: + +```fortran +program demo_asinh +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=dp), dimension(3) :: x = [ -1.0d0, 0.0d0, 1.0d0 ] + + write (*,*) asinh(x) + +end program demo_asinh +``` + Results: +```text + -0.88137358701954305 0.0000000000000000 0.88137358701954305 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ +- [Wikipedia:hyperbolic functions](https://en.wikipedia.org/wiki/Hyperbolic_functions) + +Inverse function: [__sinh__(3)](SINH) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ASSOCIATED.md b/source/learn/intrinsics/_pages/ASSOCIATED.md new file mode 100644 index 000000000..85296cf45 --- /dev/null +++ b/source/learn/intrinsics/_pages/ASSOCIATED.md @@ -0,0 +1,87 @@ +## associated +### __Name__ + +__associated__(3) - \[STATE\] Status of a pointer or pointer/target pair + + +### __Syntax__ +```fortran +result = associated(pointer, target) +``` +### __Description__ + +__associated(pointer \[, target\])__ determines the status of the +pointer __pointer__ or if __pointer__ is associated with the target __target__. + +### __Arguments__ + + - __pointer__ + : __pointer__ shall have the _pointer_ attribute and it can be of any type. + + - __target__ + : (Optional) __target__ shall be a pointer or a target. It must have the + same type, kind type parameter, and array rank as __pointer__. + +The association status of neither __pointer__ nor __target__ shall be undefined. + +### __Returns__ + +__associated(pointer)__ returns a scalar value of type _logical_. +There are several cases: + +1. When the optional __target__ is not present then __associated(pointer)__ + is true if __pointer__ is associated with a target; otherwise, it + returns false. + +2. If __target__ is present and a scalar target, the result is true if + __target__ is not a zero-sized storage sequence and the target + associated with __pointer__ occupies the same storage units. If __pointer__ + is disassociated, the result is false. + +3. If __target__ is present and an array target, the result is true if + __target__ and __pointer__ have the same shape, are not zero-sized arrays, + are arrays whose elements are not zero-sized storage sequences, and + __target__ and __pointer__ occupy the same storage units in array element + order. + + As in case 2, the result is false, if __pointer__ is disassociated. + +4. If __target__ is present and an scalar pointer, the result is true if + __target__ is associated with __pointer__, the target associated with __target__ + are not zero-sized storage sequences and occupy the same storage + units. + + The result is __.false.__, if either __target__ or __pointer__ is disassociated. + +5. If __target__ is present and an array pointer, the result is true if + target associated with __pointer__ and the target associated with __target__ + have the same shape, are not zero-sized arrays, are arrays whose + elements are not zero-sized storage sequences, and __target__ and + __pointer__ occupy the same storage units in array element order. The + result is false, if either __target__ or __pointer__ is disassociated. + +### __Examples__ + +Sample program: + +```fortran +program demo_associated +implicit none +real, target :: tgt(2) = [1., 2.] +real, pointer :: ptr(:) + ptr => tgt + if (associated(ptr) .eqv. .false.) & + & stop 'POINTER NOT ASSOCIATED' + if (associated(ptr,tgt) .eqv. .false.) & + & stop 'POINTER NOT ASSOCIATED TO TARGET' +end program demo_associated +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__null__(3)](NULL) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATAN.md b/source/learn/intrinsics/_pages/ATAN.md new file mode 100644 index 000000000..b0d093ed1 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATAN.md @@ -0,0 +1,81 @@ +## atan +### __Name__ + +__atan__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Arctangent function + +### __Syntax__ +```fortran + - result = __atan(y, x)__ + + TYPE(kind=KIND):: atan + TYPE(kind=KIND,intent(in) :: x + TYPE(kind=KIND,intent(in),optional :: y +``` +where __TYPE__ may be _real_ or _complex_ and __KIND__ may be any __KIND__ supported +by the associated type. If __y__ is present __x__ is _real`. + +### __Description__ + +__atan(x)__ computes the arctangent of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_; if __y__ is present, __x__ + shall be _real_. + + - __y__ + : Shall be of the same type and kind as __x__. If __x__ is zero, __y__ + must not be zero. + +### __Returns__ + +The returned value is of the same type and kind as __x__. If __y__ is +present, the result is identical to __atan2(y,x)__. Otherwise, it is the +arc tangent of __x__, where the real part of the result is in radians +and lies in the range +__-PI/2 \<= atan(x) \<= PI/2__ + +### __Examples__ + +Sample program: + +```fortran +program demo_atan +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +character(len=*),parameter :: all='(*(g0,1x))' +real(kind=real64),parameter :: & + Deg_Per_Rad = 57.2957795130823208767981548_real64 +real(kind=real64) :: x + x=2.866_real64 + print all, atan(x) + + print all, atan( 2.0d0, 2.0d0),atan( 2.0d0, 2.0d0)*Deg_Per_Rad + print all, atan( 2.0d0,-2.0d0),atan( 2.0d0,-2.0d0)*Deg_Per_Rad + print all, atan(-2.0d0, 2.0d0),atan(-2.0d0, 2.0d0)*Deg_Per_Rad + print all, atan(-2.0d0,-2.0d0),atan(-2.0d0,-2.0d0)*Deg_Per_Rad + +end program demo_atan +``` + Results: +```text + 1.235085437457879 + .7853981633974483 45.00000000000000 + 2.356194490192345 135.0000000000000 + -.7853981633974483 -45.00000000000000 + -2.356194490192345 -135.0000000000000 +``` +### __Standard__ + +FORTRAN 77 and later for a complex argument; and for two +arguments Fortran 2008 or later + +### __See Also__ + + - [wikipedia: inverse trigonometric functions](https://en.wikipedia.org/wiki/Inverse_trigonometric_functions) + +[__atan2__(3)](ATAN2), [__tan__(3)](TAN) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ATAN2.md b/source/learn/intrinsics/_pages/ATAN2.md new file mode 100644 index 000000000..6367f0e5f --- /dev/null +++ b/source/learn/intrinsics/_pages/ATAN2.md @@ -0,0 +1,64 @@ +## atan2 +### __Name__ + +__atan2__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Arctangent function + +### __Syntax__ +```fortran +result = atan2(y, x) +``` +### __Description__ + +__atan2(y, x)__ computes the arctangent of the complex number +( __x__ + i __y__ ) . + +This function can be used to transform from Cartesian into polar +coordinates and allows to determine the angle in the correct quadrant. +To convert from Cartesian Coordinates __(x,y)__ to polar coordinates + +(r,theta): $$ \begin{aligned} r &= \sqrt{x**2 + y**2} \\ \theta +&= \tan**{__-1__}(y / x) \end{aligned} $$ + +### __Arguments__ + + - __y__ + : The type shall be _real_. + + - __x__ + : The type and kind type parameter shall be the same as __y__. If __y__ is + zero, then __x__ must be nonzero. + +### __Returns__ + +The return value has the same type and kind type parameter as __y__. It is +the principal value of the complex number __(x + i, y)__. If x is nonzero, +then it lies in the range __-PI \<= atan(x) \<= PI__. The sign is +positive if __y__ is positive. If __y__ is zero, then the return value is zero +if __x__ is strictly positive, __PI__ if __x__ is negative and __y__ is positive zero +(or the processor does not handle signed zeros), and __-PI__ if __x__ is +negative and __Y__ is negative zero. Finally, if __x__ is zero, then the +magnitude of the result is __PI/2__. + +### __Examples__ + +Sample program: + +```fortran +program demo_atan2 +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=sp) :: x = 1.e0_sp, y = 0.5e0_sp, z + z = atan2(y,x) + write(*,*)x,y,z +end program demo_atan2 +``` +Results: +```text + 1.00000000 0.500000000 0.463647604 +``` + +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATANH.md b/source/learn/intrinsics/_pages/ATANH.md new file mode 100644 index 000000000..6c1880dbd --- /dev/null +++ b/source/learn/intrinsics/_pages/ATANH.md @@ -0,0 +1,54 @@ +## atanh +### __Name__ + +__atanh__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Inverse hyperbolic tangent function + + +### __Syntax__ +```fortran +result = atanh(x) +``` +### __Description__ + +__atanh(x)__ computes the inverse hyperbolic tangent of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value has same type and kind as __x__. If __x__ is _complex_, the +imaginary part of the result is in radians and lies between + +__-PI/2 \<= aimag(atanh(x)) \<= PI/2__ + +### __Examples__ + +Sample program: + +```fortran +program demo_atanh +implicit none +real, dimension(3) :: x = [ -1.0, 0.0, 1.0 ] + + write (*,*) atanh(x) + +end program demo_atanh +``` + Results: +```text + -Infinity 0.00000000 Infinity +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ +- [Wikipedia:hyperbolic functions](https://en.wikipedia.org/wiki/Hyperbolic_functions) + +Inverse function: [__tanh__(3)](TANH) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_ADD.md b/source/learn/intrinsics/_pages/ATOMIC_ADD.md new file mode 100644 index 000000000..96a8c6428 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_ADD.md @@ -0,0 +1,59 @@ +## atomic\_add +### __Name__ + +__atomic\_add__(3) - \[ATOMIC\] Atomic ADD operation + +### __Syntax__ +```fortran +call atomic_add (atom, value, stat) +``` +### __Description__ + +__atomic\_ad(atom, value)__ atomically adds the value of VAR to the +variable __atom__. When __stat__ is present and the invocation was successful, +it is assigned the value 0. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +ATOM, if the remote image has stopped, it is assigned the value of +iso\_fortran\_env's stat\_stopped\_image and if the remote image has +failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_add +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*] + call atomic_add (atom[1], this_image()) +end program demo_atomic_add +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_fetch\_add__(3)](ATOMIC_FETCH), +[__atomic\_and__(3)](ATOMIC_AND), +[__atomic\_or__(3)](ATOMIC_OR), +[__atomic\_xor__(3)](ATOMIC_XOR) +__iso\_fortran\_env__(3), + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_AND.md b/source/learn/intrinsics/_pages/ATOMIC_AND.md new file mode 100644 index 000000000..401e5c7b8 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_AND.md @@ -0,0 +1,61 @@ +## atomic\_and +### __Name__ + +__atomic\_and__(3) - \[ATOMIC:BIT MANIPULATION\] Atomic bitwise AND operation + + +### __Syntax__ +```fortran +call atomic_and(atom, value, stat) +``` +### __Description__ + +__atomic\_and(atom, value)__ atomically defines __atom__ with the bitwise +__and__ between the values of __atom__ and __value__. When __stat__ is present and the +invocation was successful, it is assigned the value 0. If it is present +and the invocation has failed, it is assigned a positive value; in +particular, for a coindexed __atom__, if the remote image has stopped, it is +assigned the value of iso\_fortran\_env's stat\_stopped\_image and if +the remote image has failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_and +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*] + call atomic_and(atom[1], int(b'10100011101')) +end program demo_atomic_and +``` +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_fetch\_and__(3)](ATOMIC_FETCH_AND), +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_ref__(3)](ATOMIC_REF), +[__atomic\_cas__(3)](ATOMIC_CAS), +__iso\_fortran\_env__(3), +[__atomic\_add__(3)](ATOMIC_ADD), +[__atomic\_or__(3)](ATOMIC_OR), +[__atomic\_xor__(3)](ATOMIC_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_CAS.md b/source/learn/intrinsics/_pages/ATOMIC_CAS.md new file mode 100644 index 000000000..0d4a2ff8f --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_CAS.md @@ -0,0 +1,66 @@ +## atomic\_cas +### __Name__ + +__atomic\_cas__(3) - \[ATOMIC\] Atomic compare and swap + + +### __Syntax__ +```fortran +call atomic_cas (atom, old, compare, new, stat) +``` +### __Description__ + +atomic\_cas compares the variable __atom__ with the value of __compare__; if the +value is the same, __atom__ is set to the value of __new__. Additionally, __old__ is +set to the value of __atom__ that was used for the comparison. When __stat__ is +present and the invocation was successful, it is assigned the value 0. +If it is present and the invocation has failed, it is assigned a +positive value; in particular, for a coindexed __atom__, if the remote image +has stopped, it is assigned the value of iso\_fortran\_env's +stat\_stopped\_image and if the remote image has failed, the value +stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of either integer type with + atomic\_int\_kind kind or logical type with atomic\_logical\_kind + kind. + + - __old__ + : Scalar of the same type and kind as __atom__. + + - __compare__ + : Scalar variable of the same type and kind as __atom__. + + - __new__ + : Scalar variable of the same type as __atom__. If kind is different, the + value is converted to the kind of __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_cas +use iso_fortran_env +implicit none +logical(atomic_logical_kind) :: atom[*], prev + call atomic_cas(atom[1], prev, .false., .true.) +end program demo_atomic_cas +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_ref__(3)](ATOMIC_REF), +[__iso\_fortran\_env__(3)]() + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_DEFINE.md b/source/learn/intrinsics/_pages/ATOMIC_DEFINE.md new file mode 100644 index 000000000..56f4ae2d7 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_DEFINE.md @@ -0,0 +1,66 @@ +## atomic\_define +### __Name__ + +__atomic\_define__(3) - \[ATOMIC\] Setting a variable atomically + + +### __Syntax__ +```fortran +call atomic_define (atom, value, stat) + + subroutine atomic_define(atom, value, stat) + TYPE(kind=KIND) :: atom + TYPE(kind=KIND) :: value + integer,intent(out),optional :: stat +``` +### __Description__ + +__atomic\_define(atom, value)__ defines the variable __atom__ with the value +__value__ atomically. When __stat__ is present and the invocation was +successful, it is assigned the value __0__. If it is present and the +invocation has failed, it is assigned a positive value; in particular, +for a coindexed __atom__, if the remote image has stopped, it is assigned +the value of iso\_fortran\_env's stat\_stopped\_image and if the remote +image has failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of either integer type with + atomic\_int\_kind kind or logical type with atomic\_logical\_kind + kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_define +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*] + call atomic_define(atom[1], this_image()) +end program demo_atomic_define +``` +### __Standard__ + +Fortran 2008 and later; with __stat__, TS 18508 or later + +### __See Also__ + +[__atomic\_ref__(3)](ATOMIC_REF), +[__atomic\_cas__(3)](ATOMIC_CAS), +__iso\_fortran\_env__(3), +[__atomic\_add__(3)](ATOMIC_ADD), +[__atomic\_and__(3)](ATOMIC_AND), +[__atomic\_or__(3)](ATOMIC_OR), +[__atomic\_xor__(3)](ATOMIC_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md b/source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md new file mode 100644 index 000000000..e397258f3 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_FETCH_ADD.md @@ -0,0 +1,66 @@ +## atomic\_fetch\_add +### __Name__ + +__atomic\_fetch\_add__(3) - \[ATOMIC\] Atomic ADD operation with prior fetch + + +### __Syntax__ +```fortran +call atomic_fetch_add(atom, value, old, stat) +``` +### __Description__ + +__atomic\_fetch\_add(atom, value, old)__ atomically stores the value of +__atom__ in __old__ and adds the value of __var__ to the variable __atom__. When __stat__ is +present and the invocation was successful, it is assigned the value __0__. +If it is present and the invocation has failed, it is assigned a +positive value; in particular, for a coindexed __atom__, if the remote image +has stopped, it is assigned the value of iso\_fortran\_env's +stat\_stopped\_image and if the remote image has failed, the value +stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. atomic\_logical\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __old__ + : Scalar of the same type and kind as __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_fetch_add +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*], old + call atomic_add(atom[1], this_image(), old) +end program demo_atomic_fetch_add +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_add__(3)](ATOMIC_ADD), +__iso\_fortran\_env__(3), + +[__atomic\_fetch\_and__(3)](ATOMIC_FETCH_AND), +[__atomic\_fetch\_or__(3)](ATOMIC_FETCH_OR), + +[__atomic\_fetch\_xor__(3)](ATOMIC_FETCH_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md b/source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md new file mode 100644 index 000000000..9f8ab2e25 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_FETCH_AND.md @@ -0,0 +1,66 @@ +## atomic\_fetch\_and +### __Name__ + +__atomic\_fetch\_and__(3) - \[ATOMIC:BIT MANIPULATION\] Atomic bitwise AND operation with prior fetch + + +### __Syntax__ +```fortran +call atomic_fetch_and(atom, value, old, stat) +``` +### __Description__ + +__atomic\_fetch\_and(atom, value, old)__ atomically stores the value of +__atom__ in __old__ and defines __atom__ with the bitwise AND between the values of +__atom__ and __value__. When __stat__ is present and the invocation was successful, +it is assigned the value __0__. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +__atom__, if the remote image has stopped, it is assigned the value of +iso\_fortran\_env's stat\_stopped\_image and if the remote image has +failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __old__ + : Scalar of the same type and kind as __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_fetch_and +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*], old + call atomic_fetch_and (atom[1], int(b'10100011101'), old) +end program demo_atomic_fetch_and +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_and__(3)](ATOMIC_AND), +[__iso\_fortran\_env__(3)](), + +[__atomic\_fetch\_add__(3)](ATOMIC_FETCH_ADD), +[__atomic\_fetch\_or__(3)](ATOMIC_FETCH_OR), + +[__atomic\_fetch\_xor__(3)](ATOMIC_FETCH_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md b/source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md new file mode 100644 index 000000000..bc29f9381 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_FETCH_OR.md @@ -0,0 +1,66 @@ +## atomic\_fetch\_or +### __Name__ + +__atomic\_fetch\_or__(3) - \[ATOMIC:BIT MANIPULATION\] Atomic bitwise OR operation with prior fetch + + +### __Syntax__ +```fortran +call atomic_fetch_or(atom, value, old, stat) +``` +### __Description__ + +__atomic\_fetch\_or(atom, value, old)__ atomically stores the value of +__atom__ in __old__ and defines __atom__ with the bitwise OR between the values of +__atom__ and __value__. When __stat__ is present and the invocation was successful, +it is assigned the value __0__. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +__atom__, if the remote image has stopped, it is assigned the value of +iso\_fortran\_env's stat\_stopped\_image and if the remote image has +failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __old__ + : Scalar of the same type and kind as __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_fetch_or +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*], old + call atomic_fetch_or(atom[1], int(b'10100011101'), old) +end program demo_atomic_fetch_or +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_or__(3)](ATOMIC_OR), +[__iso\_fortran\_env__(3)](), + +[__atomic\_fetch\_add__(3)](ATOMIC_FETCH_ADD), +[__atomic\_fetch\_and__(3)](ATOMIC_FETCH_AND), + +[__atomic\_fetch\_xor__(3)](ATOMIC_FETCH_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md b/source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md new file mode 100644 index 000000000..c45ad359a --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_FETCH_XOR.md @@ -0,0 +1,66 @@ +## atomic\_fetch\_xor +### __Name__ + +__atomic\_fetch\_xor__(3) - \[ATOMIC:BIT MANIPULATION\] Atomic bitwise XOR operation with prior fetch + + +### __Syntax__ +```fortran +call atomic_fetch_xor (atom, value, old, stat) +``` +### __Description__ + +__atomic\_fetch\_xor(atom, value, old)__ atomically stores the value of +__atom__ in __old__ and defines __atom__ with the bitwise __xor__ between the values of +__atom__ and __value__. When __stat__ is present and the invocation was successful, +it is assigned the value __0__. If it is present and the invocation has +failed, it is assigned a positive value; in particular, for a coindexed +__atom__, if the remote image has stopped, it is assigned the value of +iso\_fortran\_env's stat\_stopped\_image and if the remote image has +failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __old__ + : Scalar of the same type and kind as __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_fetch_xor +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*], old + call atomic_fetch_xor (atom[1], int(b'10100011101'), old) +end program demo_atomic_fetch_xor +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_xor__(3)](ATOMIC_XOR), +[__iso\_fortran\_env__(3)](), + +[__atomic\_fetch\_add__(3)](ATOMIC_FETCH_ADD), +[__atomic\_fetch\_and__(3)](ATOMIC_FETCH_AND), + +[__atomic\_fetch\_or__(3)](ATOMIC_FETCH_OR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_OR.md b/source/learn/intrinsics/_pages/ATOMIC_OR.md new file mode 100644 index 000000000..fa77b6830 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_OR.md @@ -0,0 +1,62 @@ +## atomic\_or +### __Name__ + +__atomic\_or__(3) - \[ATOMIC:BIT MANIPULATION\] Atomic bitwise OR operation + + +### __Syntax__ +```fortran +call atomic_or__(atom, value, stat) +``` +### __Description__ + +__atomic\_or(atom, value)__ atomically defines __atom__ with the bitwise __or__ +between the values of __atom__ and __value__. When __stat__ is present and the +invocation was successful, it is assigned the value __0__. If it is present +and the invocation has failed, it is assigned a positive value; in +particular, for a coindexed __atom__, if the remote image has stopped, it is +assigned the value of iso\_fortran\_env's stat\_stopped\_image and if +the remote image has failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_or +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*] + call atomic_or(atom[1], int(b'10100011101')) +end program demo_atomic_or +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_fetch\_or__(3)](ATOMIC_FETCH), + +[__iso\_fortran\_env__(3)](), +[__atomic\_add__(3)](ATOMIC_ADD), +[__atomic\_or__(3)](ATOMIC_OR), + +[__atomic\_xor__(3)](ATOMIC_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_REF.md b/source/learn/intrinsics/_pages/ATOMIC_REF.md new file mode 100644 index 000000000..82e23e24c --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_REF.md @@ -0,0 +1,70 @@ +## atomic\_ref +### __Name__ + +__atomic\_ref__(3) - \[ATOMIC\] Obtaining the value of a variable atomically + + +### __Syntax__ +```fortran +call atomic_ref(value, atom, stat) +``` +### __Description__ + +__atomic\_ref(value, atom)__ atomically assigns the value of the +variable __atom__ to __value__. When __stat__ is present and the invocation was +successful, it is assigned the value __0__. If it is present and the +invocation has failed, it is assigned a positive value; in particular, +for a coindexed __atom__, if the remote image has stopped, it is assigned +the value of iso\_fortran\_env's __stat\_stopped\_image__ and if the remote +image has failed, the value __stat\_failed\_image__. + +### __Arguments__ + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __atom__ + : Scalar coarray or coindexed variable of either integer type with + atomic\_int\_kind kind or logical type with atomic\_logical\_kind + kind. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_ref +use iso_fortran_env +implicit none +logical(atomic_logical_kind) :: atom[*] +logical :: val + call atomic_ref( val, atom[1] ) + ! ``` + call atomic_ref( val, atom[1] ) + if (val) then + print *, "Obtained" + endif +end program demo_atomic_ref +``` + +### __Standard__ + +Fortran 2008 and later; with STAT, TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_cas__(3)](ATOMIC_CAS), +[__iso\_fortran\_env__(3)](), + +[__atomic\_fetch\_add__(3)](ATOMIC_ADD), +[__atomic\_fetch\_and__(3)](ATOMIC_AND), + +[__atomic\_fetch\_or__(3)](ATOMIC_OR), +[__atomic\_fetch\_xor__(3)](ATOMIC_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ATOMIC_XOR.md b/source/learn/intrinsics/_pages/ATOMIC_XOR.md new file mode 100644 index 000000000..e9e7edbe1 --- /dev/null +++ b/source/learn/intrinsics/_pages/ATOMIC_XOR.md @@ -0,0 +1,60 @@ +## atomic\_xor +### __Name__ + +__atomic\_xor__(3) - \[ATOMIC:BIT MANIPULATION\] Atomic bitwise OR operation + + +### __Syntax__ +```fortran +call atomic_xor(atom, value, stat) +``` +### __Description__ + +__atomic\_xor(atom, value)__ atomically defines __atom__ with the bitwise +__xor__ between the values of __atom__ and __value__. When __stat__ is present and the +invocation was successful, it is assigned the value __0__. If it is present +and the invocation has failed, it is assigned a positive value; in +particular, for a coindexed __atom__, if the remote image has stopped, it is +assigned the value of iso\_fortran\_env's stat\_stopped\_image and if +the remote image has failed, the value stat\_failed\_image. + +### __Arguments__ + + - __atom__ + : Scalar coarray or coindexed variable of integer type with + atomic\_int\_kind kind. + + - __value__ + : Scalar of the same type as __atom__. If the kind is different, the value + is converted to the kind of __atom__. + + - __stat__ + : (optional) Scalar default-kind integer variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_atomic_xor +use iso_fortran_env +implicit none +integer(atomic_int_kind) :: atom[*] + call atomic_xor(atom[1], int(b'10100011101')) +end program demo_atomic_xor +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__atomic\_define__(3)](ATOMIC_DEFINE), +[__atomic\_fetch\_xor__(3)](ATOMIC_FETCH), +[__iso\_fortran\_env__(3)](), +[__atomic\_add__(3)](ATOMIC_ADD), +[__atomic\_or__(3)](ATOMIC_OR), +[__atomic\_xor__(3)](ATOMIC_XOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BESSEL_J0.md b/source/learn/intrinsics/_pages/BESSEL_J0.md new file mode 100644 index 000000000..0e30a3f0b --- /dev/null +++ b/source/learn/intrinsics/_pages/BESSEL_J0.md @@ -0,0 +1,57 @@ +## bessel\_j0 +### __Name__ + +__bessel\_j0__(3) - \[MATHEMATICS\] Bessel function of the first kind of order 0 + + +### __Syntax__ +```fortran + result = bessel_j0(x) +``` +### __Description__ + +__bessel\_j0(x)__ computes the Bessel function of the first kind +of order __0__ of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type _real_ and lies in the range +__-0.4027 \<= bessel(0,x) \<= 1__. It has the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_besj0 +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 + implicit none + real(kind=real64) :: x = 0.0_real64 + x = bessel_j0(x) + write(*,*)x +end program demo_besj0 +``` + Results: +```text + 1.0000000000000000 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bessel\_j1__(3)](BESSEL_J1), +[__bessel\_jn__(3)](BESSEL_JN), +[__bessel\_y0__(3)](BESSEL_Y0), +[__bessel\_y1__(3)](BESSEL_Y1), +[__bessel\_yn__(3)](BESSEL_YN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BESSEL_J1.md b/source/learn/intrinsics/_pages/BESSEL_J1.md new file mode 100644 index 000000000..138c05d9b --- /dev/null +++ b/source/learn/intrinsics/_pages/BESSEL_J1.md @@ -0,0 +1,56 @@ +## bessel\_j1 +### __Name__ + +__bessel\_j1__(3) - \[MATHEMATICS\] Bessel function of the first kind of order 1 + + +### __Syntax__ +```fortran + result = bessel_j1(x) +``` +### __Description__ + +__bessel\_j1(x)__ computes the Bessel function of the first kind +of order __1__ of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type _real_ and lies in the range +__-0.5818 \<= bessel(0,x) \<= 0.5818__ . It has the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_besj1 +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +real(kind=real64) :: x = 1.0_real64 + x = bessel_j1(x) + write(*,*)x +end program demo_besj1 +``` + Results: +```text + 0.44005058574493350 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bessel\_j0__(3)](BESSEL_J0), +[__bessel\_jn__(3)](BESSEL_JN), +[__bessel\_y0__(3)](BESSEL_Y0), +[__bessel\_y1__(3)](BESSEL_Y1), +[__bessel\_yn__(3)](BESSEL_YN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BESSEL_JN.md b/source/learn/intrinsics/_pages/BESSEL_JN.md new file mode 100644 index 000000000..43a449d24 --- /dev/null +++ b/source/learn/intrinsics/_pages/BESSEL_JN.md @@ -0,0 +1,72 @@ +## bessel\_jn +### __Name__ + +__bessel\_jn__(3) - \[MATHEMATICS\] Bessel function of the first kind + + +### __Syntax__ +```fortran + result = bessel_jn(n, x) + + result = bessel_jn(n1, n2, x) +``` +### __Description__ + +__bessel\_jn(n, x)__ computes the Bessel function of the first +kind of order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and shapes +shall conform. + +__bessel\_jn(n1, n2, x)__ returns an array with the Bessel function\|Bessel functions +of the first kind of the orders __n1__ to __n2__. + +### __Arguments__ + + - __n__ + : Shall be a scalar or an array of type _integer_. + + - __n1__ + : Shall be a non-negative scalar of type _integer_. + + - __n2__ + : Shall be a non-negative scalar of type _integer_. + + - __x__ + : Shall be a scalar or an array of type _real_. For + __bessel\_jn(n1, n2, x)__ it shall be scalar. + +### __Returns__ + +The return value is a scalar of type _real_. It has the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_besjn +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +real(kind=real64) :: x = 1.0_real64 + x = bessel_jn(5,x) + write(*,*)x +end program demo_besjn +``` + Results: +```text + 2.4975773021123450E-004 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bessel\_j0__(3)](BESSEL_J0), +[__bessel\_j1__(3)](BESSEL_J1), +[__bessel\_y0__(3)](BESSEL_Y0), +[__bessel\_y1__(3)](BESSEL_Y1), +[__bessel\_yn__(3)](BESSEL_YN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BESSEL_Y0.md b/source/learn/intrinsics/_pages/BESSEL_Y0.md new file mode 100644 index 000000000..57a2ce87a --- /dev/null +++ b/source/learn/intrinsics/_pages/BESSEL_Y0.md @@ -0,0 +1,56 @@ +## bessel\_y0 +### __Name__ + +__bessel\_y0__(3) - \[MATHEMATICS\] Bessel function of the second kind of order 0 + + +### __Syntax__ +```fortran + result = bessel_y0(x) +``` +### __Description__ + +__bessel\_y0(x)__ computes the Bessel function of the second +kind of order 0 of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type _real_. It has the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_besy0 +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none + real(kind=real64) :: x = 0.0_real64 + x = bessel_y0(x) + write(*,*)x +end program demo_besy0 +``` + Results: +```text + -Infinity +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bessel\_j0__(3)](BESSEL_J0), +[__bessel\_j1__(3)](BESSEL_J1), +[__bessel\_jn__(3)](BESSEL_JN), +[__bessel\_y1__(3)](BESSEL_Y1), +[__bessel\_yn__(3)](BESSEL_YN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BESSEL_Y1.md b/source/learn/intrinsics/_pages/BESSEL_Y1.md new file mode 100644 index 000000000..44637cdbf --- /dev/null +++ b/source/learn/intrinsics/_pages/BESSEL_Y1.md @@ -0,0 +1,51 @@ +## bessel\_y1 +### __Name__ + +__bessel\_y1__(3) - \[MATHEMATICS\] Bessel function of the second kind of order 1 + + +### __Syntax__ +```fortran + result = bessel_y1(x) +``` +### __Description__ + +__bessel\_y1(x)__ computes the Bessel function of the second +kind of order 1 of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is _real_. It has the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_besy1 +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none + real(kind=real64) :: x = 1.0_real64 + write(*,*)x, bessel_y1(x) +end program demo_besy1 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bessel\_j0__(3)](BESSEL_J0), +[__bessel\_j1__(3)](BESSEL_J1), +[__bessel\_jn__(3)](BESSEL_JN), +[__bessel\_y0__(3)](BESSEL_Y0), +[__bessel\_yn__(3)](BESSEL_YN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BESSEL_YN.md b/source/learn/intrinsics/_pages/BESSEL_YN.md new file mode 100644 index 000000000..c9e899273 --- /dev/null +++ b/source/learn/intrinsics/_pages/BESSEL_YN.md @@ -0,0 +1,70 @@ +## bessel\_yn +### __Name__ + +__bessel\_yn__(3) - \[MATHEMATICS\] Bessel function of the second kind + + +### __Syntax__ +```fortran + result = bessel_yn(n, x) + + result = bessel_yn(n1, n2, x) +``` +### __Description__ + +__bessel\_yn(n, x)__ computes the Bessel function of the second +kind of order __n__ of __x__. If __n__ and __x__ are arrays, their ranks and shapes +shall conform. + +__bessel\_yn(n1, n2, x)__ returns an array with the Bessel +function\|Bessel functions of the first kind of the orders __n1__ to __n2__. + +### __Arguments__ + + - __n__ + : Shall be a scalar or an array of type _integer_. + + - __n1__ + : Shall be a non-negative scalar of type _integer_. + + - __n2__ + : Shall be a non-negative scalar of type _integer_. + + - __x__ + : Shall be a scalar or an array of type _real_; for + __bessel\_yn(n1, n2, x)__ it shall be scalar. + +### __Returns__ + +The return value is _real_. It has the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_besyn +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none +real(kind=real64) :: x = 1.0_real64 + write(*,*) x,bessel_yn(5,x) +end program demo_besyn +``` + Results: +```text + 1.0000000000000000 -260.40586662581222 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bessel\_j0__(3)](BESSEL_J0), +[__bessel\_j1__(3)](BESSEL_J1), +[__bessel\_jn__(3)](BESSEL_JN), +[__bessel\_y0__(3)](BESSEL_Y0), +[__bessel\_y1__(3)](BESSEL_Y1) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BGE.md b/source/learn/intrinsics/_pages/BGE.md new file mode 100644 index 000000000..aedd00f0a --- /dev/null +++ b/source/learn/intrinsics/_pages/BGE.md @@ -0,0 +1,38 @@ +## bge +### __Name__ + +__bge__(3) - \[BIT:COMPARE\] Bitwise greater than or equal to + + +### __Syntax__ +```fortran + result = bge(i, j) +``` +### __Description__ + +Determines whether an integer is bitwise greater than or equal to +another. + +### __Arguments__ + + - __i__ + : Shall be of _integer_ type. + + - __j__ + : Shall be of _integer_ type, and of the same kind as __i__. + +### __Returns__ + +The return value is of type _logical_ and of the default kind. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bgt__(3)](BGT), +[__ble__(3)](BLE), +[__blt__(3)](BIT) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BGT.md b/source/learn/intrinsics/_pages/BGT.md new file mode 100644 index 000000000..b1d3144d9 --- /dev/null +++ b/source/learn/intrinsics/_pages/BGT.md @@ -0,0 +1,40 @@ +## bgt +### __Name__ + +__bgt__(3) - \[BIT:COMPARE\] Bitwise greater than + + +### __Syntax__ +```fortran + result = bgt(i, j) +``` +### __Description__ + +Determines whether an integer is bitwise greater than another. + +### __Arguments__ + + - __i__ + : Shall be of _integer_ type or a BOZ literal constant. + + - __j__ + : Shall be of _integer_ type, and of the same kind as __i__; or a BOZ + literal constant. + +### __Returns__ + +The return value is of type _logical_ and of the default kind. The result +is true if the sequence of bits represented by _i_ is greater than the +sequence of bits represented by _j_, otherwise the result is false. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bge__(3),](BGE), +[__ble__(3),](BLE), +[__blt__(3)](BLT) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BIT_SIZE.md b/source/learn/intrinsics/_pages/BIT_SIZE.md new file mode 100644 index 000000000..8209bacc2 --- /dev/null +++ b/source/learn/intrinsics/_pages/BIT_SIZE.md @@ -0,0 +1,67 @@ +## bit\_size +### __Name__ + +__bit\_size__(3) - \[BIT:INQUIRY\] Bit size inquiry function + +### __Syntax__ +```fortran + result = bit_size(i) + + function(kind=KIND) :: bit_size + integer(kind=KIND),intent(in) :: ii +``` +### __Description__ + +__bit\_size(i)__ returns the number of bits (integer precision plus sign +bit) represented by the type of the _integer_ __i__. __i__ can be a +scalar or an array. + + + +### __Arguments__ + + - __i__ + : An _integer_ value of any kind to determine the size of in bits. + Because only the type of the argument is examined, the argument need + not be defined. + +### __Returns__ + Returns the number of bits used to represent a value of the type + of __i__. The result is a _integer_ scalar of the same kind as __i__. + +### __Examples__ + +Sample program: + +```fortran +program demo_bit_size +use,intrinsic :: iso_fortran_env, only : int8, int16, int32, int64 +implicit none +integer(kind=int64) :: answer +integer :: ilen +character(len=*),parameter :: fmt='(*(g0,1x))' + write(*,fmt)'default integer size is',bit_size(0),'bits' + write(*,fmt)bit_size(bit_size(0_int8)), 'which is kind=',kind(0_int8) + write(*,fmt)bit_size(bit_size(0_int16)),'which is kind=',kind(0_int16) + write(*,fmt)bit_size(bit_size(0_int32)),'which is kind=',kind(0_int32) + write(*,fmt)bit_size(bit_size(0_int64)),'which is kind=',kind(0_int64) + + ! Check size of value not explicitly defined. + write(*,fmt) int(bit_size(answer)) +end program demo_bit_size +``` + Typical Results: +```text + default integer size is 32 bits + 8 which is kind= 1 + 16 which is kind= 2 + 32 which is kind= 4 + 64 which is kind= 8 + 64 +``` + +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions (license MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/BIT_index.md b/source/learn/intrinsics/_pages/BIT_index.md new file mode 100644 index 000000000..94548319b --- /dev/null +++ b/source/learn/intrinsics/_pages/BIT_index.md @@ -0,0 +1,51 @@ +--- +layout: book +title: Bit-level +permalink: /learn/intrinsics/BIT_index +--- +#### bit-level inquiry and manipulation + +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| category ||||| page || description | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:COMPARE* ||||| [__bge__]({{site.baseurl}}/learn/intrinsics/BGE) || ● Bitwise greater than or equal to | +| *BIT:COMPARE* ||||| [__bgt__]({{site.baseurl}}/learn/intrinsics/BGT) || ● Bitwise greater than | +| *BIT:COMPARE* ||||| [__ble__]({{site.baseurl}}/learn/intrinsics/BLE) || ● Bitwise less than or equal to | +| *BIT:COMPARE* ||||| [__blt__]({{site.baseurl}}/learn/intrinsics/BLT) || ● Bitwise less than | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:INQUIRY* ||||| [__bit\_size__]({{site.baseurl}}/learn/intrinsics/BIT_SIZE) || ● Bit size inquiry function | +| *BIT:INQUIRY* ||||| [__btest__]({{site.baseurl}}/learn/intrinsics/BTEST) || ● Bit test function | +| *BIT:INQUIRY* ||||| [__storage\_size__]({{site.baseurl}}/learn/intrinsics/STORAGE_SIZE) || ● Storage size in bits | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:COUNT* ||||| [__leadz__]({{site.baseurl}}/learn/intrinsics/LEADZ) || ● Number of leading zero bits of an integer | +| *BIT:COUNT* ||||| [__popcnt__]({{site.baseurl}}/learn/intrinsics/POPCNT) || ● Number of bits set | +| *BIT:COUNT* ||||| [__poppar__]({{site.baseurl}}/learn/intrinsics/POPPAR) || ● Parity of the number of bits set | +| *BIT:COUNT* ||||| [__trailz__]({{site.baseurl}}/learn/intrinsics/TRAILZ) || ● Number of trailing zero bits of an integer | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:COPY* ||||| [__dshiftl__]({{site.baseurl}}/learn/intrinsics/DSHIFTL) || ● Combines bits of arguments __i__ and __j__ | +| *BIT:COPY* ||||| [__dshiftr__]({{site.baseurl}}/learn/intrinsics/DSHIFTR) || ● Combines bits of arguments __i__ and __j__ | +| *BIT:COPY* ||||| [__merge\_bits__]({{site.baseurl}}/learn/intrinsics/MERGE_BITS) || ● Merge of bits under mask | +| *BIT:COPY* ||||| [__mvbits__]({{site.baseurl}}/learn/intrinsics/MVBITS) || ● Move bits from one integer to another | +| *BIT:COPY* ||||| [__ibits__]({{site.baseurl}}/learn/intrinsics/IBITS) || ● Bit extraction | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:SET* ||||| [__ibclr__]({{site.baseurl}}/learn/intrinsics/IBCLR) || ● Clear bit | +| *BIT:SET* ||||| [__ibset__]({{site.baseurl}}/learn/intrinsics/IBSET) || ● Set bit | +| *BIT:SET* ||||| [__maskl__]({{site.baseurl}}/learn/intrinsics/MASKL) || ● Left justified mask | +| *BIT:SET* ||||| [__maskr__]({{site.baseurl}}/learn/intrinsics/MASKR) || ● Right justified mask | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:LOGICAL* ||||| [__iparity__]({{site.baseurl}}/learn/intrinsics/IPARITY) || ● Bitwise exclusive or of array elements | +| *BIT:LOGICAL* ||||| [__iall__]({{site.baseurl}}/learn/intrinsics/IALL) || ● Bitwise and of array elements | +| *BIT:LOGICAL* ||||| [__iand__]({{site.baseurl}}/learn/intrinsics/IAND) || ● Bitwise logical and | +| *BIT:LOGICAL* ||||| [__iany__]({{site.baseurl}}/learn/intrinsics/IANY) || ● Bitwise or of array elements | +| *BIT:LOGICAL* ||||| [__ieor__]({{site.baseurl}}/learn/intrinsics/IEOR) || ● Bitwise logical exclusive or | +| *BIT:LOGICAL* ||||| [__ior__]({{site.baseurl}}/learn/intrinsics/IOR) || ● Bitwise logical inclusive or | +| *BIT:LOGICAL* ||||| [__not__]({{site.baseurl}}/learn/intrinsics/NOT) || ● Logical negation | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| +| *BIT:SHIFT* ||||| [__ishftc__]({{site.baseurl}}/learn/intrinsics/ISHFTC) || ● Shift bits circularly | +| *BIT:SHIFT* ||||| [__ishft__]({{site.baseurl}}/learn/intrinsics/ISHFT) || ● Shift bits | +| *BIT:SHIFT* ||||| [__shifta__]({{site.baseurl}}/learn/intrinsics/SHIFTA) || ● Shift bits right with fill | +| *BIT:SHIFT* ||||| [__shiftl__]({{site.baseurl}}/learn/intrinsics/SHIFTL) || ● Shift bits left | +| *BIT:SHIFT* ||||| [__shiftr__]({{site.baseurl}}/learn/intrinsics/SHIFTR) || ● Shift bits right | +|----------------|||||----------------------------------------------------------------------||------------------------------------------------------| + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BLE.md b/source/learn/intrinsics/_pages/BLE.md new file mode 100644 index 000000000..f20db6efb --- /dev/null +++ b/source/learn/intrinsics/_pages/BLE.md @@ -0,0 +1,37 @@ +## ble +### __Name__ + +__ble__(3) - \[BIT:COMPARE\] Bitwise less than or equal to + + +### __Syntax__ +```fortran + result = ble(i, j) +``` +### __Description__ + +Determines whether an integer is bitwise less than or equal to another. + +### __Arguments__ + + - __i__ + : Shall be of _integer_ type. + + - __j__ + : Shall be of _integer_ type, and of the same kind as __i__. + +### __Returns__ + +The return value is of type _logical_ and of the default kind. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bge__(3),](BGE), +[__bgt__(3),](BGT), +[__blt__(3)](BLT) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BLT.md b/source/learn/intrinsics/_pages/BLT.md new file mode 100644 index 000000000..a19f0909f --- /dev/null +++ b/source/learn/intrinsics/_pages/BLT.md @@ -0,0 +1,37 @@ +## blt +### __Name__ + +__blt__(3) - \[BIT:COMPARE\] Bitwise less than + + +### __Syntax__ +```fortran + result = blt(i, j) +``` +### __Description__ + +Determines whether an integer is bitwise less than another. + +### __Arguments__ + + - __i__ + : Shall be of _integer_ type. + + - __j__ + : Shall be of _integer_ type, and of the same kind as __i__. + +### __Returns__ + +The return value is of type _logical_ and of the default kind. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bge__(3)](BGE), +[__bgt__(3)](BGT), +[__ble__(3)](BLE) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/BTEST.md b/source/learn/intrinsics/_pages/BTEST.md new file mode 100644 index 000000000..337e6a9e4 --- /dev/null +++ b/source/learn/intrinsics/_pages/BTEST.md @@ -0,0 +1,130 @@ +## btest +### __Name__ + +__btest__(3) - \[BIT:INQUIRY\] Tests a bit of an _integer_ value. + +### __Syntax__ +```fortran + result = btest(i, pos) + + integer(kind=KIND) elemental function btest(i,pos) + integer,intent(in) :: i + logical,intent(out) :: pos +``` + where __KIND__ is any _integer_ kind supported by the programming environment. + +### __Description__ + +__btest(i,pos)__ returns logical __.true.__ if the bit at __pos__ in __i__ is set. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __pos__ + : The bit position to query. it must be a valid position for the + value __i__; ie. __0 <= pos <= bit_size(i)__ . + + A value of zero refers to the least significant bit. + +### __Returns__ + + The result is a _logical_ that has the value __.true.__ if bit + position __pos__ of __i__ has the value __1__ and the value + __.false.__ if bit __pos__ of __i__ has the value __0__. + +### __Examples__ + +Sample program: + +```fortran +program demo_btest +implicit none +integer :: i, j, pos, a(2,2) +logical :: bool +character(len=*),parameter :: g='(*(g0))' + + i = 32768 + 1024 + 64 + write(*,'(a,i0,"=>",b32.32,/)')'Looking at the integer: ',i + + ! looking one bit at a time from LOW BIT TO HIGH BIT + write(*,g)'from bit 0 to bit ',bit_size(i),'==>' + do pos=0,bit_size(i)-1 + bool = btest(i, pos) + write(*,'(l1)',advance='no')bool + enddo + write(*,*) + + ! a binary format the hard way. + ! Note going from bit_size(i) to zero. + write(*,*) + write(*,g)'so for ',i,' with a bit size of ',bit_size(i) + write(*,'(b32.32)')i + write(*,g)merge('^','_',[(btest(i,j),j=bit_size(i)-1,0,-1)]) + write(*,*) + write(*,g)'and for ',-i,' with a bit size of ',bit_size(i) + write(*,'(b32.32)')-i + write(*,g)merge('^','_',[(btest(-i,j),j=bit_size(i)-1,0,-1)]) + + ! elemental: + ! + a(1,:)=[ 1, 2 ] + a(2,:)=[ 3, 4 ] + write(*,*) + write(*,'(a,/,*(i2,1x,i2,/))')'given the array a ...',a + ! the second bit of all the values in a + write(*,'(a,/,*(l2,1x,l2,/))')'the value of btest (a, 2)',btest(a,2) + ! bits 1,2,3,4 of the value 2 + write(*,'(a,/,*(l2,1x,l2,/))')'the value of btest (2, a)',btest(2,a) +end program demo_btest +``` +Results: +```text +Looking at the integer: 33856=>11111111111111110111101111000000 + +00000000000000001000010001000000 +11111111111111110111101111000000 +1000010001000000 +11111111111111110111101111000000 +from bit 0 to bit 32==> +FFFFFFTFFFTFFFFTFFFFFFFFFFFFFFFF + +so for 33856 with a bit size of 32 +00000000000000001000010001000000 +________________^____^___^______ + +and for -33856 with a bit size of 32 +11111111111111110111101111000000 +^^^^^^^^^^^^^^^^_^^^^_^^^^______ + +given the array a ... + 1 3 + 2 4 + +the value of btest (a, 2) + F F + F T + +the value of btest (2, a) + T F + F F +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR), +[__mvbits__(3)](MVBITS) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/CEILING.md b/source/learn/intrinsics/_pages/CEILING.md new file mode 100644 index 000000000..43a32ea5f --- /dev/null +++ b/source/learn/intrinsics/_pages/CEILING.md @@ -0,0 +1,77 @@ +## ceiling +### __Name__ + +__ceiling__(3) - \[NUMERIC\] Integer ceiling function + + +### __Syntax__ +```fortran +result = ceiling(a, kind) + + integer(kind=KIND) elemental function ceiling(a,kind) + real(kind=ANY),intent(in) :: a + integer,intent(in),optional :: kind +``` +### __Description__ + +__ceiling(a)__ returns the least integer greater than or equal to __a__. + +### __Arguments__ + + - __a__ + : The type shall be _real_. + + - __kind__ + : An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type __integer__(kind) if __kind__ is present and a +default-kind _integer_ otherwise. + +The result is undefined if it cannot be represented in the specified +integer type. + +### __Examples__ + +Sample program: + +```fortran +program demo_ceiling +implicit none +real :: x = 63.29 +real :: y = -63.59 + print *, ceiling(x) + print *, ceiling(y) + ! elemental + print *,ceiling([ & + & -2.7, -2.5, -2.2, -2.0, -1.5, -1.0, -0.5, & + & 0.0, & + & +0.5, +1.0, +1.5, +2.0, +2.2, +2.5, +2.7 ]) +end program demo_ceiling +``` + Results: +```text + 64 + -63 + -2 -2 -2 -2 -1 -1 + 0 0 1 1 2 2 + 3 3 3 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__floor__(3)](FLOOR), +[__nint__(3)](NINT) + + +[__aint__(3)](AINT), +[__anint__(3)](ANINT), +[__int__(3)](INT), +[__selected_int_kind__(3)](SELECTED_INT_KIND) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CHAR.md b/source/learn/intrinsics/_pages/CHAR.md new file mode 100644 index 000000000..7c4e34f52 --- /dev/null +++ b/source/learn/intrinsics/_pages/CHAR.md @@ -0,0 +1,77 @@ +## char +### __Name__ + +__char__(3) - \[CHARACTER\] Character conversion function + + +### __Syntax__ +```fortran +result = char(i, kind) + elemental integer function char(i,kind) + + integer(kind=KIND),intent(in) :: c + integer,intent(in),optional :: KIND +``` +### __Description__ + +__char(i, kind)__ returns the character represented by the integer __i__. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _character_ + +### __Examples__ + +Sample program: + +```fortran +program demo_char +implicit none +integer :: i = 74 +character(1) :: c + c = char(i) + print *, i, c ! returns 'J' +end program demo_char +``` + Results: +```text + 74 J +``` + +### __Note__ + +See [__ichar__(3)](CHAR) for a discussion of converting between numerical +values and formatted string representations. + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__achar__(3)](ACHAR), +[__iachar__(3)](IACHAR), +[__ichar__(3)](ICHAR) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), [__index__(3)](INDEX), + [__scan__(3)](SCAN), [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CMPLX.md b/source/learn/intrinsics/_pages/CMPLX.md new file mode 100644 index 000000000..786ae3744 --- /dev/null +++ b/source/learn/intrinsics/_pages/CMPLX.md @@ -0,0 +1,164 @@ +## cmplx +### __Name__ + +__cmplx__(3) - \[TYPE:NUMERIC\] Complex conversion function + + +### __Syntax__ +```fortran +result = cmplx(x, y, kind) + + complex elemental function :: cmplx + TYPE(kind=KIND),intent(in), x + TYPE(kind=KIND),intent(in),optional, y + integer,intent(in),optional :: kind +``` +### __Description__ + +To convert numeric variables to complex, use the __cmplx__(3) function. +Constants can be used to define a complex variable using the syntax + +``` + z8 = (1.2345678901234567d0, 1.2345678901234567d0) +``` + +but this will not work for variables. You must use the __cmplx__(3) function. + +__cmplx(x \[, y \[, kind\]\])__ returns a complex number where __x__ is +converted to the _real_ component. If __x__ is _complex_ then __y__ must not be +present. If __y__ is present it is converted to the imaginary component. If +__y__ is not present then the imaginary component is set to __0.0__. + +### __cmplx(3) and double precision__ + +The Fortran 90 language defines __cmplx__(3) as always returning a result +that is type __complex(kind=KIND(0.0))__. + +This means \`__cmplx(d1,d2)__', where __\`d1'__ and __\`d2'__ are +_doubleprecision_, is treated as: +fortran +``` + cmplx(sngl(d1), sngl(d2)) +``` + +_doubleprecision complex_ numbers require specifying a precision. + +It was necessary for Fortran 90 to specify this behavior for +_doubleprecision_ arguments, since that is the behavior mandated by +FORTRAN 77. + +So Fortran 90 extends the __cmplx__(3) intrinsic by adding an extra +argument used to specify the desired kind of complex result. + +```fortran + integer,parameter :: dp=kind(0.0d0) + complex(kind=dp) :: z8 + ! + ! NO: result is just the precision of default _real_ values + ! because KIND parameter is not specified + ! + ! note this was stored with default real precision + z8 = cmplx(1.2345678901234567d0, 1.2345678901234567d0) + print *, 'NO, Z8=',z8,real(z8),aimag(z8) + z8 = cmplx(1.2345678901234567e0_dp, 1.2345678901234567e0_dp) + ! again, note components are just _real_ + print *, 'NO, Z8=',z8,real(z8),aimag(z8) + ! + ! YES + ! + ! kind= makes it work + z8 = cmplx(1.2345678901234567d0, 1.2345678901234567d0,kind=dp) + print *, 'YES, Z8=',z8,real(z8),aimag(z8) +``` + +F2018 COMPONENT SYNTAX The real and imaginary parts of a complex entity +can be accessed independently with a component-like syntax in f2018: + +A complex-part-designator is + +``fortran + designator % RE + or + designator % IM. +``` + +Where the designator is of complex type. + +So designator%RE designates the real part of a complex value, +designator%IM designates the imaginary part of complex value. The type +of a complex-part-designator is _real_, and its kind and shape are those +of the designator. + +The following are examples of complex part designators: + +```fortran + impedance%re !-- Same value as _real_(impedance) + fft%im !-- Same value as AIMAG(fft) + x%im = 0.0 !-- Sets the imaginary part of x to zero +``` + +### __Arguments__ + + - __x__ + The type may be _integer_, _real_, or _complex_. + + - __y__ + (Optional; only allowed if __x__ is not _complex_.). May be _integer_ or + _real_. + + - __kind__ + (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of _complex_ type, with a kind equal to __kind__ if it is +specified. If __kind__ is not specified, the result is of the default +_complex_ kind, regardless of the kinds of __x__ and __y__. + +### __Examples__ + +Sample program: + +```fortran +program demo_aimag +implicit none +integer,parameter :: dp=kind(0.0d0) +complex :: z4 +complex(kind=dp) :: z8 + z4 = cmplx(1.23456789, 1.23456789) + print *, 'Z4=',z4 + ! using kind=dp makes it keep DOUBLEPRECISION precision + z8 = cmplx(1.2345678901234567d0, 1.2345678901234567d0,kind=dp) + print *, 'Z8=',z8 + ! NOTE: + ! The following is intuitive and works without calling cmplx(3) + ! but does not work for variables just constants + z8 = (1.2345678901234567d0 , 1.2345678901234567d0 ) + print *, 'Z8 defined with constants=',z8 +end program demo_aimag +``` + +Typical Results: + +``` + Z4= (1.23456788,1.23456788) + Z8= (1.2345678901234567,1.2345678901234567) + Z8 defined with constants= (1.2345678901234567,1.2345678901234567) +``` + +### __See Also__ + + - [__aimag__(3)](AIMAG) - Imaginary part of complex number + + - [__cmplx__(3)](CMPLX) - Complex conversion function + + - [__conjg__(3)](CONJG) - Complex conjugate function + + - [__real__(3)](REAL) - Convert to real type + +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md b/source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md new file mode 100644 index 000000000..5d9995dd4 --- /dev/null +++ b/source/learn/intrinsics/_pages/COMMAND_ARGUMENT_COUNT.md @@ -0,0 +1,62 @@ +## command\_argument\_count +### __Name__ + +__command\_argument\_count__(3) - \[SYSTEM:COMMAND LINE\] Get number of command line arguments + +### __Syntax__ +```fortran + result = command_argument_count() + + integer function command_argument_count() result(count) + integer :: count +``` +### __Description__ + + __command\_argument\_count()__ returns the number of arguments passed + on the command line when the containing program was invoked. + +### __Arguments__ + +None + +### __Returns__ + + - __count__ + : The return value is of type default _integer_. It is the number of + arguments passed on the command line when the program was invoked. + +### __Examples__ + +Sample program: + +```fortran +program demo_command_argument_count +implicit none +integer :: count + count = command_argument_count() + print *, count +end program demo_command_argument_count +``` + +Sample output: + +```bash + # the command verb does not count + ./test_command_argument_count + 0 + # quoted strings may count as one argument + ./test_command_argument_count count arguments + 2 + ./test_command_argument_count 'count arguments' + 1 +``` +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__get\_command__(3)](GET_COMMAND), +[__get\_command\_argument__(3)](GET_COMMAND_ARGUMENT) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/COMPILER_OPTIONS.md b/source/learn/intrinsics/_pages/COMPILER_OPTIONS.md new file mode 100644 index 000000000..be732058b --- /dev/null +++ b/source/learn/intrinsics/_pages/COMPILER_OPTIONS.md @@ -0,0 +1,58 @@ +## compiler\_options +### __Name__ + +__compiler\_options__(3) - \[COMPILER INQUIRY\] Options passed to the compiler + + +### __Syntax__ +```fortran +str = compiler_options() +``` +### __Description__ + +compiler\_options returns a string with the options used for compiling. + +### __Arguments__ + +None. + +### __Returns__ + +The return value is a default-kind string with system-dependent length. +It contains the compiler flags used to compile the file, which called +the compiler\_options intrinsic. + +### __Examples__ + +Sample program: + +```fortran +program demo_compiler_version +use, intrinsic :: iso_fortran_env, only : compiler_version, compiler_options +implicit none + print '(4a)', & + 'This file was compiled by ', & + compiler_version(), & + ' using the options ', & + compiler_options() +end program demo_compiler_version +``` +Results: +``` + This file was compiled by GCC version 5.4.0 using the options + -I /usr/include/w32api -I /home/urbanjs/V600/lib/CYGWIN64_GFORTRAN + -mtune=generic -march=x86-64 -g -Wunused -Wuninitialized -Wall + -std=f2008 -fbounds-check -fbacktrace -finit-real=nan + -fno-range-check -frecord-marker=4 + -J /home/urbanjs/V600/lib/CYGWIN64_GFORTRAN +``` +### __Standard__ + +Fortran 2008 + +### __See Also__ + +[__compiler\_version__(3)](COMPILER_VERSION), +__iso\_fortran\_env__(7) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/COMPILER_VERSION.md b/source/learn/intrinsics/_pages/COMPILER_VERSION.md new file mode 100644 index 000000000..89cd3dc9e --- /dev/null +++ b/source/learn/intrinsics/_pages/COMPILER_VERSION.md @@ -0,0 +1,61 @@ +## compiler\_version +### __Name__ + +__compiler\_version__(3) - \[COMPILER INQUIRY\] Compiler version string + + +### __Syntax__ + +```fortran +str = compiler_version() +``` + +### __Description__ + +__compiler\_version__(3) returns a string containing the name and +version of the compiler. + +### __Arguments__ + +None. + +### __Returns__ + +The return value is a default-kind string with system-dependent length. +It contains the name of the compiler and its version number. + +### __Examples__ + +Sample program: + +```fortran +program demo_compiler_version +use, intrinsic :: iso_fortran_env, only : compiler_version, compiler_options +implicit none + print '(4a)', & + 'This file was compiled by ', & + compiler_version(), & + ' using the options ', & + compiler_options() +end program demo_compiler_version +``` +Results: +``` + This file was compiled by GCC version 5.4.0 using the options + -I /usr/include/w32api -I /home/urbanjs/V600/lib/CYGWIN64_GFORTRAN + -mtune=generic -march=x86-64 -g -Wunused -Wuninitialized -Wall + -std=f2008 -fbounds-check -fbacktrace -finit-real=nan + -fno-range-check -frecord-marker=4 + -J /home/urbanjs/V600/lib/CYGWIN64_GFORTRAN +``` + +### __Standard__ + +Fortran 2008 + +### __See Also__ + +[__compiler\_options__(3)](COMPILER_OPTIONS), +__iso\_fortran\_env__(7) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CONJG.md b/source/learn/intrinsics/_pages/CONJG.md new file mode 100644 index 000000000..2541d71e8 --- /dev/null +++ b/source/learn/intrinsics/_pages/CONJG.md @@ -0,0 +1,99 @@ +## conjg +### __Name__ + +__conjg__(3) - \[NUMERIC\] Complex conjugate of a complex value + +### __Syntax__ +```fortran +z = conjg(z) + + complex(kind=K) elemental function conjg(z) + complex(kind=K),intent(in) :: z +``` +where __K__ is the kind of the parameter __z__ + +### __Description__ + +__conjg(z)__ returns the complex conjugate of the _complex_ value __z__. + +In mathematics, the complex conjugate of a complex_ number is the number +with an equal real part and an imaginary part equal in magnitude but +opposite in sign. + +That is, If __z__ is __(x, y)__ then the result is __(x, -y)__. + +For matrices of complex numbers, __conjg(array)__ represents the +element-by-element conjugation of __array__; not the conjugate transpose +of __array__ . + +### __Arguments__ + + - __z__ + : The type shall be _complex_. + +### __Returns__ + +The return value is of type _complex_. + +### __Examples__ + +Sample program: + +```fortran +program demo_conjg +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none +complex :: z = (2.0, 3.0) +complex(kind=real64) :: dz = ( & + & 1.2345678901234567_real64, & + & -1.2345678901234567_real64) +complex :: arr(3,3) +integer :: i + + print *, z + z= conjg(z) + print *, z + print * + + print *, dz + dz = conjg(dz) + print *, dz + print * + + ! the function is elemental so it can take arrays + arr(1,:)=[(-1.0, 2.0),( 3.0, 4.0),( 5.0,-6.0)] + arr(2,:)=[( 7.0,-8.0),( 8.0, 9.0),( 9.0, 9.0)] + arr(3,:)=[( 1.0, 9.0),( 2.0, 0.0),(-3.0,-7.0)] + + write(*,*)'original' + write(*,'(3("(",g8.2,",",g8.2,")",1x))')(arr(i,:),i=1,3) + arr = conjg(arr) + write(*,*)'conjugate' + write(*,'(3("(",g8.2,",",g8.2,")",1x))')(arr(i,:),i=1,3) + +end program demo_conjg +``` + Results: +```fortran + (2.000000,3.000000) + (2.000000,-3.000000) + + (1.23456789012346,-1.23456789012346) + (1.23456789012346,1.23456789012346) + + original +(-1.0 , 2.0 ) ( 3.0 , 4.0 ) ( 5.0 ,-6.0 ) +( 7.0 ,-8.0 ) ( 8.0 , 9.0 ) ( 9.0 , 9.0 ) +( 1.0 , 9.0 ) ( 2.0 , 0.0 ) (-3.0 ,-7.0 ) + + conjugate +(-1.0 ,-2.0 ) ( 3.0 ,-4.0 ) ( 5.0 , 6.0 ) +( 7.0 , 8.0 ) ( 8.0 ,-9.0 ) ( 9.0 ,-9.0 ) +( 1.0 ,-9.0 ) ( 2.0 , 0.0 ) (-3.0 , 7.0 ) +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/COS.md b/source/learn/intrinsics/_pages/COS.md new file mode 100644 index 000000000..11114ab87 --- /dev/null +++ b/source/learn/intrinsics/_pages/COS.md @@ -0,0 +1,75 @@ +## cos +### __Name__ + +__cos__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Cosine function + +### __Syntax__ +```fortran +result = cos(x) + + TYPE(kind=KIND),elemental :: cos + TYPE(kind=KIND,intent(in) :: x +``` +where TYPE may be _real_ or _complex_ and KIND may be any KIND supported +by the associated type. + +### __Description__ + +__cos(x)__ computes the cosine of an angle __x__ given the size of the +angle in radians. + +The cosine of a _real_ value is the ratio of the adjacent side to the +hypotenuse of a right-angled triangle. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + __x__ is assumed to be in radians. + +### __Returns__ + +The return value is of the same type and kind as __x__. + +If __x__ is of the type _real_, the return value lies in +the range __-1 \<= cos(x) \<= 1__ . + +### __Examples__ + +Sample program: + +```fortran +program demo_cos +implicit none +doubleprecision,parameter :: PI=atan(1.0d0)*4.0d0 + write(*,*)'COS(0.0)=',cos(0.0) + write(*,*)'COS(PI)=',cos(PI) + write(*,*)'COS(PI/2.0d0)=',cos(PI/2.0d0),' EPSILON=',epsilon(PI) + write(*,*)'COS(2*PI)=',cos(2*PI) + write(*,*)'COS(-2*PI)=',cos(-2*PI) + write(*,*)'COS(-2000*PI)=',cos(-2000*PI) + write(*,*)'COS(3000*PI)=',cos(3000*PI) +end program demo_cos +``` +Results: +``` + COS(0.0)= 1.00000000 + COS(PI)= -1.0000000000000000 + COS(PI/2.0d0)= 6.1232339957367660E-017 + EPSILON= 2.2204460492503131E-016 + COS(2*PI)= 1.0000000000000000 + COS(-2*PI)= 1.0000000000000000 + COS(-2000*PI)= 1.0000000000000000 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ +- [Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine) + +[__acos__(3)](ACOS), +[__sin__(3)](SIN), +[__tan__(3)](TAN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/COSH.md b/source/learn/intrinsics/_pages/COSH.md new file mode 100644 index 000000000..2dfa8c9d2 --- /dev/null +++ b/source/learn/intrinsics/_pages/COSH.md @@ -0,0 +1,58 @@ +## cosh +### __Name__ + +__cosh__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Hyperbolic cosine function + + +### __Syntax__ +```fortran + result = cosh(x) + + TYPE(kind=KIND) elemental function cosh(x) + TYPE(kind=KIND),intent(in) :: x +``` +where TYPE may be _real_ or _complex_ and KIND may be any +supported kind for the associated type. The returned __value__ +will be the same type and kind as the input value __x__. + +### __Description__ + +__cosh(x)__ computes the hyperbolic cosine of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value has same type and kind as __x__. If __x__ is _complex_, the +imaginary part of the result is in radians. + +If __x__ is _real_, the return value has a lower bound of one, +__cosh(x) \>= 1__. + +### __Examples__ + +Sample program: + +```fortran +program demo_cosh +use, intrinsic :: iso_fortran_env, only : & + & real_kinds, real32, real64, real128 +implicit none +real(kind=real64) :: x = 1.0_real64 + x = cosh(x) +end program demo_cosh +``` + +### __Standard__ + +FORTRAN 77 and later, for a complex argument - Fortran 2008 or later + +### __See Also__ +- [Wikipedia:hyperbolic functions](https://en.wikipedia.org/wiki/Hyperbolic_functions) + +Inverse function: [__acosh__(3)](ACOSH) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/COUNT.md b/source/learn/intrinsics/_pages/COUNT.md new file mode 100644 index 000000000..f32328d06 --- /dev/null +++ b/source/learn/intrinsics/_pages/COUNT.md @@ -0,0 +1,87 @@ +## count +### __Name__ + +__count__(3) - \[ARRAY REDUCTION\] Count function + + +### __Syntax__ +```fortran +result = count(mask, dim, kind) +``` +### __Description__ + +Counts the number of __.true.__ elements in a logical __mask__, or, if the __dim__ +argument is supplied, counts the number of elements along each row of +the array in the __dim__ direction. If the array has zero size, or all of +the elements of __mask__ are false, then the result is __0__. + +### __Arguments__ + + - __mask__ + : The type shall be _logical_. + + - __dim__ + : (Optional) The type shall be _integer_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. If __dim__ is present, the +result is an array with a rank one less than the rank of __array__, and a +size corresponding to the shape of __array__ with the __dim__ dimension removed. + +### __Examples__ + +Sample program: + +```fortran +program demo_count +implicit none +integer, dimension(2,3) :: a, b +logical, dimension(2,3) :: mymask + a = reshape( [ 1, 2, 3, 4, 5, 6 ], [ 2, 3 ]) + b = reshape( [ 0, 7, 3, 4, 5, 8 ], [ 2, 3 ]) + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print * + print '(3i3)', b(1,:) + print '(3i3)', b(2,:) + print * + mymask = a.ne.b + print '(3l3)', mymask(1,:) + print '(3l3)', mymask(2,:) + print * + print '(3i3)', count(mymask) + print * + print '(3i3)', count(mymask, 1) + print * + print '(3i3)', count(mymask, 2) +end program demo_count +``` + Expected Results: +```text + 1 3 5 + 2 4 6 + + 0 3 5 + 7 4 8 + + T F F + T F T + + 3 + + 2 0 1 + + 1 2 +``` +### __Standard__ + +Fortran 95 and later, with KIND argument - Fortran 2003 +and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_BROADCAST.md b/source/learn/intrinsics/_pages/CO_BROADCAST.md new file mode 100644 index 000000000..347bfdc04 --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_BROADCAST.md @@ -0,0 +1,60 @@ +## co\_broadcast +### __Name__ + +__co\_broadcast__(3) - \[COLLECTIVE\] Copy a value to all images the current set of images + + +### __Syntax__ +```fortran +call co_broadcast(a, source_image, stat, errmsg) +``` +### __Description__ + +__co\_broadcast(3)__ copies the value of argument __a__ on the image with image +index source\_image to all images in the current team. __a__ becomes defined +as if by intrinsic assignment. If the execution was successful and __stat__ +is present, it is assigned the value zero. If the execution failed, __stat__ +gets assigned a nonzero value and, if present, __errmsg__ gets assigned a +value describing the occurred error. + +### __Arguments__ + + - __a__ + : __intent(inout)__ argument; shall have the same dynamic type and + type parameters on all images of the current team. If it is an + array, it shall have the same shape on all images. + + - __source\_image__ + : a scalar integer expression. It shall have the same the same value + on all images and refer to an image of the current team. + + - __stat__ + : (optional) a scalar integer variable + + - __errmsg__ + : (optional) a scalar character variable + +### __Examples__ + +Sample program: + +```fortran +program demo_co_broadcast +implicit none +integer :: val(3) + if (this_image() == 1) then + val = [1, 5, 3] + endif + call co_broadcast (val, source_image=1) + print *, this_image(), ":", val +end program demo_co_broadcast +``` + +### __See Also__ + +[__co\_max__(3)](CO_MAX), +[__co\_min__(3)](CO_MIN), +[__co\_sum__(3)](CO_SUM), +[__co\_reduce__(3)](CO_REDUCE) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_LBOUND.md b/source/learn/intrinsics/_pages/CO_LBOUND.md new file mode 100644 index 000000000..3c4755b1c --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_LBOUND.md @@ -0,0 +1,45 @@ +## co\_lbound +### __Name__ + +__co\_lbound__(3) - \[COLLECTIVE\] Lower codimension bounds of an array + + +### __Syntax__ +```fortran +result = co_lbound(coarray, dim, kind) +``` +### __Description__ + +Returns the lower bounds of a coarray, or a single lower cobound along +the __dim__ codimension. + +### __Arguments__ + + - __array__ + : Shall be an coarray, of any type. + + - __dim__ + : (Optional) Shall be a scalar _integer_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. If __dim__ is absent, the +result is an array of the lower cobounds of __coarray__. If __dim__ is present, +the result is a scalar corresponding to the lower cobound of the array +along that codimension. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__co\_ubound__(3)](CO_UBOUND), +[__lbound__(3)](LBOUND) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_MAX.md b/source/learn/intrinsics/_pages/CO_MAX.md new file mode 100644 index 000000000..73f6d3268 --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_MAX.md @@ -0,0 +1,70 @@ +## co\_max +### __Name__ + +__co\_max__(3) - \[COLLECTIVE\] Maximal value on the current set of images + + +### __Syntax__ +```fortran +call co_max(a, result_image, stat, errmsg) +``` +### __Description__ + +co\_max determines element-wise the maximal value of __a__ on all images of +the current team. If result\_image is present, the maximum values are +returned in __a__ on the specified image only and the value of __a__ on the +other images become undefined. If result\_image is not present, the +value is returned on all images. If the execution was successful and +__stat__ is present, it is assigned the value zero. If the execution failed, +__stat__ gets assigned a nonzero value and, if present, __errmsg__ gets assigned +a value describing the occurred error. + +### __Arguments__ + + - __a__ + : shall be an integer, real or character variable, which has the same + type and type parameters on all images of the team. + + - __result\_image__ + : (optional) a scalar integer expression; if present, it shall have + the same the same value on all images and refer to an image of the + current team. + + - __stat__ + : (optional) a scalar integer variable + + - __errmsg__ + : (optional) a scalar character variable + +### __Examples__ + +Sample program: + +```fortran +program demo_co_max +implicit none +integer :: val + val = this_image() + call co_max(val, result_image=1) + if (this_image() == 1) then + write(*,*) "Maximal value", val ! prints num_images() + endif +end program demo_co_max +``` + Results: +```text + Maximal value 2 +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__co\_min__(3)](CO_MIN), +[__co\_sum__(3)](CO_SUM), +[__co\_reduce__(3)](CO_REDUCE), +[__co\_broadcast__(3)](CO_BROADCAST) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_MIN.md b/source/learn/intrinsics/_pages/CO_MIN.md new file mode 100644 index 000000000..49867f624 --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_MIN.md @@ -0,0 +1,66 @@ +## co\_min +### __Name__ + +__co\_min__(3) - \[COLLECTIVE\] Minimal value on the current set of images + + +### __Syntax__ +```fortran +call co_min(a, result_image, stat, errmsg) +``` +### __Description__ + +co\_min determines element-wise the minimal value of __a__ on all images of +the current team. If result\_image is present, the minimal values are +returned in __a__ on the specified image only and the value of __a__ on the +other images become undefined. If result\_image is not present, the +value is returned on all images. If the execution was successful and +__stat__ is present, it is assigned the value zero. If the execution failed, +__stat__ gets assigned a nonzero value and, if present, __errmsg__ gets assigned +a value describing the occurred error. + +### __Arguments__ + + - __a__ + : shall be an integer, real or character variable, which has the same + type and type parameters on all images of the team. + + - __result\_image__ + : (optional) a scalar integer expression; if present, it shall have + the same the same value on all images and refer to an image of the + current team. + + - __stat__ + : (optional) a scalar integer variable + + - __errmsg__ + : (optional) a scalar character variable + +### __Examples__ + +Sample program: + +```fortran +program demo_co_min +implicit none +integer :: val + val = this_image() + call co_min(val, result_image=1) + if (this_image() == 1) then + write(*,*) "Minimal value", val ! prints 1 + endif +end program demo_co_min +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__co\_max__(3)](CO_MAX), +[__co\_sum__(3)](CO_SUM), +[__co\_reduce__(3)](CO_REDUCE), +[__co\_broadcast__(3)](CO_BROADCAST) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_REDUCE.md b/source/learn/intrinsics/_pages/CO_REDUCE.md new file mode 100644 index 000000000..7660239dc --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_REDUCE.md @@ -0,0 +1,100 @@ +## co\_reduce +### __Name__ + +__co\_reduce__(3) - \[COLLECTIVE\] Reduction of values on the current set of images + + +### __Syntax__ +```fortran +call co_reduce(a, operation, result_image, stat, errmsg) +``` +### __Description__ + +co\_reduce determines element-wise the reduction of the value of __a__ on +all images of the current team. The pure function passed as __operation__ is +used to pairwise reduce the values of __a__ by passing either the value of __a__ +of different images or the result values of such a reduction as +argument. If __a__ is an array, the reduction is done element wise. If +result\_image is present, the result values are returned in __a__ on the +specified image only and the value of __a__ on the other images become +undefined. If result\_image is not present, the value is returned on all +images. If the execution was successful and __stat__ is present, it is +assigned the value zero. If the execution failed, __stat__ gets assigned a +nonzero value and, if present, __errmsg__ gets assigned a value describing +the occurred error. + +### __Arguments__ + + - __a__ + : is an __intent(inout)__ argument and shall be nonpolymorphic. If it + is allocatable, it shall be allocated; if it is a pointer, it shall + be associated. __a__ shall have the same type and type parameters on all + images of the team; if it is an array, it shall have the same shape + on all images. + + - __operation__ + : pure function with two scalar nonallocatable arguments, which shall + be nonpolymorphic and have the same type and type parameters as __a__. + The function shall return a nonallocatable scalar of the same type + and type parameters as __a__. The function shall be the same on all + images and with regards to the arguments mathematically commutative + and associative. Note that OPERATION may not be an elemental + + - __function, unless it is an intrinsic function.__ + result\_image + + - (optional) a scalar integer expression; if present, it shall + have the same the same value on all images and refer to an image + of the current team. + + - __stat__ + : (optional) a scalar integer variable + + - __errmsg__ + : (optional) a scalar character variable + +### __Examples__ + +Sample program: + +```fortran +program demo_co_reduce +implicit none +integer :: val + + val = this_image() + call co_reduce(val, myprod, 1) + if (this_image() == 1) then + write(*,*) "Product value", val ! prints num_images() factorial + endif + +contains + +pure function myprod(a, b) + integer, value :: a, b + integer :: myprod + myprod = a * b +end function myprod + +end program demo_co_reduce +``` + +### __Note__ + +While the rules permit in principle an intrinsic function, none of the +intrinsics in the standard fulfill the criteria of having a specific +function, which takes two arguments of the same type and returning that +type as a result. + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__co\_min__(3)](CO_MIN), +[__co\_max__(3)](CO_MAX), +[__co\_sum__(3)](CO_SUM), +[__co\_broadcast__(3)](CO_BROADCAST) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_SUM.md b/source/learn/intrinsics/_pages/CO_SUM.md new file mode 100644 index 000000000..67437f7f5 --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_SUM.md @@ -0,0 +1,71 @@ +## co\_sum +### __Name__ + +__co\_sum__(3) - \[COLLECTIVE\] Sum of values on the current set of images + + +### __Syntax__ +```fortran +call co_sum(a, result_image, stat, errmsg) +``` +### __Description__ + +co\_sum sums up the values of each element of __a__ on all images of the +current team. If result\_image is present, the summed-up values are +returned in __a__ on the specified image only and the value of __a__ on the +other images become undefined. If result\_image is not present, the +value is returned on all images. If the execution was successful and +__stat__ is present, it is assigned the value zero. If the execution failed, +__stat__ gets assigned a nonzero value and, if present, __errmsg__ gets assigned +a value describing the occurred error. + +### __Arguments__ + + - __a__ + : shall be an integer, real or complex variable, which has the same + type and type parameters on all images of the team. + + - __result\_image__ + : (optional) a scalar integer expression; if present, it shall have + the same the same value on all images and refer to an image of the + current team. + + - __stat__ + : (optional) a scalar integer variable + + - __errmsg__ + : (optional) a scalar character variable + +### __Examples__ + +Sample program: + +```fortran +program demo_co_sum +implicit none +integer :: val + val = this_image() + call co_sum(val, result_image=1) + if (this_image() == 1) then + ! prints (n**2 + n)/2, with n = num_images() + write(*,*) "The sum is ", val + endif +end program demo_co_sum +``` + Results: +```text + The sum is 1 +``` + +### __Standard__ + +TS 18508 or later + +### __See Also__ + +[__co\_max__(3)](CO_MAX), +[__co\_min__(3)](CO_MIN), +[__co\_reduce__(3)](CO_REDUCE), +[__co\_broadcast__(3)](CO_BROADCAST) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CO_UBOUND.md b/source/learn/intrinsics/_pages/CO_UBOUND.md new file mode 100644 index 000000000..5b652ec3b --- /dev/null +++ b/source/learn/intrinsics/_pages/CO_UBOUND.md @@ -0,0 +1,46 @@ +## co\_ubound +### __Name__ + +__co\_ubound__(3) - \[COLLECTIVE\] Upper codimension bounds of an array + + +### __Syntax__ +```fortran +result = co_ubound(coarray, dim, kind) +``` +### __Description__ + +Returns the upper cobounds of a coarray, or a single upper cobound along +the __dim__ codimension. + +### __Arguments__ + + - __array__ + : Shall be an coarray, of any type. + + - __dim__ + : (Optional) Shall be a scalar _integer_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. If __dim__ is absent, the +result is an array of the lower cobounds of __coarray__. If __dim__ is present, +the result is a scalar corresponding to the lower cobound of the array +along that codimension. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__co\_lbound__(3)](CO_LBOUND), +[__lbound__(3)](LBOUND), +[__ubound__(3)](UBOUND) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/CPU_TIME.md b/source/learn/intrinsics/_pages/CPU_TIME.md new file mode 100644 index 000000000..8522e28f2 --- /dev/null +++ b/source/learn/intrinsics/_pages/CPU_TIME.md @@ -0,0 +1,73 @@ +## cpu\_time +### __Name__ + +__cpu\_time__(3) - \[SYSTEM:TIME\] return CPU processor time in seconds + +### __Syntax__ +```fortran + call cpu_time(time) + real,intent(out) :: time +``` +### __Description__ + +Returns a _real_ value representing the elapsed CPU time in seconds. This +is useful for testing segments of code to determine execution time. + +The exact definition of time is left imprecise because of the +variability in what different processors are able to provide. + +If no time source is available, TIME is set to a negative value. + +Note that TIME may contain a system dependent, arbitrary offset and may +not start with 0.0. For cpu\_time the absolute value is meaningless. +Only differences between subsequent calls, as shown in the example +below, should be used. + +A processor for which a single result is inadequate (for example, a +parallel processor) might choose to provide an additional version for +which time is an array. + +### __Returns__ + + - __TIME__ + : The type shall be _real_ with __intent(out)__. It is assigned a + processor-dependent approximation to the processor time in seconds. + If the processor cannot return a meaningful time, a + processor-dependent negative value + + - __is returned.__ + The start time is left imprecise because the purpose is to time + sections of code, as in the example. This might or might not + include system overhead time. + +### __Examples__ + +Sample program: + +```fortran +program demo_cpu_time +implicit none +real :: start, finish + ! + call cpu_time(start) + ! put code to test here + call cpu_time(finish) + ! + ! writes processor time taken by the piece of code. + print '("Processor Time = ",f6.3," seconds.")',finish-start +end program demo_cpu_time +``` + Results: +```text + Processor Time = 0.000 seconds. +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__system\_clock__(3)](SYSTEM_CLOCK), +[__date\_and\_time__(3)](DATE_AND_TIME) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/CSHIFT.md b/source/learn/intrinsics/_pages/CSHIFT.md new file mode 100644 index 000000000..51ea501e8 --- /dev/null +++ b/source/learn/intrinsics/_pages/CSHIFT.md @@ -0,0 +1,70 @@ +## cshift +### __Name__ + +__cshift__(3) - \[TRANSFORMATIONAL\] Circular shift elements of an array + + +### __Syntax__ +```fortran +result = cshift(array, shift, dim) +``` +### __Description__ + +__cshift(array, shift \[, dim\])__ performs a circular shift on elements +of __array__ along the dimension of __dim__. If __dim__ is omitted it is taken to be +__1__. __dim__ is a scalar of type _integer_ in the range of __1 \<= dim \<= n__, +where "n" is the rank of __array__. If the rank of __array__ is one, then all +elements of __array__ are shifted by __shift__ places. If rank is greater than +one, then all complete rank one sections of __array__ along the given +dimension are shifted. Elements shifted out one end of each rank one +section are shifted back in the other end. + +### __Arguments__ + + - __array__ + : Shall be an array of any type. + + - __shift__ + : The type shall be _integer_. + + - __dim__ + : The type shall be _integer_. + +### __Returns__ + +Returns an array of same type and rank as the __array__ argument. + +### __Examples__ + +Sample program: + +```fortran +program demo_cshift +implicit none +integer, dimension(3,3) :: a + a = reshape( [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], [ 3, 3 ]) + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) + a = cshift(a, SHIFT=[1, 2, -1], DIM=2) + print * + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) +end program demo_cshift +``` + Results: +```text + 1 4 7 + 2 5 8 + 3 6 9 + + 4 7 1 + 8 2 5 + 9 3 6 +``` +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/C_ASSOCIATED.md b/source/learn/intrinsics/_pages/C_ASSOCIATED.md new file mode 100644 index 000000000..0769acdde --- /dev/null +++ b/source/learn/intrinsics/_pages/C_ASSOCIATED.md @@ -0,0 +1,62 @@ +## c\_associated +### __Name__ + +__c\_associated__(3) - \[ISO\_C\_BINDING\] Status of a C pointer + + +### __Syntax__ +```fortran +result = c_associated(c_prt_1, c_ptr_2) +``` +### __Description__ + +__c\_associated(c\_prt\_1\[, c\_ptr\_2\])__ determines the status of the +C pointer c\_ptr\_1 or if c\_ptr\_1 is associated with the target +c\_ptr\_2. + +### __Arguments__ + + - __c\_ptr\_1__ + : Scalar of the type c\_ptr or c\_funptr. + + - __c\_ptr\_2__ + : (Optional) Scalar of the same type as c\_ptr\_1. + +### __Returns__ + +The return value is of type _logical_; it is .false. if either c\_ptr\_1 +is a C NULL pointer or if c\_ptr1 and c\_ptr\_2 point to different +addresses. + +### __Examples__ + +Sample program: + +```fortran +program demo_c_associated + +contains + +subroutine association_test(a,b) +use iso_c_binding, only: c_associated, c_loc, c_ptr +implicit none +real, pointer :: a +type(c_ptr) :: b + if(c_associated(b, c_loc(a))) & + stop 'b and a do not point to same target' +end subroutine association_test + +end program demo_c_associated +``` + +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__c\_loc__(3)](C_LOC), +[__c\_funloc__(3)](C_FUNLOC), +__iso\_c\_binding__(3) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/C_FUNLOC.md b/source/learn/intrinsics/_pages/C_FUNLOC.md new file mode 100644 index 000000000..b161f448f --- /dev/null +++ b/source/learn/intrinsics/_pages/C_FUNLOC.md @@ -0,0 +1,69 @@ +## c\_funloc +### __Name__ + +__c\_funloc__(3) - \[ISO\_C\_BINDING\] Obtain the C address of a procedure + + +### __Syntax__ +```fortran +result = c_funloc(x) +``` +### __Description__ + +__c\_funloc(x)__ determines the C address of the argument. + +### __Arguments__ + + - __x__ + : Interoperable function or pointer to such function. + +### __Returns__ + +The return value is of type c\_funptr and contains the C address of the +argument. + +### __Examples__ + +Sample program: + +```fortran +! program demo_c_funloc and module +module x +use iso_c_binding +implicit none +contains +subroutine sub(a) bind(c) +real(c_float) :: a + a = sqrt(a)+5.0 +end subroutine sub +end module x +! +program demo_c_funloc +use iso_c_binding +use x +implicit none +interface + subroutine my_routine(p) bind(c,name='myC_func') + import :: c_funptr + type(c_funptr), intent(in) :: p + end subroutine +end interface + call my_routine(c_funloc(sub)) +! +end program demo_c_funloc +``` + +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__c\_associated__(3)](C_ASSOCIATED), +[__c\_loc__(3)](C_LOC), +[__c\_f\_pointer__(3)](C_F_POINTER), + +[__c\_f\_procpointer__(3)](C_F_PROCPOINTER), +__iso\_c\_binding__(3) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/C_F_POINTER.md b/source/learn/intrinsics/_pages/C_F_POINTER.md new file mode 100644 index 000000000..b57f717fe --- /dev/null +++ b/source/learn/intrinsics/_pages/C_F_POINTER.md @@ -0,0 +1,60 @@ +## c\_f\_pointer +### __Name__ + +__c\_f\_pointer__(3) - \[ISO\_C\_BINDING\] Convert C into Fortran pointer + + +### __Syntax__ +```fortran +call c_f_pointer(cptr, fptr, shape) +``` +### __Description__ + +__c\_f\_pointer(cptr, fptr\[, shape\])__ Assign the target, the C +pointer, __cptr__ to the Fortran pointer __fptr__ and specify its shape. + +### __Arguments__ + + - __cptr__ + : scalar of the type c\_ptr. It is __intent(in)__. + + - __fptr__ + : pointer interoperable with __cptr__. it is __intent(out)__. + + - __shape__ + : (Optional) Rank-one array of type _integer_ with __intent(in)__ . + It shall be present if and only if __fptr__ is an array. The size + must be equal to the rank of __fptr__. + +### __Examples__ + +Sample program: + +```fortran +program demo_c_f_pointer +use iso_c_binding +implicit none +interface + subroutine my_routine(p) bind(c,name='myC_func') + import :: c_ptr + type(c_ptr), intent(out) :: p + end subroutine +end interface +type(c_ptr) :: cptr +real,pointer :: a(:) + call my_routine(cptr) + call c_f_pointer(cptr, a, [12]) +end program demo_c_f_pointer +``` + +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__c\_loc__(3)](C_LOC), +[__c\_f\_procpointer__(3)](C_F_PROCPOINTER), +__iso\_c\_binding__(3) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/C_F_PROCPOINTER.md b/source/learn/intrinsics/_pages/C_F_PROCPOINTER.md new file mode 100644 index 000000000..1a8c7dad8 --- /dev/null +++ b/source/learn/intrinsics/_pages/C_F_PROCPOINTER.md @@ -0,0 +1,62 @@ +## c\_f\_procpointer +### __Name__ + +__c\_f\_procpointer__(3) - \[ISO\_C\_BINDING\] Convert C into Fortran procedure pointer + + +### __Syntax__ +```fortran +call c_f_procpointer(cptr, fptr) +``` +### __Description__ + +__c\_f\_procpointer(cptr, fptr)__ assigns the target of the C function +pointer __cptr__ to the Fortran procedure pointer __fptr__. + +### __Arguments__ + + - __cptr__ + : scalar of the type c\_funptr. It is __intent(in)__. + + - __fptr__ + : procedure pointer interoperable with __cptr__. It is __intent(out)__. + +### __Examples__ + +Sample program: + +```fortran +program demo_c_f_procpointer +use iso_c_binding +implicit none +abstract interface + function func(a) + import :: c_float + real(c_float), intent(in) :: a + real(c_float) :: func + end function +end interface +interface + function getIterFunc() bind(c,name="getIterFunc") + import :: c_funptr + type(c_funptr) :: getIterFunc + end function +end interface +type(c_funptr) :: cfunptr +procedure(func), pointer :: myFunc + cfunptr = getIterFunc() + call c_f_procpointer(cfunptr, myFunc) +end program demo_c_f_procpointer +``` + +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__c\_loc__(3)](C_LOC), +[__c\_f\_pointer__(3)](C_F_POINTER), +__iso\_c\_binding__(3) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/C_LOC.md b/source/learn/intrinsics/_pages/C_LOC.md new file mode 100644 index 000000000..1dd48aded --- /dev/null +++ b/source/learn/intrinsics/_pages/C_LOC.md @@ -0,0 +1,56 @@ +## c\_loc +### __Name__ + +__c\_loc__(3) - \[ISO\_C\_BINDING\] Obtain the C address of an object + + +### __Syntax__ +```fortran +result = c_loc(x) +``` +### __Description__ + +__c\_loc(x)__ determines the C address of the argument. + +### __Arguments__ + + - __x__ + : Shall have either the _pointer_ or _target_ attribute. It shall not be a + coindexed object. It shall either be a variable with interoperable + type and kind type parameters, or be a scalar, nonpolymorphic + variable with no length type parameters. + +### __Returns__ + +The return value is of type c\_ptr and contains the C address of the +argument. + +### __Examples__ + +Sample program: + +```fortran + subroutine association_test(a,b) + use iso_c_binding, only: c_associated, c_loc, c_ptr + implicit none + real, pointer :: a + type(c_ptr) :: b + if(c_associated(b, c_loc(a))) & + stop 'b and a do not point to same target' + end subroutine association_test +``` + +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__c\_associated__(3)](C_ASSOCIATED), +[__c\_funloc__(3)](C_FUNLOC), +[__c\_f\_pointer__(3)](C_F_POINTER), + +[__c\_f\_procpointer__(3)](C_F_PROCPOINTER), +__iso\_c\_binding__(3) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/C_SIZEOF.md b/source/learn/intrinsics/_pages/C_SIZEOF.md new file mode 100644 index 000000000..3a982b901 --- /dev/null +++ b/source/learn/intrinsics/_pages/C_SIZEOF.md @@ -0,0 +1,58 @@ +## c\_sizeof +### __Name__ + +__c\_sizeof__(3) - \[ISO\_C\_BINDING\] Size in bytes of an expression + + +### __Syntax__ +```fortran +n = c_sizeof(x) +``` +### __Description__ + +__c\_sizeof(x)__ calculates the number of bytes of storage the +expression __x__ occupies. + +### __Arguments__ + + - __x__ + : The argument shall be an interoperable data entity. + +### __Returns__ + +The return value is of type integer and of the system-dependent kind +c\_size\_t (from the *iso\_c\_binding* module). Its value is the +number of bytes occupied by the argument. If the argument has the +_pointer_ attribute, the number of bytes of the storage area pointed to is +returned. If the argument is of a derived type with _pointer_ or +_allocatable_ components, the return value does not account for the sizes +of the data pointed to by these components. + +### __Examples__ + +Sample program: + +```fortran +program demo_c_sizeof +use iso_c_binding +implicit none +real(c_float) :: r, s(5) + print *, (c_sizeof(s)/c_sizeof(r) == 5) +end program demo_c_sizeof +``` + Results: +```text + T +``` +The example will print .true. unless you are using a platform where +default _real_ variables are unusually padded. + +### __Standard__ + +Fortran 2008 + +### __See Also__ + +[__storage\_size__(3)](STORAGE_SIZE) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/DATE_AND_TIME.md b/source/learn/intrinsics/_pages/DATE_AND_TIME.md new file mode 100644 index 000000000..ba6586a14 --- /dev/null +++ b/source/learn/intrinsics/_pages/DATE_AND_TIME.md @@ -0,0 +1,112 @@ +## date\_and\_time +### __Name__ + +__date\_and\_time__(3) - \[SYSTEM:TIME\] gets current time + +### __Syntax__ +```fortran + subroutine date_and_time(date, time, zone, values) + + character(len=8),intent(out),optional :: date + character(len=10),intent(out),optional :: time + character(len=5),intent(out),optional :: zone + integer,intent(out),optional :: values(8) +``` +### __Description__ + +__date\_and\_time(date, time, zone, values)__ gets the corresponding +date and time information from the real-time system clock. + +Unavailable time and date _character_ parameters return blanks. + +### __Arguments__ + + - __date__ + : A character string of default kind of the form CCYYMMDD, of length 8 or larger. + + - __time__ + : A character string of default kind of the form HHMMSS.SSS, of length 10 or larger. + + - __zone__ + : A character string of default kind of the form (+-)HHMM, of length 5 or larger, + representing the difference with respect to Coordinated Universal Time (UTC). + + - __values__ + : An _integer_ array of eight elements that contains: + + - __values__(1) + : The year + - __values__(2) + : The month + - __values__(3) + : The day of the month + - __values__(4) + : Time difference with UTC in minutes + - __values__(5) + : The hour of the day + - __values__(6) + : The minutes of the hour + - __values__(7) + : The seconds of the minute + - __values__(8) + : The milliseconds of the second + +### __Examples__ + +Sample program: + +```fortran +program demo_date_and_time +implicit none +character(len=8) :: date +character(len=10) :: time +character(len=5) :: zone +integer,dimension(8) :: values + + call date_and_time(date,time,zone,values) + + ! using keyword arguments + call date_and_time(DATE=date,TIME=time,ZONE=zone) + print '(*(g0))','DATE="',date,'" TIME="',time,'" ZONE="',zone,'"' + + call date_and_time(VALUES=values) + write(*,'(i5,a)') & + & values(1),' - The year', & + & values(2),' - The month', & + & values(3),' - The day of the month', & + & values(4),' - Time difference with UTC in minutes', & + & values(5),' - The hour of the day', & + & values(6),' - The minutes of the hour', & + & values(7),' - The seconds of the minute', & + & values(8),' - The milliseconds of the second' +end program demo_date_and_time +``` +Results: +``` + DATE="20201222" TIME="165738.779" ZONE="-0500" + 2020 - The year + 12 - The month + 22 - The day of the month + -300 - Time difference with UTC in minutes + 16 - The hour of the day + 57 - The minutes of the hour + 38 - The seconds of the minute + 779 - The milliseconds of the second +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__cpu\_time__(3)](CPU_TIME), +[__system\_clock__(3)](SYSTEM_CLOCK) + +### __Resources__ + date and time conversion, formatting and computation + + - [M_time](https://github.com/urbanjost/M_time) + - [datetime](https://github.com/wavebitscientific/datetime-fortran) + - [datetime-fortran](https://github.com/wavebitscientific/datetime-fortran) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/DBLE.md b/source/learn/intrinsics/_pages/DBLE.md new file mode 100644 index 000000000..5f1ad2ddf --- /dev/null +++ b/source/learn/intrinsics/_pages/DBLE.md @@ -0,0 +1,58 @@ +## dble +### __Name__ + +__dble__(3) - \[TYPE:NUMERIC\] Double conversion function + + +### __Syntax__ +```fortran +result = dble(a) + + elemental function dble(a) + type(real(kind=kind(0.0d0))) :: dble + type(TYPE(kind=KIND)),intent(in) :: a +``` +where TYPE may be _integer_, _real_, or _complex_ and KIND any kind +supported by the TYPE. +### __Description__ + +__dble(a)__ Converts __a__ to double precision _real_ type. + +### __Arguments__ + + - __a__ + : The type shall be _integer_, _real_, or _complex_. + +### __Returns__ + +The return value is of type _doubleprecision_. For _complex_ input, +the returned value has the magnitude and sign of the real component +of the input value. + +### __Examples__ + +Sample program: + +```fortran +program demo_dble +implicit none +real:: x = 2.18 +integer :: i = 5 +complex :: z = (2.3,1.14) + print *, dble(x), dble(i), dble(z) +end program demo_dble +``` + Results: +```text + 2.1800000667572021 5.0000000000000000 2.2999999523162842 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__float__(3)](FLOAT), +[__real__(3)](REAL) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/DIGITS.md b/source/learn/intrinsics/_pages/DIGITS.md new file mode 100644 index 000000000..3d774c605 --- /dev/null +++ b/source/learn/intrinsics/_pages/DIGITS.md @@ -0,0 +1,78 @@ +## digits +### __Name__ + +__digits__(3) - \[NUMERIC MODEL\] Significant digits function + +### __Syntax__ +```fortran +result = digits(x) + function digits(x) + type(integer(kind=kind(0))) :: digits + type(TYPE(kind=KIND)),intent(in) :: x(..) +``` +where TYPE may be _integer_ or _real_ and KIND is any kind supported by +TYPE. + +### __Description__ + +__digits(x)__ returns the number of significant digits of the internal +model representation of __x__. For example, on a system using a 32-bit +floating point representation, a default real number would likely return +24. + +### __Arguments__ + + - __x__ + : The type may be a scalar or array of type _integer_ or _real_. + +### __Returns__ + +The return value is of type _integer_ of default kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_digits +implicit none +integer :: i = 12345 +real :: x = 3.143 +doubleprecision :: y = 2.33d0 + print *,'default integer:', digits(i) + print *,'default real: ', digits(x) + print *,'default doubleprecision:', digits(y) +end program demo_digits +``` + +Typical Results: + +``` + default integer: 31 + default real: 24 + default doubleprecision: 53 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/DIM.md b/source/learn/intrinsics/_pages/DIM.md new file mode 100644 index 000000000..1bba7b95d --- /dev/null +++ b/source/learn/intrinsics/_pages/DIM.md @@ -0,0 +1,65 @@ +## dim +### __Name__ + +__dim__(3) - \[NUMERIC\] Positive difference + + +### __Syntax__ +```fortran +result = dim(x, y) + + elemental function dim(x, y) + type(TYPE(kind=KIND)) :: dim + type(TYPE(kind=KIND)),intent(in) :: x, y +``` +where TYPE may be _real_ or _integer_ and KIND is any supported kind for the type. +### __Description__ + +__dim(x,y)__ returns the difference __x - y__ if the result is positive; +otherwise it returns zero. + +### __Arguments__ + + - __x__ + : The type shall be _integer_ or _real_ + + - __y__ + : The type shall be the same type and kind as __x__. + +### __Returns__ + +The return value is the same type and kind as the input arguments __x__ and __y__. + +### __Examples__ + +Sample program: + +```fortran +program demo_dim +use, intrinsic :: iso_fortran_env, only : real64 +implicit none +integer :: i +real(kind=real64) :: x + i = dim(4, 15) + x = dim(4.321_real64, 1.111_real64) + print *, i + print *, x + ! elemental + print *, dim([1,2,3],2) + print *, dim([1,2,3],[3,2,1]) + print *, dim(-10,[0,-10,-20]) +end program demo_dim +``` +Results: +```text + 0 + 3.21000000000000 + 0 0 1 + 0 0 2 + 0 0 10 +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/DOT_PRODUCT.md b/source/learn/intrinsics/_pages/DOT_PRODUCT.md new file mode 100644 index 000000000..097b93a09 --- /dev/null +++ b/source/learn/intrinsics/_pages/DOT_PRODUCT.md @@ -0,0 +1,66 @@ +## dot\_product +### __Name__ + +__dot\_product__(3) - \[TRANSFORMATIONAL\] Dot product function + + +### __Syntax__ +```fortran +result = dot_product(vector_a, vector_b) +``` +### __Description__ + +__dot\_product(vector\_a, vector\_b)__ computes the dot product +multiplication of two vectors vector\_a and vector\_b. The two vectors +may be either numeric or logical and must be arrays of rank one and of +equal size. If the vectors are _integer_ or _real_, the result is +__sum(vector\_a\*vector\_b)__. If the vectors are _complex_, the result is +__sum(conjg(vector\_a)\*vector\_b)__. If the vectors are _logical_, the +result is __any(vector\_a .and. vector\_b)__. + +### __Arguments__ + + - __vector\_a__ + : The type shall be numeric or _logical_, rank 1. + + - __vector\_b__ + : The type shall be numeric if vector\_a is of numeric type or _logical_ + if vector\_a is of type _logical_. vector\_b shall be a rank-one + array. + +### __Returns__ + +If the arguments are numeric, the return value is a scalar of numeric +type, _integer_, _real_, or _complex_. If the arguments are _logical_, the +return value is .true. or .false.. + +### __Examples__ + +Sample program: + +```fortran +program demo_dot_prod +implicit none + integer, dimension(3) :: a, b + a = [ 1, 2, 3 ] + b = [ 4, 5, 6 ] + print '(3i3)', a + print * + print '(3i3)', b + print * + print *, dot_product(a,b) +end program demo_dot_prod +``` + Results: +```text + 1 2 3 + + 4 5 6 + + 32 +``` +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/DPROD.md b/source/learn/intrinsics/_pages/DPROD.md new file mode 100644 index 000000000..24f12052d --- /dev/null +++ b/source/learn/intrinsics/_pages/DPROD.md @@ -0,0 +1,85 @@ +## dprod +### __Name__ + +__dprod__(3) - \[NUMERIC\] Double product function + + +### __Syntax__ +```fortran +result = dprod(x, y) +``` +### __Description__ + +__dprod(x,y)__ produces a higher _doubleprecision_ product of default _real_ +numbers __x__ and __y__. + +The result has a value equal to a processor-dependent approximation to +the product of __x__ and __y__. It is recommended that the processor compute the +product in double precision, rather than in single precision and then +converted to double precision. + + - __x__ + : shall be default real. + + - __y__ + : shall be default real. + +The setting of compiler options specifying _real_ size can affect this +function. + +### __Arguments__ + + - __x__ + : Must be of default _real(kind=kind(0.0))_ type + + - __y__ + : Must have the same type and kind parameters as __x__ + +### __Returns__ + +The return value is of type _real(kind=kind(0.0d0))_. + +### __Examples__ + +Sample program: + +```fortran +program demo_dprod +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none +integer,parameter :: dp=kind(0.0d0) +real :: x = 5.2 +real :: y = 2.3 +real(kind=dp) :: dd + dd = dprod(x,y) + print *, dd, x*y, kind(x), kind(dd), kind(dprod(x,y)) + ! interesting comparisons + print *, 52*23 + print *, 52*23/100.0 + print *, 52*23/100.0d0 + + !! common extension is to take doubleprecision arguments + !! and return higher precision + bigger: block + doubleprecision :: xx = 5.2d0 + doubleprecision :: yy = 2.3d0 + real(kind=real128) :: ddd + !ddd = dprod(xx,yy) + !print *, ddd, xx*yy, kind(xx), kind(ddd), kind(dprod(xx,yy)) + endblock bigger + +end program demo_dprod +``` + Results: +```text + 11.959999313354501 11.9599991 4 8 8 + 1196 + 11.9600000 + 11.960000000000001 +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/DSHIFTL.md b/source/learn/intrinsics/_pages/DSHIFTL.md new file mode 100644 index 000000000..df963f613 --- /dev/null +++ b/source/learn/intrinsics/_pages/DSHIFTL.md @@ -0,0 +1,40 @@ +## dshiftl +### __Name__ + +__dshiftl__(3) - \[BIT:COPY\] combines bits of arguments __i__ and __j__ + + +### __Syntax__ +```fortran +result = dshiftl(i, j, shift) +``` +### __Description__ + +__dshiftl(i, j, shift)__ combines bits of __i__ and __j__. The rightmost __shift__ +bits of the result are the leftmost __shift__ bits of __j__, and the remaining +bits are the rightmost bits of __i__. + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + + - __j__ + : Shall be of type _integer_, and of the same kind as __i__. + + - __shift__ + : Shall be of type _integer_. + +### __Returns__ + +The return value has same type and kind as __i__. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__dshiftr__(3)](DSHIFTR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/DSHIFTR.md b/source/learn/intrinsics/_pages/DSHIFTR.md new file mode 100644 index 000000000..93aff4500 --- /dev/null +++ b/source/learn/intrinsics/_pages/DSHIFTR.md @@ -0,0 +1,40 @@ +## dshiftr +### __Name__ + +__dshiftr__(3) - \[BIT:COPY\] combines bits of arguments __i__ and __j__ + + +### __Syntax__ +```fortran +result = dshiftr(i, j, shift) +``` +### __Description__ + +__dshiftr(i, j, shift)__ combines bits of __i__ and __j__. The leftmost __shift__ +bits of the result are the rightmost __shift__ bits of __i__, and the remaining +bits are the leftmost bits of __j__. + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + + - __j__ + : Shall be of type _integer_, and of the same kind as __i__. + + - __shift__ + : Shall be of type _integer_. + +### __Returns__ + +The return value has same type and kind as __i__. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__dshiftl__(3)](DSHIFTL) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/EOSHIFT.md b/source/learn/intrinsics/_pages/EOSHIFT.md new file mode 100644 index 000000000..de640b42d --- /dev/null +++ b/source/learn/intrinsics/_pages/EOSHIFT.md @@ -0,0 +1,83 @@ +## eoshift +### __Name__ + +__eoshift__(3) - \[TRANSFORMATIONAL\] End-off shift elements of an array + + +### __Syntax__ +```fortran +result = eoshift(array, shift, boundary, dim) +``` +### __Description__ + +__eoshift(array, shift\[, boundary, dim\])__ performs an end-off shift +on elements of __array__ along the dimension of __dim__. If __dim__ is omitted it is +taken to be __1__. __dim__ is a scalar of type _integer_ in the range of __1 \<= DIM +\<= n__ where __"n"__ is the rank of __array__. If the rank of __array__ is one, then +all elements of __array__ are shifted by __shift__ places. If rank is greater +than one, then all complete rank one sections of __array__ along the given +dimension are shifted. Elements shifted out one end of each rank one +section are dropped. If __boundary__ is present then the corresponding value +of from __boundary__ is copied back in the other end. If __boundary__ is not +present then the following are copied in depending on the type of __array__. + +\*Array Type\* - \*Boundary Value\* + + - Numeric 0 of the type and kind of __array__ + + - Logical .false. + + - __Character(len)__ LEN blanks + +### __Arguments__ + + - __array__ + : May be any type, not scalar. + + - __shift__ + : The type shall be _integer_. + + - __boundary__ + : Same type as ARRAY. + + - __dim__ + : The type shall be _integer_. + +### __Returns__ + +Returns an array of same type and rank as the __array__ argument. + +### __Examples__ + +Sample program: + +```fortran +program demo_eoshift +implicit none + integer, dimension(3,3) :: a + a = reshape( [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], [ 3, 3 ]) + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) + a = eoshift(a, SHIFT=[1, 2, 1], BOUNDARY=-5, DIM=2) + print * + print '(3i3)', a(1,:) + print '(3i3)', a(2,:) + print '(3i3)', a(3,:) +end program demo_eoshift +``` + Results: +```text + 1 4 7 + 2 5 8 + 3 6 9 + + 4 7 -5 + 8 -5 -5 + 6 9 -5 +``` +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/EPSILON.md b/source/learn/intrinsics/_pages/EPSILON.md new file mode 100644 index 000000000..f37670bb0 --- /dev/null +++ b/source/learn/intrinsics/_pages/EPSILON.md @@ -0,0 +1,127 @@ +## epsilon +### __Name__ + +__epsilon__(3) - \[NUMERIC MODEL\] Epsilon function + +### __Syntax__ +```fortran +result = epsilon(x) +``` +### __Description__ + +__epsilon(x)__ returns the floating point relative accuracy. +It is the nearly negligible number relative to __1__ +such that __1+ little_number__ is not equal to __1__; or more +precisely +```fortran + real( 1.0, kind(x)) + epsilon(x) /= real( 1.0, kind(x)) +``` +It may be thought of as the distance from 1.0 to the next largest +floating point number. + +One use of __epsilon__(3) is to select a _delta_ value for algorithms that +search until the calculation is within _delta_ of an estimate. + +If _delta_ is too small the algorithm might never halt, as a computation +summing values smaller than the decimal resolution of the data type does +not change. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of the same type as the argument. + +### __Examples__ + +Sample program: + +```fortran +program demo_epsilon +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=sp) :: x = 3.143 +real(kind=dp) :: y = 2.33d0 + + ! so if x is of type real32, epsilon(x) has the value 2**-23 + print *, epsilon(x) + ! note just the type and kind of x matter, not the value + print *, epsilon(huge(x)) + print *, epsilon(tiny(x)) + + ! the value changes with the kind of the real value though + print *, epsilon(y) + + ! adding and subtracting epsilon(x) changes x + write(*,*)x == x + epsilon(x) + write(*,*)x == x - epsilon(x) + + ! these next two comparisons will be .true. ! + write(*,*)x == x + epsilon(x) * 0.999999 + write(*,*)x == x - epsilon(x) * 0.999999 + + ! you can calculate epsilon(1.0d0) + write(*,*)my_dp_eps() + +contains + +function my_dp_eps() +! calculate the epsilon value of a machine the hard way +real(kind=dp) :: t +real(kind=dp) :: my_dp_eps + + ! starting with a value of 1, keep dividing the value + ! by 2 until no change is detected. Note that with + ! infinite precision this would be an infinite loop, + ! but floating point values in Fortran have a defined + ! and limited precision. + my_dp_eps = 1.0d0 + SET_ST: do + my_dp_eps = my_dp_eps/2.0d0 + t = 1.0d0 + my_dp_eps + if (t <= 1.0d0) exit + enddo SET_ST + my_dp_eps = 2.0d0*my_dp_eps + +end function my_dp_eps + +end program demo_epsilon +``` + Results: +```text + 1.1920929E-07 + 1.1920929E-07 + 1.1920929E-07 + 2.220446049250313E-016 + F + F + T + T + 2.220446049250313E-016 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ERF.md b/source/learn/intrinsics/_pages/ERF.md new file mode 100644 index 000000000..315773d9c --- /dev/null +++ b/source/learn/intrinsics/_pages/ERF.md @@ -0,0 +1,55 @@ +## erf +### __Name__ + +__erf__(3) - \[MATHEMATICS\] Error function + + +### __Syntax__ +```fortran +result = erf(x) +``` +### __Description__ + +__erf__(x) computes the error function of __x__, defined as +$$ +\text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{__-t__^2} dt. +$$ + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type _real_, of the same kind as __x__ and lies in the +range __-1__ \<= __erf__(x) \<= 1 . + +### __Examples__ + +Sample program: + +```fortran +program demo_erf +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +real(kind=real64) :: x = 0.17_real64 + write(*,*)x, erf(x) +end program demo_erf +``` + Results: +```text + 0.17000000000000001 0.18999246120180879 +``` +### __Standard__ + +Fortran 2008 and later + +### See also + +[__erfc__(3)](ERFC) + +- [Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ERFC.md b/source/learn/intrinsics/_pages/ERFC.md new file mode 100644 index 000000000..e47295278 --- /dev/null +++ b/source/learn/intrinsics/_pages/ERFC.md @@ -0,0 +1,72 @@ +## erfc +### __Name__ + +__erfc__(3) - \[MATHEMATICS\] Complementary error function + + +### __Syntax__ +```fortran +result = erfc(x) + + elemental function erfc(x) + real(kind=KIND) :: erfc + real(kind=KIND),intent(in) :: x +``` +### __Description__ + +__erfc__(x) computes the complementary error function of __x__. Simpy put +this is equivalent to __1 - erf(x)__, but __erfc__ is provided because +of the extreme loss of relative accuracy if __erf(x)__ is called for +large __x__ and the result is subtracted from __1__. + +__erfc(x)__ is defined as + + + +$$ +\text{erfc}(x) = 1 - \text{erf}(x) = 1 - \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2} dt. +$$ + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type _real_ and of the same kind as __x__. It lies in +the range + +> 0 \<= __erfc__(x) \<= 2. + +### __Examples__ + +Sample program: + +```fortran +program demo_erfc +use, intrinsic :: iso_fortran_env, only : & + & real_kinds, real32, real64, real128 +implicit none +real(kind=real64) :: x = 0.17_real64 + write(*,*)x, erfc(x) +end program demo_erfc +``` + Results: +```text + 0.17000000000000001 0.81000753879819121 +``` +### __Standard__ + +Fortran 2008 and later + +### See also +[__erf__(3)](ERF) + +- [Wikipedia:error function](https://en.wikipedia.org/wiki/Error_function) + +####### fortran-lang intrinsic descriptions license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/ERFC_SCALED.md b/source/learn/intrinsics/_pages/ERFC_SCALED.md new file mode 100644 index 000000000..17c1a40ba --- /dev/null +++ b/source/learn/intrinsics/_pages/ERFC_SCALED.md @@ -0,0 +1,51 @@ +## erfc\_scaled +### __Name__ + +__erfc\_scaled__(3) - \[MATHEMATICS\] Error function + + +### __Syntax__ +```fortran +result = erfc_scaled(x) +``` +### __Description__ + +__erfc\_scaled__(x) computes the exponentially-scaled complementary +error function of __x__: + +$$ +e^{x^2} \frac{2}{\sqrt{\pi}} \int_{x}^{\infty} +e^{-t^2} dt. +$$ + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type _real_ and of the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_erfc_scaled +implicit none +real(kind(0.0d0)) :: x = 0.17d0 + x = erfc_scaled(x) + print *, x +end program demo_erfc_scaled +``` + Results: +```text + 0.83375830214998126 +``` + +### __Standard__ + +Fortran 2008 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/EVENT_QUERY.md b/source/learn/intrinsics/_pages/EVENT_QUERY.md new file mode 100644 index 000000000..213397b5e --- /dev/null +++ b/source/learn/intrinsics/_pages/EVENT_QUERY.md @@ -0,0 +1,55 @@ +## event\_query +### __Name__ + +__event\_query__(3) - \[COLLECTIVE\] Query whether a coarray event has occurred + + +### __Syntax__ +```fortran +call event_query(event, count, stat) +``` +### __Description__ + +__event\_query__ assigns the number of events to __count__ which have been +posted to the __event__ variable and not yet been removed by calling +__event\_wait__. When __stat__ is present and the invocation was successful, it +is assigned the value __0__. If it is present and the invocation has failed, +it is assigned a positive value and __count__ is assigned the value __-1__. + +### __Arguments__ + + - __event__ + : (intent(in)) Scalar of type event\_type, defined in + iso\_fortran\_env; shall not be coindexed. + + - __count__ + : (intent(out))Scalar integer with at least the precision of default + _integer_. + + - __stat__ + : (OPTIONAL) Scalar default-kind _integer_ variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_event_query +use iso_fortran_env +implicit none +type(event_type) :: event_value_has_been_set[*] +integer :: cnt + if (this_image() == 1) then + call event_query(event_value_has_been_set, cnt) + if (cnt > 0) write(*,*) "Value has been set" + elseif (this_image() == 2) then + event post(event_value_has_been_set[1]) + endif +end program demo_event_query +``` + +### __Standard__ + +TS 18508 or later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md b/source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md new file mode 100644 index 000000000..bd62e0b5d --- /dev/null +++ b/source/learn/intrinsics/_pages/EXECUTE_COMMAND_LINE.md @@ -0,0 +1,104 @@ +## execute\_command\_line +### __Name__ + +__execute\_command\_line__(3) - \[SYSTEM:PROCESSES\] Execute a shell command + + +### __Syntax__ +```fortran + subroutine execute_command_line(command, wait, exitstat, cmdstat, cmdmsg) + + character(len=*),intent(in) :: command + logical,intent(in),optional :: wait + integer,intent(out),optional :: exitstat + integer,intent(out),optional :: cmdstat + character(len=*),intent(out),optional :: cmdmsg +``` +### __Description__ + +The __command__ argument is passed to the shell and executed. (The shell is +generally __sh__(1) on Unix systems, and cmd.exe on Windows.) If __wait__ is +present and has the value __.false.__, the execution of the command is +asynchronous if the system supports it; otherwise, the command is +executed synchronously. + +The three last arguments allow the user to get status information. After +synchronous execution, __exitstat__ contains the integer exit code of the +command, as returned by __system__. __cmdstat__ is set to zero if the command +line was executed (whatever its exit status was). __cmdmsg__ is assigned an +error message if an error has occurred. + +Note that the system call need not be thread-safe. It is the +responsibility of the user to ensure that the system is not called +concurrently if required. + +When the command is executed synchronously, __execute\_command\_line__ +returns after the command line has completed execution. Otherwise, +__execute\_command\_line__ returns without waiting. + +### __Arguments__ + + - __command__ + : a default _character_ scalar containing the command line to be + executed. The interpretation is programming-environment dependent. + + - __wait__ + : (Optional) a default _logical_ scalar. If __wait__ is present with the + value .false., and the processor supports asynchronous execution of + the command, the command is executed asynchronously; otherwise it is + executed synchronously. + + - __exitstat__ + : (Optional) an _integer_ of the default kind with __intent(inout)__. If + the command is executed synchronously, it is assigned the value of + the processor-dependent exit status. Otherwise, the value of + __exitstat__ is unchanged. + + - __cmdstat__ + : (Optional) an _integer_ of default kind with __intent(inout)__. If an + error condition occurs and __cmdstat__ is not present, error termination + of execution of the image is initiated. + + It is assigned the value __-1__ if the processor does not support + command line execution, a processor-dependent positive value if an + error condition occurs, or the value __-2__ if no error condition + occurs but __wait__ is present with the value false and the processor + does not support asynchronous execution. Otherwise it is assigned + the value 0. + + - __cmdmsg__ + : (Optional) a _character_ scalar of the default kind. It is an __intent + (inout)__ argument.If an error condition occurs, it is assigned a + processor-dependent explanatory message.Otherwise, it is unchanged. + +### __Examples__ + +Sample program: + +```fortran +program demo_exec +implicit none + integer :: i + + call execute_command_line("external_prog.exe", exitstat=i) + print *, "Exit status of external_prog.exe was ", i + + call execute_command_line("reindex_files.exe", wait=.false.) + print *, "Now reindexing files in the background" +end program demo_exec +``` + +### __Note__ + +Because this intrinsic is making a system call, it is very system +dependent. Its behavior with respect to signaling is processor +dependent. In particular, on POSIX-compliant systems, the SIGINT and +SIGQUIT signals will be ignored, and the SIGCHLD will be blocked. As +such, if the parent process is terminated, the child process might not +be terminated alongside. + +### __Standard__ + +Fortran 2008 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/EXP.md b/source/learn/intrinsics/_pages/EXP.md new file mode 100644 index 000000000..e9d5729e9 --- /dev/null +++ b/source/learn/intrinsics/_pages/EXP.md @@ -0,0 +1,93 @@ +## exp +### __Name__ + +__exp__(3) - \[MATHEMATICS\] Exponential function + +### __Syntax__ +```fortran +result = exp(x) +``` +### __Description__ + +__exp__(x) computes the base "_e_" exponential of __x__ where "_e_" is +_Euler's constant_. + +If __x__ is of type _complex_, its imaginary part is regarded as a value +in radians such that (see _Euler's formula_): + +if + __cx=(re,im)__ +then + __exp(cx)=exp(re)*cmplx(cos(im),sin(im),kind=kind(cx))__ + +Since __exp__(3) is the inverse function of __log__(3) the maximum valid magnitude +of the _real_ component of __x__ is __log(huge(x))__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The value of the result is __e\*\*x__ where __e__ is Euler's constant. + +The return value has the same type and kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_exp +implicit none +real :: x , re, im +complex :: cx + + x = 1.0 + write(*,*)"Euler's constant is approximately",exp(x) + + !! complex values + ! given + re=3.0 + im=4.0 + cx=cmplx(re,im) + + ! complex results from complex arguments are Related to Euler's formula + write(*,*)'given the complex value ',cx + write(*,*)'exp(x) is',exp(cx) + write(*,*)'is the same as',exp(re)*cmplx(cos(im),sin(im),kind=kind(cx)) + + ! exp(3) is the inverse function of log(3) so + ! the real component of the input must be less than or equal to + write(*,*)'maximum real component',log(huge(0.0)) + ! or for double precision + write(*,*)'maximum doubleprecision component',log(huge(0.0d0)) + + ! but since the imaginary component is passed to the cos(3) and sin(3) + ! functions the imaginary component can be any real value + +end program demo_exp +``` +Results: +```text + Euler's constant is approximately 2.718282 + given the complex value (3.000000,4.000000) + exp(x) is (-13.12878,-15.20078) + is the same as (-13.12878,-15.20078) + maximum real component 88.72284 + maximum doubleprecision component 709.782712893384 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +* [__log__(3)](LOG) + +* Wikipedia:[Exponential function](https://en.wikipedia.org/wiki/Exponential_function) + +* Wikipedia:[Euler's formula](https://en.wikipedia.org/wiki/Euler%27s_formula) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/EXPONENT.md b/source/learn/intrinsics/_pages/EXPONENT.md new file mode 100644 index 000000000..8aed27515 --- /dev/null +++ b/source/learn/intrinsics/_pages/EXPONENT.md @@ -0,0 +1,67 @@ +## exponent +### __Name__ + +__exponent__(3) - \[MODEL\_COMPONENTS\] Exponent function + + +### __Syntax__ +```fortran +result = exponent(x) +``` +### __Description__ + +__exponent__(x) returns the value of the exponent part of __x__. If __x__ is +zero the value returned is zero. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + +### __Returns__ + +The return value is of type default _integer_. + +### __Examples__ + +Sample program: + +```fortran +program demo_exponent +implicit none +real :: x = 1.0 +integer :: i + i = exponent(x) + print *, i + print *, exponent(0.0) +end program demo_exponent +``` + Results: +```text + 1 + 0 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md b/source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md new file mode 100644 index 000000000..9c6218346 --- /dev/null +++ b/source/learn/intrinsics/_pages/EXTENDS_TYPE_OF.md @@ -0,0 +1,44 @@ +## extends\_type\_of +### __Name__ + +__extends\_type\_of__(3) - \[STATE\] determine if the dynamic type of __a__ is an extension of the dynamic type of __mold__. + + +### __Syntax__ +```fortran +result=extends_type_of(a, mold) +``` +### __Description__ + +__extends\_type\_of__(3) is __.true.__ if and only if the dynamic type of __a__ +is an extension of the dynamic type of __mold__. + +### __Options__ + + - __a__ + : shall be an object of extensible type. If it is a pointer, it + shall not have an undefined association status. + + - __mold__ + : shall be an object of extensible type. If it is a pointer, it + shall not have an undefined association status. + +### __Returns__ + + - __result__ + : Default logical scalar. + + - __value__ + : If __mold__ is unlimited polymorphic and is either a disassociated + pointer or unallocated allocatable variable, the result is + true; otherwise if __a__ is unlimited polymorphic and is either a + disassociated pointer or unallocated allocatable variable, the result + is false; otherwise the result is true if and only if the dynamic + type of __a__ is an extension type of the dynamic type of __mold__. + + The dynamic type of a disassociated pointer or unallocated + allocatable variable is its declared type. + +### __Examples__ + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/FINDLOC.md b/source/learn/intrinsics/_pages/FINDLOC.md new file mode 100644 index 000000000..0a28616d1 --- /dev/null +++ b/source/learn/intrinsics/_pages/FINDLOC.md @@ -0,0 +1,193 @@ +## findloc +### __Name__ + +__findloc__(3) - \[ARRAY:LOCATION\] Location of first element of ARRAY identified by MASK along dimension DIM having a value + + +### __Syntax__ +```fortran +findloc (array, value, dim, mask, kind, back) + +or + +findloc(array, value, mask, kind, back) +``` +### __Description__ + +Location of the first element of __array__ identified by __mask__ along +dimension __dim__ having a value equal to __value__. + +If both __array__ and __value__ are of type logical, the comparison is +performed with the __.eqv.__ operator; otherwise, the comparison is +performed with the == operator. If the value of the comparison is +true, that element of __array__ matches __value__. + +If only one element matches __value__, that element's subscripts are +returned. Otherwise, if more than one element matches __value__ and +__back__ is absent or present with the value false, the element whose +subscripts are returned is the first such element, taken in array +element order. If __back__ is present with the value true, the element +whose subscripts are returned is the last such element, taken in array +element order. + +### __Options__ + + - __array__ + : shall be an array of intrinsic type. + + - __value__ + : shall be scalar and in type conformance with __array__, as specified + in Table 7.3 for relational intrinsic operations 7.1.5.5.2). + + - __dim__ + : shall be an integer scalar with a value in the range 1 __DIM__ n, where + n is the rank of __array__. The corresponding actual argument shall + not be an optional dummy argument. + + - __mask__ + : (optional) shall be of type logical and shall be conformable with + __array__. + + - __kind__ + : (optional) shall be a scalar integer initialization expression. + + - __back__ + : (optional) shall be a logical scalar. + +### __Returns__ + +Result Characteristics. Integer. If __kind__ is present, the kind type +parameter is that specified by the value of __kind__; otherwise the kind +type parameter is that of default integer type. If __dim__ does not appear, +the result is an array of rank one and of size equal to the rank of +__array__; otherwise, the result is of rank n - 1 and shape + +``` + [d1 , d2 , . . . , dDIM-1 , dDIM+1 , . . . , dn ] +``` + +where + +``` + [d1 , d2 , . . . , dn ] +``` + +is the shape of __array__. + +### __Returns__ + + - __Case (i):__ + The result of __findloc (array, value)__ is a rank-one array whose + element values are the values of the subscripts of an element of + __array__ whose value matches __value__. If there is such a value, the + ith subscript returned lies in the range 1 to ei , where ei is the + extent of the ith dimension of __array__. If no elements match __value__ + or __array__ has size zero, all elements of the result are zero. + + - __Case (ii):__ + the result of __findloc (array, value, mask = mask)__ is a + rank-one array whose element values are the values of the subscripts + of an element of __array__, corresponding to a true element of __mask__, + whose value matches __value__. If there is such a value, the ith + subscript returned lies in the range 1 to ei , where ei is the + extent of the ith dimension of __array__. If no elements match + __value__, __array__ has size zero, or every element of __mask__ has the + value false, all elements of the result are zero. + + - __Case (iii):__ + If __array__ has rank one, the result of + +``` + findloc (array, value, dim=dim [, mask = mask]) +``` + +is a scalar whose value is equal to that of the first element of + +``` + findloc (array, value [, mask = mask]) +``` + +Otherwise, the value of element + +``` + (s1 , s2 , . . . , sDIM-1 , sDIM+1 , . . . , sn ) +``` + +of the result is equal to + +``` + findloc (array (s1, s2, ..., sdim-1, :, sdim+1, ..., sn ), & + value, dim=1 [, mask = mask (s1, s2, ..., sdim-1, :, + sdim+1 , ... , sn )]). +``` +### __Examples__ + + - __Case (i):__ + The value of + +``` + findloc ([2, 6, 4, 6,], value = 6) +``` + +is \[2\], and the value of + +``` + findloc ([2, 6, 4, 6], value = 6, back = .true.) +``` + +is \[4\]. + + - __Case (ii):__ + If __a__ has the value + +```text + 0 -5 7 7 + 3 4 -1 2 + 1 5 6 7 +``` + +and __m__ has the value + +```text + T T F T + T T F T + T T F T + + findloc (a, 7, mask = m) +``` + +has the value \[1, 4\] and + +``` + findloc (a, 7, mask = m, back = .true.) +``` + +has the value \[3, 4\]. This is independent of the declared lower +bounds for __a__ . + + - __Case (iii):__ + The value of + +``` + findloc ([2, 6, 4], value = 6, dim = 1) +``` + +is 2. If __b__ has the value + +``` + 1 2 -9 + 2 2 6 +``` + +> findloc (b, __value__ = 2, dim = 1) + +has the value \[2, 1, 0\] and + +``` + findloc (b, value = 2, dim = 2) +``` + +has the value \[2, 1\]. This is independent of the declared lower +bounds for __b__. + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/FLOOR.md b/source/learn/intrinsics/_pages/FLOOR.md new file mode 100644 index 000000000..9964a2cf2 --- /dev/null +++ b/source/learn/intrinsics/_pages/FLOOR.md @@ -0,0 +1,89 @@ +## floor +### __Name__ + +__floor__(3) - \[NUMERIC\] function to return largest integral value not greater than argument + +### __Syntax__ +```fortran +result = floor(a, KIND) + + elemental function floor(a,KIND) + integer(kind=KIND) :: floor + real(kind=kind(a)),intent(in) :: a + integer(kind=IKIND),intent(in),optional :: KIND +``` + where __KIND__ is any valid value for type _integer_. +### __Description__ + +__floor(a)__ returns the greatest integer less than or equal to __a__. +That is, it picks the whole number at or to the left of the value on +the scale __-huge(int(a,kind=KIND))-1__ to __huge(int(a),kind=KIND)__. + +### __Arguments__ + + - __a__ + : The type shall be _real_. + + - __kind__ + : (Optional) A scalar _integer_ constant initialization expression + indicating the kind parameter of the result. + +### __Returns__ + +The return value is of type _integer(kind)_ if __kind__ is present and of +default-kind _integer_ otherwise. + +The result is undefined if it cannot be represented in the specified +integer type. + +### __Examples__ + +Sample program: + +```fortran +program demo_floor +implicit none +real :: x = 63.29 +real :: y = -63.59 + print *, x, floor(x) + print *, y, floor(y) + ! elemental + print *,floor([ & + & -2.7, -2.5, -2.2, -2.0, -1.5, -1.0, -0.5, & + & 0.0, & + & +0.5, +1.0, +1.5, +2.0, +2.2, +2.5, +2.7 ]) + + ! note even a small deviation from the whole number changes the result + print *, [2.0,2.0-epsilon(0.0),2.0-2*epsilon(0.0)] + print *,floor([2.0,2.0-epsilon(0.0),2.0-2*epsilon(0.0)]) + + ! A=Nan, Infinity or huge(0_KIND) is undefined +end program demo_floor +``` +Results: +```text + 63.29000 63 + -63.59000 -64 + -3 -3 -3 -2 -2 -1 + -1 0 0 1 1 2 + 2 2 2 + 2.000000 2.000000 2.000000 + 2 1 1 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ceiling__(3)](CEILING), +[__nint__(3)](NINT) + + +[__aint__(3)](AINT), +[__anint__(3)](ANINT), +[__int__(3)](INT), +[__selected_int_kind__(3)](SELECTED_INT_KIND) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/FRACTION.md b/source/learn/intrinsics/_pages/FRACTION.md new file mode 100644 index 000000000..0b2e1b520 --- /dev/null +++ b/source/learn/intrinsics/_pages/FRACTION.md @@ -0,0 +1,67 @@ +## fraction +### __Name__ + +__fraction__(3) - \[MODEL\_COMPONENTS\] Fractional part of the model representation + + +### __Syntax__ +```fortran +y = fraction(x) +``` +### __Description__ + +__fraction(x)__ returns the fractional part of the model representation +of __x__. + + +### __Arguments__ + + - __x__ + : The type of the argument shall be a _real_. + +### __Returns__ + +The return value is of the same type and kind as the argument. The +fractional part of the model representation of __x__ is returned; it is +__x \* radix(x)\*\*(-exponent(x))__. + +### __Examples__ + +Sample program: + +```fortran +program demo_fraction +implicit none +real :: x + x = 178.1387e-4 + print *, fraction(x), x * radix(x)**(-exponent(x)) +end program demo_fraction +``` + Results: +```text + 0.570043862 0.570043862 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/GAMMA.md b/source/learn/intrinsics/_pages/GAMMA.md new file mode 100644 index 000000000..1cce44cd3 --- /dev/null +++ b/source/learn/intrinsics/_pages/GAMMA.md @@ -0,0 +1,127 @@ +## gamma +### __Name__ + +__gamma__(3) - \[MATHEMATICS\] Gamma function, which yields factorials for positive whole numbers + +### __Syntax__ +```fortran +x = gamma(x) +``` +### __Description__ + +__gamma(x)__ computes Gamma of __x__. For positive whole number values of __n__ the +Gamma function can be used to calculate factorials, as __(n-1)! == gamma(real(n))__. +That is +```text +n! == gamma(real(n+1)) +``` + +$$ \\__Gamma__(x) = \\int\_0\*\*\\infty +t\*\*{x-1}{\\mathrm{e}}\*\*{__-t__}\\,{\\mathrm{d}}t $$ + +### __Arguments__ + + - __x__ + : Shall be of type _real_ and neither zero nor a negative integer. + +### __Returns__ + +The return value is of type _real_ of the same kind as _x_. + +### __Examples__ + +Sample program: + +```fortran +program demo_gamma +use, intrinsic :: iso_fortran_env, only : wp=>real64 +implicit none +real :: x, xa(4) +integer :: i + + x = gamma(1.0) + write(*,*)'gamma(1.0)=',x + + ! elemental + xa=gamma([1.0,2.0,3.0,4.0]) + write(*,*)xa + write(*,*) + + ! gamma(3) is related to the factorial function + do i=1,20 + ! check value is not too big for default integer type + if(factorial(i).gt.huge(0))then + write(*,*)i,factorial(i) + else + write(*,*)i,factorial(i),int(factorial(i)) + endif + enddo + ! more factorials + FAC: block + integer,parameter :: n(*)=[0,1,5,11,170] + integer :: j + do j=1,size(n) + write(*,'(*(g0,1x))')'factorial of', n(j),' is ', & + & product([(real(i,kind=wp),i=1,n(j))]), & + & gamma(real(n(j)+1,kind=wp)) + enddo + endblock FAC + +contains + +function factorial(i) result(f) +integer,parameter :: dp=kind(0d0) +integer,intent(in) :: i +real :: f + if(i.le.0)then + write(*,'(*(g0))')' gamma(3) function value ',i,' <= 0' + stop ' bad value in gamma function' + endif + f=gamma(real(i+1)) +end function factorial + +end program demo_gamma +``` + Results: +```text + gamma(1.0)= 1.000000 + 1.000000 1.000000 2.000000 6.000000 + + 1 1.000000 1 + 2 2.000000 2 + 3 6.000000 6 + 4 24.00000 24 + 5 120.0000 120 + 6 720.0000 720 + 7 5040.000 5040 + 8 40320.00 40320 + 9 362880.0 362880 + 10 3628800. 3628800 + 11 3.9916800E+07 39916800 + 12 4.7900160E+08 479001600 + 13 6.2270208E+09 + 14 8.7178289E+10 + 15 1.3076744E+12 + 16 2.0922791E+13 + 17 3.5568741E+14 + 18 6.4023735E+15 + 19 1.2164510E+17 + 20 2.4329020E+18 + factorial of 0 is 1.000000000000000 1.000000000000000 + factorial of 1 is 1.000000000000000 1.000000000000000 + factorial of 5 is 120.0000000000000 120.0000000000000 + factorial of 11 is 39916800.00000000 39916800.00000000 + factorial of 170 is .7257415615307994E+307 .7257415615307999E+307 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +Logarithm of the Gamma function: [__log\_gamma__(3)](LOG_GAMMA) + +[Wikipedia: Gamma_function](https://en.wikipedia.org/wiki/Gamma_function) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/GET_COMMAND.md b/source/learn/intrinsics/_pages/GET_COMMAND.md new file mode 100644 index 000000000..1c817827e --- /dev/null +++ b/source/learn/intrinsics/_pages/GET_COMMAND.md @@ -0,0 +1,85 @@ +## get\_command +### __Name__ + +__get\_command__(3) - \[SYSTEM:COMMAND LINE\] Get the entire command line + +### __Syntax__ +```fortran + call get_command(command, length, status) + + subroutine get_command(command,length,status) + character(len=*),intent(out),optional :: command + integer,intent(out),optional :: length + integer,intent(out),optional :: status +``` +### __Description__ + +Retrieve the entire command line that was used to invoke the program. + +Note that what is typed on the command line is often processed by +a shell. The shell typically processes special characters and white +space before passing it to the program. The processing can typically be +turned off by turning off globbing or quoting the command line arguments +and/or changing the default field separators, but this should rarely +be necessary. + +### __Returns__ + + - __command__ + : Shall be of type _character_ and of default kind. If + __command__ is present, stores the entire command line that was used to + invoke the program in __command__. + + - __length__ + : Shall be of type _integer_ and of default kind. If __length__ + is present, it is assigned the length of the command line. + + - __status__ + : Shall be of type _integer_ and of default kind. If __status__ + is present, it is assigned 0 upon success of the command, __-1__ if + __command__ is too short to store the command line, or a positive value + in case of an error. + +### __Examples__ + +Sample program: + +```fortran +program demo_get_command +implicit none +integer :: COMMAND_LINE_LENGTH +character(len=:),allocatable :: COMMAND_LINE + ! get command line length + call get_command(length=COMMAND_LINE_LENGTH) + ! allocate string big enough to hold command line + allocate(character(len=COMMAND_LINE_LENGTH) :: COMMAND_LINE) + ! get command line as a string + call get_command(command=COMMAND_LINE) + ! trim leading spaces just in case + COMMAND_LINE=adjustl(COMMAND_LINE) + write(*,'("OUTPUT:",a)')COMMAND_LINE +end program demo_get_command +``` +Results: +```bash + # note that shell expansion removes some of the whitespace + # without quotes + ./test_get_command arguments on command line to echo + + OUTPUT:./test_get_command arguments on command line to echo + + # using the bash shell with single quotes + ./test_get_command 'arguments *><`~[]!{}?"\'| ' + + OUTPUT:./test_get_command arguments *><`~[]!{}?"'| +``` +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__get\_command\_argument__(3)](GET_COMMAND_ARGUMENT), +[__command\_argument\_count__(3)](COMMAND_ARGUMENT_COUNT) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md b/source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md new file mode 100644 index 000000000..63424e07d --- /dev/null +++ b/source/learn/intrinsics/_pages/GET_COMMAND_ARGUMENT.md @@ -0,0 +1,127 @@ +## get\_command\_argument +### __Name__ + +__get\_command\_argument__(3) - \[SYSTEM:COMMAND LINE\] Get command line arguments + +### __Syntax__ +```fortran + call get_command_argument(number, value, length, status) + + subroutine get_command_argument(number,value,length.status) + integer,intent(in) :: number + character(len=*),intent(out),optional :: value + integer,intent(out),optional :: length + integer,intent(out),optional :: status +``` +### __Description__ + +Retrieve the __number__-th argument that was passed on the command line +when the containing program was invoked. + +There is not anything specifically stated about what an argument is but +in practice the arguments are split on whitespace unless the arguments +are quoted and IFS values (Internal Field Separators) used by common +shells are ignored. + +### __Options__ + + - __number__ + : Shall be a scalar of type __integer__, __number \>= 0__. If __number = + 0__, __value__ is set to the name of the program (on systems that support + this feature). + +### __Returns__ + + - __value__ + :Shall be a scalar of type _character_ and of default kind. After + get\_command\_argument returns, the __value__ argument holds the + __number__-th command line argument. If __value__ can not hold the argument, + it is truncated to fit the length of __value__. If there are less than + __number__ arguments specified at the command line, __value__ will be filled + with blanks. + + - __length__ + :(Optional) Shall be a scalar of type _integer_. The __length__ + argument contains the length of the __number__-th command line argument. + + - __status__ + :(Optional) Shall be a scalar of type _integer_. If the argument + retrieval fails, __status__ is a positive number; if __value__ contains a + truncated command line argument, __status__ is __-1__; and otherwise the + __status__ is zero. + +### __Examples__ + +Sample program: + +```fortran +program demo_get_command_argument +implicit none +character(len=255) :: progname +integer :: stat +integer :: count,i, longest, argument_length +integer,allocatable :: istat(:), ilen(:) +character(len=:),allocatable :: args(:) + ! + ! get number of arguments + count = command_argument_count() + write(*,*)'The number of arguments is ',count + ! + ! simple usage + ! + call get_command_argument (0, progname, status=stat) + if (stat == 0) then + print *, "The program's name is " // trim (progname) + endif + ! + ! showing how to make an array to hold any argument list + ! + ! find longest argument + ! + longest=0 + do i=0,count + call get_command_argument(number=i,length=argument_length) + longest=max(longest,argument_length) + enddo + ! + ! allocate string array big enough to hold command line + ! argument strings and related information + ! + allocate(character(len=longest) :: args(0:count)) + allocate(istat(0:count)) + allocate(ilen(0:count)) + ! + ! read the arguments into the array + ! + do i=0,count + call get_command_argument(i, args(i),status=istat(i),length=ilen(i)) + enddo + ! + ! show the results + ! + write (*,'(i3.3,1x,i0.5,1x,i0.5,1x,"[",a,"]")') & + & (i,istat(i),ilen(i),args(i)(:ilen(i)),i=0,count) +end program demo_get_command_argument +``` +Results: +```text +/demo_get_command_argument a test 'of getting arguments ' " leading" + + The number of arguments is 5 + The program's name is xxx +000 00000 00003 [./test_get_command_argument] +001 00000 00001 [a] +003 00000 00004 [test] +004 00000 00024 [of getting arguments ] +005 00000 00018 [ leading] +``` +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__get\_command__(3)](GET_COMMAND), +[__command\_argument\_count__(3)](COMMAND_ARGUMENT_COUNT) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md b/source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md new file mode 100644 index 000000000..53b29f686 --- /dev/null +++ b/source/learn/intrinsics/_pages/GET_ENVIRONMENT_VARIABLE.md @@ -0,0 +1,126 @@ +## get\_environment +### __Name__ + +__get\_environment\_variable__(3) - \[SYSTEM:ENVIRONMENT\] Get an environmental variable + +### __Syntax__ +```fortran + call get_environment_variable(name, value, length, status, trim_name) + + character(len=*),intent(in) :: name + character(len=*),intent(out),optional :: value + integer,intent(out),optional :: length + integer,intent(out),optional :: status + logical,intent(out),optional :: trim_name +``` +### __Description__ + +Get the __value__ of the environmental variable __name__. + +Note that __get\_environment\_variable__(3) need not be thread-safe. It +is the responsibility of the user to ensure that the environment is not +being updated concurrently. + +### __Options__ + + - __name__ + : The name of the environment variable to query. + + Shall be a scalar of type _character_ and of default kind. + +### __Returns__ + + - __value__ + : The value of the environment variable being queried. + + Shall be a scalar of type _character_ and of default kind. + The value of __name__ is stored in __value__. If __value__ is not large enough + to hold the data, it is truncated. If __name__ is not set, __value__ will be + filled with blanks. + + - __length__ + : Argument __length__ contains the length needed for storing the + environment variable __name__ or zero if it is not present. + + Shall be a scalar of type _integer_ and of default kind. + + - __status__ + : __status__ is __-1__ if __value__ is present but too short for the + environment variable; it is __1__ if the environment variable does not + exist and __2__ if the processor does not support environment variables; + in all other cases __status__ is zero. + + Shall be a scalar of type _integer_ and of default kind. + + - __trim\_name__ + : If __trim\_name__ is present with the value __.false.__, the trailing blanks in + __name__ are significant; otherwise they are not part of the environment + variable name. + + Shall be a scalar of type _logical_ and of default kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_getenv +implicit none +character(len=:),allocatable :: homedir +character(len=:),allocatable :: var + var='HOME' + homedir=get_env(var) + write (*,'(a,"=""",a,"""")')var,homedir + +contains + +function get_env(NAME,DEFAULT) result(VALUE) +! a function that makes calling get_environment_variable(3) simple +implicit none +character(len=*),intent(in) :: NAME +character(len=*),intent(in),optional :: DEFAULT +character(len=:),allocatable :: VALUE +integer :: howbig +integer :: stat +integer :: length + ! get length required to hold value + length=0 + VALUE='' + if(NAME.ne.'')then + call get_environment_variable( & + & NAME, length=howbig,status=stat,trim_name=.true.) + select case (stat) + case (1) + !*!print *, NAME, " is not defined in the environment. Strange..." + VALUE='' + case (2) + !*!print *, & + !*!"This processor does not support environment variables. Boooh!" + VALUE='' + case default + ! make string to hold value of sufficient size + if(allocated(VALUE))deallocate(VALUE) + allocate(character(len=max(howbig,1)) :: VALUE) + ! get value + call get_environment_variable( & + & NAME,VALUE,status=stat,trim_name=.true.) + if(stat.ne.0)VALUE='' + end select + endif + if(VALUE.eq.''.and.present(DEFAULT))VALUE=DEFAULT +end function get_env + +end program demo_getenv +``` + +Typical Results: + +```text + HOME="/home/urbanjs" +``` + +### __Standard__ + +Fortran 2003 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/HUGE.md b/source/learn/intrinsics/_pages/HUGE.md new file mode 100644 index 000000000..03064c5e1 --- /dev/null +++ b/source/learn/intrinsics/_pages/HUGE.md @@ -0,0 +1,107 @@ +## huge +### __Name__ + +__huge__(3) - \[NUMERIC MODEL\] Largest number of a type and kind + +### __Syntax__ +```fortran +result = huge(x) + + function huge(x) result(answer) + TYPE(kind=KIND),intent(in) :: x + TYPE(kind=KIND) :: answer +``` + where __TYPE__ may be _real_ or _integer_ and __KIND__ is any supported + associated _kind_. + +### __Description__ + +__huge(x)__ returns the largest number that is not an infinity for the +kind and type of __x__. + +### __Arguments__ + + - __x__ + : Shall be an arbitrary value of type _real_ or _integer_. + The value is used merely to determine what _kind_ and _type_ of + scalar is being queried. + +### __Returns__ + +The return value is of the same type and kind as _x_ and is the +largest value supported by the specified model. + +### __Examples__ + +Sample program: + +```fortran +program demo_huge +implicit none +character(len=*),parameter :: f='(i2,1x,2(i11,1x),f14.0:,1x,l1,1x,a)' +integer :: i,j,k,biggest +real :: v, w + ! basic + print *, huge(0), huge(0.0), huge(0.0d0) + print *, tiny(0.0), tiny(0.0d0) + + ! advanced + biggest=huge(0) + ! be careful of overflow when using integers in computation + do i=1,14 + j=6**i ! Danger, Danger + w=6**i ! Danger, Danger + v=6.0**i + k=v ! Danger, Danger + if(v.gt.biggest)then + write(*,f) i, j, k, v, v.eq.w, 'wrong j and k and w' + else + write(*,f) i, j, k, v, v.eq.w + endif + enddo +end program demo_huge +``` +Results: +``` + 2147483647 3.4028235E+38 1.797693134862316E+308 + 1.1754944E-38 2.225073858507201E-308 + + 1 6 6 6. T + 2 36 36 36. T + 3 216 216 216. T + 4 1296 1296 1296. T + 5 7776 7776 7776. T + 6 46656 46656 46656. T + 7 279936 279936 279936. T + 8 1679616 1679616 1679616. T + 9 10077696 10077696 10077696. T + 10 60466176 60466176 60466176. T + 11 362797056 362797056 362797056. T + 12 -2118184960 -2147483648 2176782336. F wrong for j and k and w + 13 175792128 -2147483648 13060694016. F wrong for j and k and w + 14 1054752768 -2147483648 78364164096. F wrong for j and k and w +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost + diff --git a/source/learn/intrinsics/_pages/HYPOT.md b/source/learn/intrinsics/_pages/HYPOT.md new file mode 100644 index 000000000..279b4c45d --- /dev/null +++ b/source/learn/intrinsics/_pages/HYPOT.md @@ -0,0 +1,94 @@ +## hypot +### __Name__ + +__hypot__(3) - \[MATHEMATICS\] returns the distance between the point and the origin. + +### __Syntax__ +```fortran +result = hypot(x, y) + + real(kind=KIND) elemental function hypot(x,y) result(value) + real(kind=KIND),intent(in) :: x, y +``` + where __x,y,value__ shall all be of the same __kind__. + +### __Description__ + +__hypot(x,y)__ is referred to as the Euclidean distance function. It is equal to +__sqrt(x**2 + y**2)__, without undue underflow or overflow. + +In mathematics, the _Euclidean distance_ between two points in Euclidean +space is the length of a line segment between two points. + +__hypot(x,y)__ returns the distance between the point ____ and the origin. + +### __Arguments__ + + - __x__ + : The type shall be _real_. + + - __y__ + : The type and kind type parameter shall be the same as __x__. + +### __Returns__ + +The return value has the same type and kind type parameter as __x__. + +The result is the positive magnitude of the distance of the point ____ from the +origin __<0.0,0.0>__ . + +### __Examples__ + +Sample program: + +```fortran +program demo_hypot +use, intrinsic :: iso_fortran_env, only : & + & real_kinds, real32, real64, real128 +implicit none +real(kind=real32) :: x, y +real(kind=real32),allocatable :: xs(:), ys(:) +integer :: i +character(len=*),parameter :: f='(a,/,SP,*(3x,g0,1x,g0:,/))' + + x = 1.e0_real32 + y = 0.5e0_real32 + + write(*,*) + write(*,'(*(g0))')'point <',x,',',y,'> is ',hypot(x,y) + write(*,'(*(g0))')'units away from the origin' + write(*,*) + + ! elemental + xs=[ x, x**2, x*10.0, x*15.0, -x**2 ] + ys=[ y, y**2, -y*20.0, y**2, -y**2 ] + + write(*,f)"the points",(xs(i),ys(i),i=1,size(xs)) + write(*,f)"have distances from the origin of ",hypot(xs,ys) + write(*,f)"the closest is",minval(hypot(xs,ys)) + +end program demo_hypot +``` +Results: +```text + point <1.00000000,0.500000000> is 1.11803401 + units away from the origin + + the points + +1.00000000 +0.500000000 + +1.00000000 +0.250000000 + +10.0000000 -10.0000000 + +15.0000000 +0.250000000 + -1.00000000 -0.250000000 + have distances from the origin of + +1.11803401 +1.03077638 + +14.1421356 +15.0020828 + +1.03077638 + the closest is + +1.03077638 +``` +### __Standard__ + +Fortran 2008 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/IACHAR.md b/source/learn/intrinsics/_pages/IACHAR.md new file mode 100644 index 000000000..61b129f0f --- /dev/null +++ b/source/learn/intrinsics/_pages/IACHAR.md @@ -0,0 +1,90 @@ +## iachar +### __Name__ + +__iachar__(3) - \[CHARACTER:CONVERSION\] Code in ASCII collating sequence + + +### __Syntax__ +```fortran +result = iachar(c, kind) +``` +### __Description__ + +__iachar__(c) returns the code for the ASCII character in the first +character position of C. + +### __Arguments__ + + - __c__ + : Shall be a scalar _character_, with _intent(in)_ + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_iachar +implicit none +! create function to convert uppercase letters to lowercase + write(*,'(a)')lower('abcdefg ABCDEFG') +contains +! +elemental pure function lower(str) result (string) +! Changes a string to lowercase +character(*), intent(In) :: str +character(len(str)) :: string +integer :: i + string = str + ! step thru each letter in the string in specified range + do i = 1, len(str) + select case (str(i:i)) + case ('A':'Z') ! change letter to miniscule + string(i:i) = char(iachar(str(i:i))+32) + case default + end select + end do +end function lower +! +end program demo_iachar +``` + Results: +```text + abcdefg abcdefg +``` +### __Note__ + +See [__ichar__(3)](ICHAR) for a discussion of converting between numerical +values and formatted string representations. + +### __Standard__ + +Fortran 95 and later, with KIND argument - Fortran 2003 and later + +### __See Also__ + +[__achar__(3)](ACHAR), +[__char__(3)](CHAR), +[__ichar__(3)](ICHAR) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), [__index__(3)](INDEX), + [__scan__(3)](SCAN), [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IALL.md b/source/learn/intrinsics/_pages/IALL.md new file mode 100644 index 000000000..61c0a1926 --- /dev/null +++ b/source/learn/intrinsics/_pages/IALL.md @@ -0,0 +1,75 @@ +## iall +### __Name__ + +__iall__(3) - \[BIT:LOGICAL\] Bitwise and of array elements + + +### __Syntax__ +```fortran + result = iall(array, mask) + + or + + result = iall(array, dim, mask) +``` +### __Description__ + +Reduces with bitwise _and_ the elements of __array__ along dimension __dim__ if +the corresponding element in __mask__ is __.true.__. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_ + + - __dim__ + : (Optional) shall be a scalar of type _integer_ with a value in the + range from __1 to n__, where __n__ equals the rank of __array__. + + - __mask__ + : (Optional) shall be of type _logical_ and either be a scalar or an + array of the same shape as __array__. + +### __Returns__ + +The result is of the same type as __array__. + +If __dim__ is absent, a scalar with the bitwise _all_ of all elements in __array__ +is returned. Otherwise, an array of rank __n-1__, where __n__ equals the +rank of __array__, and a shape similar to that of __array__ with dimension __dim__ +dropped is returned. + +### __Examples__ + +Sample program: + +```fortran +program demo_iall +use, intrinsic :: iso_fortran_env, only : integer_kinds, & + & int8, int16, int32, int64 +implicit none +integer(kind=int8) :: a(2) + + a(1) = int(b'00100100') + a(2) = int(b'01101010') + + print '(b8.8)', iall(a) + +end program demo_iall +``` + Results: +```text + 00100000 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__iany__(3)](IANY), +[__iparity__(3)](IPARITY), +[__iand__(3)](IAND) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IAND.md b/source/learn/intrinsics/_pages/IAND.md new file mode 100644 index 000000000..f3ffb204e --- /dev/null +++ b/source/learn/intrinsics/_pages/IAND.md @@ -0,0 +1,61 @@ +## iand +### __Name__ + +__iand__(3) - \[BIT:LOGICAL\] Bitwise logical and + + +### __Syntax__ +```fortran +result = iand(i, j) +``` +### __Description__ + +Bitwise logical __and__. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __j__ + : The type shall be _integer_, of the same kind as __i__. + +### __Returns__ + +The return type is _integer_, of the same kind as the arguments. (If the +argument kinds differ, it is of the same kind as the larger argument.) + +### __Examples__ + +Sample program: + +```fortran +program demo_iand +implicit none +integer :: a, b + data a / z'f' /, b / z'3' / + write (*,*) iand(a, b) +end program demo_iand +``` + Results: +```text + 3 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR), +[__mvbits__(3)](MVBITS) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IANY.md b/source/learn/intrinsics/_pages/IANY.md new file mode 100644 index 000000000..277195130 --- /dev/null +++ b/source/learn/intrinsics/_pages/IANY.md @@ -0,0 +1,73 @@ +## iany +### __Name__ + +__iany__(3) - \[BIT:LOGICAL\] Bitwise or of array elements + + +### __Syntax__ +```fortran + result = iany(array, mask) + + or + + result = iany(array, dim, mask) +``` +### __Description__ + +Reduces with bitwise or (inclusive or) the elements of __array__ along +dimension __dim__ if the corresponding element in __mask__ is __.true.__. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_ + + - __dim__ + : (Optional) shall be a scalar of type _integer_ with a value in the + range from __1 to n__, where __n__ equals the rank of __array__. + + - __mask__ + : (Optional) shall be of type _logical_ and either be a scalar or an + array of the same shape as __array__. + +### __Returns__ + +The result is of the same type as __array__. + +If __dim__ is absent, a scalar with the bitwise _or_ of all elements in __array__ +is returned. Otherwise, an array of rank __n-1__, where __n__ equals the +rank of __array__, and a shape similar to that of __array__ with dimension __dim__ +dropped is returned. + +### __Examples__ + +Sample program: + +```fortran +program demo_iany +use, intrinsic :: iso_fortran_env, only : integer_kinds, & + & int8, int16, int32, int64 +implicit none +integer(kind=int8) :: a(2) + a(1) = int(b'00100100') + a(2) = int(b'01101010') + print '(b8.8)', iany(a) +end program demo_iany +``` +Results: + +``` + 01101110 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__iparity__(3)](IPARITY), +[__iall__(3)](IALL), +[__ior__(3)](IOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IBCLR.md b/source/learn/intrinsics/_pages/IBCLR.md new file mode 100644 index 000000000..147ca5598 --- /dev/null +++ b/source/learn/intrinsics/_pages/IBCLR.md @@ -0,0 +1,47 @@ +## ibclr +### __Name__ + +__ibclr__(3) - \[BIT:SET\] Clear bit + + +### __Syntax__ +```fortran +result = ibclr(i, pos) +``` +### __Description__ + +__ibclr__ returns the value of __i__ with the bit at position __pos__ set to zero. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __pos__ + : The type shall be _integer_. A value of zero refers to the least + significant bit. __pos__ is an __intent(in)__ scalar or array of type + _integer_. The value of __pos__ must be within the range zero to + __(bit\_size(i)-1__). + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR), +[__mvbits__(3)](MVBITS) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IBITS.md b/source/learn/intrinsics/_pages/IBITS.md new file mode 100644 index 000000000..aaf656698 --- /dev/null +++ b/source/learn/intrinsics/_pages/IBITS.md @@ -0,0 +1,52 @@ +## ibits +### __Name__ + +__ibits__(3) - \[BIT:COPY\] Bit extraction + + +### __Syntax__ +```fortran +result = ibits(i, pos, len) +``` +### __Description__ + +__ibits__ extracts a field of length __len__ from __i__, starting from +bit position __pos__ and extending left for __len__ bits. The result is +right-justified and the remaining bits are zeroed. The value of pos+len +must be less than or equal to the value __bit\_size(i)__. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __pos__ + : The type shall be _integer_. A value of zero refers to the least + significant bit. + + - __len__ + : The type shall be _integer_. + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibset__(3)](IBSET), +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR), +[__mvbits__(3)](MVBITS) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IBSET.md b/source/learn/intrinsics/_pages/IBSET.md new file mode 100644 index 000000000..a792bf1ac --- /dev/null +++ b/source/learn/intrinsics/_pages/IBSET.md @@ -0,0 +1,47 @@ +## ibset +### __Name__ + +__ibset__(3) - \[BIT:SET\] Set bit + + +### __Syntax__ +```fortran +result = ibset(i, pos) +``` +### __Description__ + +__ibset__ returns the value of __i__ with the bit at position __pos__ set to one. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __pos__ + : The type shall be _integer_. A value of zero refers to the least + significant bit. pos is an __intent(in)__ scalar or array of type + _integer_. The value of pos must be within the range zero to + __(bit\_size(i)-1__). + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR), +[__mvbits__(3)](MVBITS) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ICHAR.md b/source/learn/intrinsics/_pages/ICHAR.md new file mode 100644 index 000000000..3fc6fab1f --- /dev/null +++ b/source/learn/intrinsics/_pages/ICHAR.md @@ -0,0 +1,127 @@ +## ichar +### __Name__ + +__ichar__(3) - \[CHARACTER:CONVERSION\] Character-to-integer conversion function + + +### __Syntax__ +```fortran + elemental function ichar(c,kind) + + character(len=1),intent(in) :: c + integer,intent(in),optional :: kind +``` +### __Description__ + +__ichar(c)__ returns the code for the character in the system's native +character set. The correspondence between characters and their codes is +not necessarily the same across different Fortran implementations. For +example, a platform using EBCDIC would return different values than an +ASCII platform. + +See __iachar__(3) for specifically working with the ASCII character +set. + +### __Arguments__ + + - __c__ + : Shall be a scalar _character_, with __intent(in)__ + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default _integer_ kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_ichar +implicit none +integer i + + write(*,*)ichar(['a','z','A','Z']) + do i=0,127 + call printme() + enddo + +contains + +subroutine printme() +character(len=1) :: letter + + letter=char(i) + select case(i) + case (:31,127:) + write(*,'(1x,i0.3,1x,"HEX=",z2.2,1x,i0)')i,letter,ichar(letter) + case default + write(*,'(1x,i0.3,1x,a,1x,i0)')i,letter,ichar(letter) + end select + +end subroutine printme + +end program demo_ichar +``` + +### __Note__ + +No intrinsic exists to convert between a numeric value and a formatted +character string representation -- for instance, given the _character_ +value '154', obtaining an _integer_ or _real_ value with the value 154, or +vice versa. Instead, this functionality is provided by internal-file +I/O, as in the following example: + +``` +program read_val +integer value +character(len=10) string, string2 + string = '154' + + ! Convert a string to a numeric value + read (string,'(I10)') value + print *, value + + ! Convert a value to a formatted string + write (string2,'(I10)') value + print *, string2 +end program read_val +``` + Results: +```text + 154 + 154 +``` + +### __Standard__ + +Fortran 95 and later, with KIND argument -Fortran 2003 and later + +### __See Also__ + +[__achar__(3)](ACHAR), +[__char__(3)](CHAR), +[__iachar__(3)](IACHAR) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IEOR.md b/source/learn/intrinsics/_pages/IEOR.md new file mode 100644 index 000000000..5e90d8dfd --- /dev/null +++ b/source/learn/intrinsics/_pages/IEOR.md @@ -0,0 +1,45 @@ +## ieor +### __Name__ + +__ieor__(3) - \[BIT:LOGICAL\] Bitwise logical exclusive or + + +### __Syntax__ +```fortran +result = ieor(i, j) +``` +### __Description__ + +__ieor__ returns the bitwise Boolean exclusive-__or__ of __i__ and __j__. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __j__ + : The type shall be _integer_, of the same kind as __i__. + +### __Returns__ + +The return type is _integer_, of the same kind as the arguments. (If the +argument kinds differ, it is of the same kind as the larger argument.) + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__mvbits__(3)](MVBITS) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IMAGE_INDEX.md b/source/learn/intrinsics/_pages/IMAGE_INDEX.md new file mode 100644 index 000000000..af6937634 --- /dev/null +++ b/source/learn/intrinsics/_pages/IMAGE_INDEX.md @@ -0,0 +1,52 @@ +## image\_index +### __Name__ + +__image\_index__(3) - \[COLLECTIVE\] Cosubscript to image index conversion + + +### __Syntax__ +```fortran +result = image_index(coarray, sub) +``` +### __Description__ + +Returns the image index belonging to a cosubscript. + +### __Arguments__ + + - __coarray__ + : Coarray of any type. + + - __sub__ + : default integer rank-1 array of a size equal to the corank of + __coarray__. + +### __Returns__ + +Scalar default integer with the value of the image index which +corresponds to the cosubscripts. For invalid cosubscripts the result is +zero. + +### __Examples__ + +Sample program: + +```fortran +program demo image_index +implicit none +integer :: array[2,-1:4,8,*] + ! Writes 28 (or 0 if there are fewer than 28 images) + write (*,*) image_index(array, [2,0,3,1]) +end demo image_index +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__this\_image__(3)](THIS_IMAGE), +[__num\_images__(3)](NUM_IMAGES) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/INDEX.md b/source/learn/intrinsics/_pages/INDEX.md new file mode 100644 index 000000000..ab07ae294 --- /dev/null +++ b/source/learn/intrinsics/_pages/INDEX.md @@ -0,0 +1,86 @@ +## index +### __Name__ + +__index__(3) - \[CHARACTER:SEARCH\] Position of a substring within a string + + +### __Syntax__ +```fortran + index(string, substring, back, kind) result(start) + + character(len=*),intent(in) :: string + character(len=*),intent(in) :: substring + logical,intent(in),optional :: back + integer,intent(in),optional :: kind + integer(kind=KIND) :: start +``` +### __Description__ + +Returns the position of the start of the leftmost or rightmost +occurrence of string __substring__ in __string__, counting from one. If +__substring__ is not present in __string__, zero is returned. + +### __Arguments__ + + - __string__ + : string to be searched + + - __substring__ + : string to attempt to locate in __string__ + + - __back__ + : If the __back__ argument is present and true, the return value is the + start of the rightmost occurrence rather than the leftmost. + + - __kind__ + : An _integer_ initialization expression indicating the kind parameter + of the result. + +### __Returns__ + + - __START__ + : The return value is of type _integer_ and of kind __kind__. If __kind__ is + absent, the return value is of default integer kind. + +### __Examples__ + +Example program + +```fortran +program demo_index +implicit none +character(len=*),parameter :: str=& + 'Search this string for this expression' + !1234567890123456789012345678901234567890 + write(*,*)& + index(str,'this').eq.8, & + ! return value is counted from the left end even if BACK=.TRUE. + index(str,'this',back=.true.).eq.24, & + ! INDEX is case-sensitive + index(str,'This').eq.0 +end program demo_index +``` +Expected Results: +```text + T T T +``` +### __Standard__ + +FORTRAN 77 and later, with KIND argument Fortran 2003 +and later + +### __See Also__ + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), [__index__(3)](INDEX), + [__scan__(3)](SCAN), [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/INT.md b/source/learn/intrinsics/_pages/INT.md new file mode 100644 index 000000000..567d014a8 --- /dev/null +++ b/source/learn/intrinsics/_pages/INT.md @@ -0,0 +1,124 @@ +## int +### __Name__ +__int__(3) - \[TYPE:NUMERIC\] Convert to integer type by truncating towards zero + +### __Syntax__ +```fortran +result = int(a, kind) + + integer(kind=KIND) elemental function int(a,kind) + TYPE(kind=KIND),intent(in),optional :: a + integer,optional :: kind +``` +### __Description__ + +Convert to integer type by truncating towards zero. + +### __Arguments__ + + - __a__ + : Shall be of type _integer_, _real_, or _complex_ or a BOZ-literal-constant. + + - __kind__ + : An _integer_ initialization expression indicating the kind + parameter of the result. + + If not present the returned type is that of default integer type. + +### __Returns__ + +returns an _integer_ variable or array applying the following rules: + + __Case__: + + 1. If __a__ is of type _integer_, __int__(a) = a + + 2. If __a__ is of type _real_ and __|a| \< 1, int(a)__ equals __0__. If __|a| \>= + 1__, then __int(a)__ equals the integer whose magnitude does not exceed + __a__ and whose sign is the same as the sign of __a__. + + 3. If __a__ is of type _complex_, rule 2 is applied to the _real_ part of __a__. + + 4. If _a_ is a boz-literal constant, it is treated as an _integer_ + with the _kind_ specified. + + The interpretation of a bit sequence whose most significant bit is + __1__ is processor dependent. + +The result is undefined if it cannot be represented in the specified integer type. + +### __Examples__ + +Sample program: + +```fortran +program demo_int +use,intrinsic :: iso_fortran_env, only : int8, int16, int32, int64 +implicit none +integer :: i = 42 +complex :: z = (-3.7, 1.0) +real :: x=-10.5, y=10.5 + + print *, int(x), int(y) + + print *, int(i) + + print *, int(z), int(z,8) + ! elemental + print *, int([-10.9,-10.5,-10.3,10.3,10.5,10.9]) + ! note int(3) truncates towards zero + + ! CAUTION: + ! a number bigger than a default integer can represent + ! produces an incorrect result and is not required to + ! be detected by the program. + x=real(huge(0))+1000.0 + print *, int(x),x + ! using a larger kind + print *, int(x,kind=int64),x + + print *, int(& + & B"111111111111111111111111111111111111111111111111111111111111111",& + & kind=int64) + print *, int(O"777777777777777777777",kind=int64) + print *, int(Z"7FFFFFFFFFFFFFFF",kind=int64) + + ! elemental + print * + print *,int([ & + & -2.7, -2.5, -2.2, -2.0, -1.5, -1.0, -0.5, & + & 0.0, & + & +0.5, +1.0, +1.5, +2.0, +2.2, +2.5, +2.7 ]) + +end program demo_int +``` + Results: +```text + -10 10 + 42 + -3 -3 + -10 -10 -10 10 10 10 + -2147483648 2.14748467E+09 + 2147484672 2.14748467E+09 + 9223372036854775807 + 9223372036854775807 + 9223372036854775807 + + -2 -2 -2 -2 -1 + -1 0 0 0 1 + 1 2 2 2 2 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__aint__(3)](AINT), +[__anint__(3)](ANINT), +[__nint__(3)](NINT), +[__selected_int_kind__(3)](SELECTED_INT_KIND), +[__ceiling__(3)](CEILING), +[__floor__(3)](FLOOR) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/IOR.md b/source/learn/intrinsics/_pages/IOR.md new file mode 100644 index 000000000..0f058952f --- /dev/null +++ b/source/learn/intrinsics/_pages/IOR.md @@ -0,0 +1,70 @@ +## ior +### __Name__ + +__ior__(3) - \[BIT:LOGICAL\] Bitwise logical inclusive or + + +### __Syntax__ +```fortran + result = ior(i, j) + integer,intent(in) :: i + integer,intent(in) :: j +``` +### __Description__ + +__ior__ returns the bit-wise Boolean inclusive-__or__ of __i__ and __j__. + +### __Arguments__ + + - __i__ + : an _integer_ scalar or array. + + - __j__ + : _integer_ scalar or array, of the same kind as __i__. + +### __Returns__ + +The return type is _integer_, of the same kind as the arguments. (If the +argument kinds differ, it is of the same kind as the larger argument.) + +### __Examples__ + +Sample program: + +```fortran +program demo_ior +implicit none +integer :: i, j, k + i=53 ! i=00110101 binary (lowest order byte) + j=45 ! j=00101101 binary (lowest order byte) + k=ior(i,j) ! k=00111101 binary (lowest order byte) , k=61 decimal + write(*,'(i8,1x,b8.8)')i,i,j,j,k,k +end program demo_ior +``` + +Results: + +``` + 53 00110101 + 45 00101101 + 61 00111101 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), +[__iand__(3)](IAND), +[__ieor__(3)](IEOR), +[__mvbits__(3)](MVBITS) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IPARITY.md b/source/learn/intrinsics/_pages/IPARITY.md new file mode 100644 index 000000000..39c8f8595 --- /dev/null +++ b/source/learn/intrinsics/_pages/IPARITY.md @@ -0,0 +1,73 @@ +## iparity +### __Name__ + +__iparity__(3) - \[BIT:LOGICAL\] Bitwise exclusive or of array elements + + +### __Syntax__ +```fortran + result = iparity(array, mask) + + or + + result = iparity(array, dim, mask) +``` +### __Description__ + +Reduces with bitwise _xor_ (exclusive _or_) the elements of __array__ along +dimension __dim__ if the corresponding element in __mask__ is __.true.__. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_ + + - __dim__ + : (Optional) shall be a scalar of type _integer_ with a value in the + range from __"1" to "n"__, where __"n"__ equals the rank of __array__. + + - __mask__ + : (Optional) shall be of type _logical_ and either be a scalar or an + array of the same shape as __array__. + +### __Returns__ + +The result is of the same type as __array__. + +If __dim__ is absent, a scalar with the bitwise _xor_ of all elements in __array__ +is returned. Otherwise, an array of rank __n-1__, where __n__ equals the +rank of __array__, and a shape similar to that of __array__ with dimension __dim__ +dropped is returned. + +### __Examples__ + +Sample program: + +```fortran +program demo_iparity +implicit none +integer, dimension(2) :: a + a(1) = int(b'00100100') + a(2) = int(b'01101010') + print '(b8.8)', iparity(a) +end program demo_iparity +``` + +Results: + +``` + 01001110 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__iany__(3)](IANY), +[__iall__(3)](IALL), +[__ieor__(3)](IEOR), +[__parity__(3)](PARITY) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ISHFT.md b/source/learn/intrinsics/_pages/ISHFT.md new file mode 100644 index 000000000..fba421baa --- /dev/null +++ b/source/learn/intrinsics/_pages/ISHFT.md @@ -0,0 +1,41 @@ +## ishft +### __Name__ + +__ishft__(3) - \[BIT:SHIFT\] Shift bits + + +### __Syntax__ +```fortran +result = ishft(i, shift) +``` +### __Description__ + +__ishft__(3) returns a value corresponding to __i__ with all of the bits shifted +__shift__ places. A value of __shift__ greater than zero corresponds to a left +shift, a value of zero corresponds to no shift, and a value less than +zero corresponds to a right shift. If the absolute value of __shift__ is +greater than __bit\_size(i)__, the value is undefined. Bits shifted out +from the left end or right end are lost; zeros are shifted in from the +opposite end. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __shift__ + : The type shall be _integer_. + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ishftc__(3)](ISHFTC) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/ISHFTC.md b/source/learn/intrinsics/_pages/ISHFTC.md new file mode 100644 index 000000000..b01b98637 --- /dev/null +++ b/source/learn/intrinsics/_pages/ISHFTC.md @@ -0,0 +1,45 @@ +## ishftc +### __Name__ + +__ishftc__(3) - \[BIT:SHIFT\] Shift bits circularly + + +### __Syntax__ +```fortran +result = ishftc(i, shift, size) +``` +### __Description__ + +__ishftc__(3) returns a value corresponding to __i__ with the rightmost __size__ bits +shifted circularly __shift__ places; that is, bits shifted out one end are +shifted into the opposite end. A value of __shift__ greater than zero +corresponds to a left shift, a value of zero corresponds to no shift, +and a value less than zero corresponds to a right shift. The absolute +value of __shift__ must be less than __size__. If the __size__ argument is omitted, +it is taken to be equivalent to __bit\_size(i)__. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __shift__ + : The type shall be _integer_. + + - __size__ + : (Optional) The type shall be _integer_; the value must be greater than + zero and less than or equal to __bit\_size__(i). + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ishft__(3)](ISHFT) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IS_CONTIGUOUS.md b/source/learn/intrinsics/_pages/IS_CONTIGUOUS.md new file mode 100644 index 000000000..960495b96 --- /dev/null +++ b/source/learn/intrinsics/_pages/IS_CONTIGUOUS.md @@ -0,0 +1,114 @@ +## is\_contiguous +### __Name__ + +__is\_contiguous__(3) - \[ARRAY INQUIRY\] test if object is contiguous + + +### __Syntax__ +```fortran +result = is_contiguous(a) +``` +### __Description__ + +True if and only if an object is contiguous. + +An object is contiguous if it is + + - __(1)__ + an object with the CONTIGUOUS attribute, + + - __(2)__ + a nonpointer whole array that is not assumed-shape, + + - __(3)__ + an assumed-shape array that is argument associated with an array + that is contiguous, + + - __(4)__ + an array allocated by an ALLOCATE statement, + + - __(5)__ + a pointer associated with a contiguous target, or + + - __(6)__ + a nonzero-sized array section provided that + + - __(a)__ + its base object is contiguous, + + - __(b)__ + it does not have a vector subscript, + + - __(c)__ + the elements of the section, in array element order, are a + subset of the base object elements that are consecutive in + array element order, + + - __(d)__ + if the array is of type character and a substring-range + appears, the substring-range specifies all of the characters + of the parent-string, + + - __(e)__ + only its final part-ref has nonzero rank, and + + - __(f)__ + it is not the real or imaginary part of an array of type + complex. + +An object is not contiguous if it is an array subobject, and + + - the object has two or more elements, + + - the elements of the object in array element order are not + consecutive in the elements of the base object, + + - the object is not of type character with length zero, and + + - the object is not of a derived type that has no ultimate + components other than zero-sized arrays and + + - characters with length zero. + +It is processor-dependent whether any other object is contiguous. + +### __Arguments__ + + - __a__ + : may be of any type. It shall be an array. If it is a pointer it + shall be associated. + +### __Returns__ + + - __Result__ + : of type Default logical scalar. The result has the value true if __a__ + is contiguous, and false otherwise. + +### __Examples__ + +Sample program: + +```fortran +program demo_is_contiguous +implicit none +intrinsic is_contiguous +real, DIMENSION (1000, 1000), TARGET :: A +real, DIMENSION (:, :), POINTER :: IN, OUT + IN => A ! Associate IN with target A + OUT => A(1:1000:2,:) ! Associate OUT with subset of target A + ! + write(*,*)'IN is ',IS_CONTIGUOUS(IN) + write(*,*)'OUT is ',IS_CONTIGUOUS(OUT) + ! +end program demo_is_contiguous +``` + Results: +```text + IN is T + OUT is F +``` +### __Standard__ + +Fortran 2008 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/IS_IOSTAT_END.md b/source/learn/intrinsics/_pages/IS_IOSTAT_END.md new file mode 100644 index 000000000..035268cc8 --- /dev/null +++ b/source/learn/intrinsics/_pages/IS_IOSTAT_END.md @@ -0,0 +1,62 @@ +## is\_iostat\_end +### __Name__ + +__is\_iostat\_end__(3) - \[STATE\] Test for end-of-file value + + +### __Syntax__ +```fortran +function is_iostat_end(i) + + logical function :: is_iostat_end (i) result(yesno) + integer,intent(in) :: i +``` +### __Description__ + +is\_iostat\_end(3) tests whether a variable (assumed returned as a status +from an I/O statement) has the "end of file" I/O status value. + +The function is equivalent to comparing the variable with the +__iostat\_end__ parameter of the intrinsic module __iso\_fortran\_env__. + +### __Arguments__ + + - __i__ + : An _integer_ status value to test if indicating end of file. + +### __Returns__ + +Returns a _logical_ of the default kind, __.true.__ if __i__ has the value +which indicates an end of file condition for __iostat=__ specifiers, and is +__.false.__ otherwise. + +### __Examples__ + +Sample program: + +```fortran +program demo_iostat +implicit none +real :: value +integer :: ios +character(len=256) :: message + write(*,*)'Begin entering numeric values, one per line' + do + read(*,*,iostat=ios,iomsg=message)value + if(ios.eq.0)then + write(*,*)'VALUE=',value + elseif( is_iostat_end(ios) ) then + stop 'end of file. Goodbye!' + else + write(*,*)'ERROR:',ios,trim(message) + endif + ! + enddo +end program demo_iostat +``` + +### __Standard__ + +Fortran 2003 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md b/source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md new file mode 100644 index 000000000..ebd4397a7 --- /dev/null +++ b/source/learn/intrinsics/_pages/IS_IOSTAT_EOR.md @@ -0,0 +1,50 @@ +## is\_iostat\_eor +### __Name__ + +__is\_iostat\_eor__(3) - \[STATE\] Test for end-of-record value + + +### __Syntax__ +```fortran +result = is_iostat_eor(i) +``` +### __Description__ + +is\_iostat\_eor tests whether an variable has the value of the I/O +status "end of record". The function is equivalent to comparing the +variable with the iostat\_eor parameter of the intrinsic module +__iso\_fortran\_env__. + +### __Arguments__ + + - __i__ + : Shall be of the type _integer_. + +### __Returns__ + +Returns a _logical_ of the default kind, which .true. if __i__ has the value +which indicates an end of file condition for iostat= specifiers, and is +.false. otherwise. + +### __Examples__ + +Sample program: + +```fortran +program demo_is_iostat_eor +implicit none +integer :: stat, i(50) + + open(88, file='test.dat', form='unformatted') + read(88, iostat=stat) i + + if(is_iostat_eor(stat)) stop 'end of record' + +end program demo_is_iostat_eor +``` + +### __Standard__ + +Fortran 2003 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/KIND.md b/source/learn/intrinsics/_pages/KIND.md new file mode 100644 index 000000000..9268afb9a --- /dev/null +++ b/source/learn/intrinsics/_pages/KIND.md @@ -0,0 +1,49 @@ +## kind +### __Name__ + +__kind__(3) - \[KIND INQUIRY\] Kind of an entity + + +### __Syntax__ +```fortran +k = kind(x) +``` +### __Description__ + +__kind(x)__ returns the kind value of the entity __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _logical_, _integer_, _real_, _complex_ or _character_. + +### __Returns__ + +The return value is a scalar of type _integer_ and of the default integer +kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_kind +implicit none +integer,parameter :: kc = kind(' ') +integer,parameter :: kl = kind(.true.) + + print *, "The default character kind is ", kc + print *, "The default logical kind is ", kl + +end program demo_kind +``` + Results: +```text + The default character kind is 1 + The default logical kind is 4 +``` +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LBOUND.md b/source/learn/intrinsics/_pages/LBOUND.md new file mode 100644 index 000000000..24a2e7c20 --- /dev/null +++ b/source/learn/intrinsics/_pages/LBOUND.md @@ -0,0 +1,116 @@ +## lbound +### __Name__ + +__lbound__(3) - \[ARRAY INQUIRY\] Lower dimension bounds of an array + +### __Syntax__ +```fortran +result = lbound(array, dim, kind) + + TYPE(kind=KIND) elemental function lbound(array,dim,kind) + TYPE(kind=KIND),intent(in) :: array + integer,optional,intent(in) :: dim + integer,optional,intent(in) :: kind +``` +### __Description__ + +Returns the lower bounds of an array, or a single lower bound along the +__dim__ dimension. + +### __Arguments__ + + - __array__ + : Shall be an array, of any type. + + - __dim__ + : Shall be a scalar _integer_. + + - __kind__ + : An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. If __dim__ is absent, the +result is an array of the lower bounds of __array__. If __dim__ is present, the +result is a scalar corresponding to the lower bound of the array along +that dimension. If __array__ is an expression rather than a whole array or +array structure component, or if it has a zero extent along the relevant +dimension, the lower bound is taken to be 1. + +### __Examples__ + +Note that in my opinion this function should not be used on assumed-size +arrays or in any function without an explicit interface. Errors can +occur if there is no interface defined. + +Sample program + +```fortran +! program demo_lbound +module m_bounds +implicit none + contains + subroutine msub(arr) + !!integer,intent(in) :: arr(*) ! cannot be assumed-size array + integer,intent(in) :: arr(:) + write(*,*)'MSUB: LOWER=',lbound(arr), & + & 'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) + end subroutine msub + end module m_bounds + + use m_bounds, only : msub + implicit none + interface + subroutine esub(arr) + integer,intent(in) :: arr(:) + end subroutine esub + end interface + integer :: arr(-10:10) + write(*,*)'MAIN: LOWER=',lbound(arr), & + & 'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) + call csub() + call msub(arr) + call esub(arr) + contains +subroutine csub + write(*,*)'CSUB: LOWER=',lbound(arr), & + & 'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) +end subroutine csub +end + + subroutine esub(arr) + implicit none + integer,intent(in) :: arr(:) + ! WARNING: IF CALLED WITHOUT AN EXPLICIT INTERFACE + ! THIS WILL GIVE UNDEFINED ANSWERS (like 0,0,0) + write(*,*)'ESUB: LOWER=',lbound(arr), & + & 'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) + end subroutine esub + +!end program demo_lbound +``` +Results: + +``` + MAIN: LOWER= -10 UPPER= 10 SIZE= 21 + CSUB: LOWER= -10 UPPER= 10 SIZE= 21 + MSUB: LOWER= 1 UPPER= 21 SIZE= 21 + ESUB: LOWER= 1 UPPER= 21 SIZE= 21 +``` + +### __Standard__ + +Fortran 95 and later, with KIND argument - Fortran 2003 and later + +### __See Also__ + +[__ubound__(3)](UBOUND), +[__co\_lbound__(3)](CO_LBOUND) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LEADZ.md b/source/learn/intrinsics/_pages/LEADZ.md new file mode 100644 index 000000000..99cd24791 --- /dev/null +++ b/source/learn/intrinsics/_pages/LEADZ.md @@ -0,0 +1,130 @@ +## leadz +### __Name__ + +__leadz__(3) - \[BIT:COUNT\] Number of leading zero bits of an integer + + +### __Syntax__ +```fortran +result = leadz(i) +``` +### __Description__ + +__leadz__ returns the number of leading zero bits of an integer. + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + +### __Returns__ + +The type of the return value is the same as a default _integer_. If all +the bits of __i__ are zero, the result value is __bit\_size(i)__. + +### __Examples__ + +Sample program: + +```fortran +program demo_leadz +implicit none +integer :: value, i +character(len=80) :: f + write(*,'(*(g0))')'BIT_SIZE=',bit_size(value) + ! make a format statement for writing a value as a bit string + write(f,'("(b",i0,".",i0,")")')bit_size(value),bit_size(value) + ! show output for various integer values + value=0 + do i=0,bit_size(value)-1 + write (*,'("LEADING ZERO BITS=",i3,1x)') leadz(value) + write (*,'(" FOR VALUE ")',advance='no') + write(*,f,advance='no') value + write(*,'(*(1x,g0))') "OR",value + value=value+2**(i) + enddo +end program demo_leadz +``` + +Results: + +``` + BIT_SIZE=32 + LEADING ZERO BITS= 32 + FOR VALUE 00000000000000000000000000000000 OR 0 + LEADING ZERO BITS= 31 + FOR VALUE 00000000000000000000000000000001 OR 1 + LEADING ZERO BITS= 30 + FOR VALUE 00000000000000000000000000000011 OR 3 + LEADING ZERO BITS= 29 + FOR VALUE 00000000000000000000000000000111 OR 7 + LEADING ZERO BITS= 28 + FOR VALUE 00000000000000000000000000001111 OR 15 + LEADING ZERO BITS= 27 + FOR VALUE 00000000000000000000000000011111 OR 31 + LEADING ZERO BITS= 26 + FOR VALUE 00000000000000000000000000111111 OR 63 + LEADING ZERO BITS= 25 + FOR VALUE 00000000000000000000000001111111 OR 127 + LEADING ZERO BITS= 24 + FOR VALUE 00000000000000000000000011111111 OR 255 + LEADING ZERO BITS= 23 + FOR VALUE 00000000000000000000000111111111 OR 511 + LEADING ZERO BITS= 22 + FOR VALUE 00000000000000000000001111111111 OR 1023 + LEADING ZERO BITS= 21 + FOR VALUE 00000000000000000000011111111111 OR 2047 + LEADING ZERO BITS= 20 + FOR VALUE 00000000000000000000111111111111 OR 4095 + LEADING ZERO BITS= 19 + FOR VALUE 00000000000000000001111111111111 OR 8191 + LEADING ZERO BITS= 18 + FOR VALUE 00000000000000000011111111111111 OR 16383 + LEADING ZERO BITS= 17 + FOR VALUE 00000000000000000111111111111111 OR 32767 + LEADING ZERO BITS= 16 + FOR VALUE 00000000000000001111111111111111 OR 65535 + LEADING ZERO BITS= 15 + FOR VALUE 00000000000000011111111111111111 OR 131071 + LEADING ZERO BITS= 14 + FOR VALUE 00000000000000111111111111111111 OR 262143 + LEADING ZERO BITS= 13 + FOR VALUE 00000000000001111111111111111111 OR 524287 + LEADING ZERO BITS= 12 + FOR VALUE 00000000000011111111111111111111 OR 1048575 + LEADING ZERO BITS= 11 + FOR VALUE 00000000000111111111111111111111 OR 2097151 + LEADING ZERO BITS= 10 + FOR VALUE 00000000001111111111111111111111 OR 4194303 + LEADING ZERO BITS= 9 + FOR VALUE 00000000011111111111111111111111 OR 8388607 + LEADING ZERO BITS= 8 + FOR VALUE 00000000111111111111111111111111 OR 16777215 + LEADING ZERO BITS= 7 + FOR VALUE 00000001111111111111111111111111 OR 33554431 + LEADING ZERO BITS= 6 + FOR VALUE 00000011111111111111111111111111 OR 67108863 + LEADING ZERO BITS= 5 + FOR VALUE 00000111111111111111111111111111 OR 134217727 + LEADING ZERO BITS= 4 + FOR VALUE 00001111111111111111111111111111 OR 268435455 + LEADING ZERO BITS= 3 + FOR VALUE 00011111111111111111111111111111 OR 536870911 + LEADING ZERO BITS= 2 + FOR VALUE 00111111111111111111111111111111 OR 1073741823 + LEADING ZERO BITS= 1 + FOR VALUE 01111111111111111111111111111111 OR 2147483647 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bit\_size__(3)](BIT_SIZE), +[__popcnt__(3)](POPCNT), +[__poppar__(3)](POPPAR), +[__trailz__(3)](TRAILZ) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LEN.md b/source/learn/intrinsics/_pages/LEN.md new file mode 100644 index 000000000..818dae0d8 --- /dev/null +++ b/source/learn/intrinsics/_pages/LEN.md @@ -0,0 +1,128 @@ +## len +### __Name__ + +__len__(3) - \[CHARACTER\] Length of a character entity + +### __Syntax__ +```fortran + l = len(string, kind) + + integer(kind=KIND) function len(string,kind) result(value) + character(len=*),intent(in) :: string + integer,optional,intent(in) :: KIND + integer(kind=KIND) :: value +``` +where the returned value is the same kind as the __KIND__, or of +the default kind if __KIND__ is not specified. + +### __Description__ + +__len(3)__ Returns the length of a _character_ string. + +If __string__ is an array, the length of an element of __string__ +is returned. + +Note that __string__ need not be defined when this intrinsic is invoked, +as only the length (not the content) of __string__ is needed. + +### __Arguments__ + + - __string__ + : Shall be a scalar or array of type _character_. + + - __kind__ + : An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. + +### __Standard__ + +FORTRAN 77 and later; with __kind__ argument - Fortran 2003 and later + +### __Examples__ + +Sample program + +```fortran +program demo_len +implicit none +character(len=40) :: string +character(len=:),allocatable :: astring +character(len=:),allocatable :: many_strings(:) +integer :: ii + + ii=len(string) + write(*,*)'length =',ii + + ! the string length will be constant for the fixed-length variable + string=' How long is this string? ' + write(*,'(a)')' ',string,repeat('=',len(string)) + + ! the allocatable string length will be the length of LHS expression + astring=' How long is this string? ' + write(*,'(a)')' ',astring,repeat('=',len(astring)) + + ! you can also query the length (and other attributes) of a string + ! using a "type parameter inquiry:" (available since fortran 2018) + write(*,*)'length from type parameter inquiry=',string%len + + ! a scalar is returned for an array, as all values in a Fortran + ! character array must be of the same length: + + ! define an allocatable array with a constructor ... + many_strings = [ character(len=7) :: 'Takata', 'Tanaka', 'Hayashi' ] + write(*,*) + write(*,*)'length of ALL elements of array=',len(many_strings) + + call proc_star(' how long? ') + +contains + + subroutine proc_star(str) + character(len=*),intent(in) :: str + character(len=:),allocatable :: str2 + ! the length of str can be used in the definitions of variables + character(len=len(str)) :: str3 + + if(allocated(str2))deallocate(str2) + ! syntax for allocating a scalar string + allocate(character(len=len(str)) :: str2) + + write(*,*)len(str),len(str2),len(str3) + ! these are other allowable ways to define str2 + str2=str + str2=repeat(' ',len(str)) + + end subroutine proc_star + +end program demo_len +``` +Results: +```text +``` +### __See Also__ + +len_trim(3), adjustr(3), trim(3), and adjustl(3) are related routines that +allow you to deal with leading and trailing blanks. + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/LEN_TRIM.md b/source/learn/intrinsics/_pages/LEN_TRIM.md new file mode 100644 index 000000000..3847a708e --- /dev/null +++ b/source/learn/intrinsics/_pages/LEN_TRIM.md @@ -0,0 +1,88 @@ +## len\_trim +### __Name__ + +__len\_trim__(3) - \[CHARACTER:WHITESPACE\] Length of a character entity without trailing blank characters + +### __Syntax__ +```fortran + result = len_trim(string, kind) + + integer(kind=KIND) function len_trim(string,KIND) result (value) + character(len=*),intent(in) :: string + integer,optional,intent(in) :: KIND + integer(kind=KIND) :: value +``` +### __Description__ + +Returns the length of a character string, ignoring any trailing blanks. + +### __Arguments__ + + - __string__ + : The input string whose length is to be measured. + Shall be a scalar of type _character_ + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default _integer_ kind. + +### __Examples__ + +Sample program + +```fortran +program demo_len_trim +implicit none +character(len=:),allocatable :: string + string=' how long is this string? ' + write(*,*)'LENGTH=',len(string) + write(*,*)'TRIMMED LENGTH=',len_trim(string) + ! + ELE:block ! elemental example + character(len=:),allocatable :: tablet(:) + tablet=[character(len=256) :: & + & ' how long is this string? ',& + & 'and this one?'] + write(*,*)'LENGTH= ',len(tablet) + write(*,*)'TRIMMED LENGTH= ',len_trim(tablet) + write(*,*)'SUM TRIMMED LENGTH=',sum(len_trim(tablet)) + endblock ELE + ! +end program demo_len_trim +``` +Results: +``` + LENGTH= 30 + TRIMMED LENGTH= 25 + LENGTH= 256 + TRIMMED LENGTH= 25 13 + SUM TRIMMED LENGTH= 38 +``` +### __Standard__ + +Fortran 95 and later, with __kind__ argument - Fortran 2003 +and later + +### __See Also__ + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__repeat__(3)](REPEAT), + [__len__(3)](LEN), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/LGE.md b/source/learn/intrinsics/_pages/LGE.md new file mode 100644 index 000000000..e6c1cbc39 --- /dev/null +++ b/source/learn/intrinsics/_pages/LGE.md @@ -0,0 +1,63 @@ +## lge +### __Name__ + +__lge__(3) - \[CHARACTER:COMPARE\] Lexical greater than or equal + + +### __Syntax__ +```fortran +result = lge(string_a, string_b) +``` +### __Description__ + +Determines whether one string is lexically greater than or equal to +another string, where the two strings are interpreted as containing +ASCII character codes. If the String __a__ and String __b__ are not the same +length, the shorter is compared as if spaces were appended to it to form +a value that has the same length as the longer. + +In general, the lexical comparison intrinsics __lge__(3), __lgt__(3), __lle__(3), and __llt__(3) +differ from the corresponding intrinsic operators .ge., .gt., .le., and +.lt., in that the latter use the processor's character ordering (which +is not ASCII on some targets), whereas the former always use the ASCII +ordering. + +### __Arguments__ + + - __string\_a__ + : Shall be of default _character_ type. + + - __string\_b__ + : Shall be of default _character_ type. + +### __Returns__ + +Returns .true. if string\_a \>= string\_b, and .false. otherwise, based +on the ASCII ordering. + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +__\[\[lgt__(3), __\[\[lle__(3), __\[\[llt__(3) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LGT.md b/source/learn/intrinsics/_pages/LGT.md new file mode 100644 index 000000000..963fe6e9e --- /dev/null +++ b/source/learn/intrinsics/_pages/LGT.md @@ -0,0 +1,65 @@ +## lgt +### __Name__ + +__lgt__(3) - \[CHARACTER:COMPARE\] Lexical greater than + + +### __Syntax__ +```fortran +result = lgt(string_a, string_b) +``` +### __Description__ + +Determines whether one string is lexically greater than another string, +where the two strings are interpreted as containing ASCII character +codes. If the String __a__ and String __b__ are not the same length, the shorter +is compared as if spaces were appended to it to form a value that has +the same length as the longer. + +In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT +differ from the corresponding intrinsic operators .ge., .gt., .le., and +.lt., in that the latter use the processor's character ordering (which +is not ASCII on some targets), whereas the former always use the ASCII +ordering. + +### __Arguments__ + + - __string\_a__ + : Shall be of default _character_ type. + + - __string\_b__ + : Shall be of default _character_ type. + +### __Returns__ + +Returns .true. if string\_a \> string\_b, and .false. otherwise, based +on the ASCII ordering. + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__lge__(3)](LGE), +[__lle__(3)](LLE), +[__llt__(3)](LLT) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + +- __Elemental:__ +[__adjustl__(3)](ADJUSTL), +[__adjustr__(3)](ADJUSTR), +[__index__(3)](INDEX), + +[__scan__(3)](SCAN), +[__verify__(3)](VERIFY) + +- __Nonelemental:__ +[__len\_trim__(3)](LEN_TRIM), +[__len__(3)](LEN), +[__repeat__(3)](REPEAT), +[__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LLE.md b/source/learn/intrinsics/_pages/LLE.md new file mode 100644 index 000000000..7639588f1 --- /dev/null +++ b/source/learn/intrinsics/_pages/LLE.md @@ -0,0 +1,111 @@ +## lle +### __Name__ + +__lle__(3) - \[CHARACTER:COMPARE\] Lexical less than or equal + + +### __Syntax__ +```fortran +result = lle(str_a, str_b) + + character(len=*),intent(in) :: str_a, str_b + + or + + character(len=*),intent(in) :: str_a, str_b(*) logical :: result +``` +### __Description__ + +Determines whether one string is lexically less than or equal to another +string, where the two strings are interpreted as containing ASCII +character codes. if the __string\_a__ and __string\_b__ are not the same length, +the shorter is compared as if spaces were appended to it to form a value +that has the same length as the longer. Leading spaces are significant. + +In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT +differ from the corresponding intrinsic operators .ge., .gt., .le., and +.lt., in that the latter use the processor's character ordering (which +is not ASCII on some targets), whereas the former always use the ASCII +ordering. + +### __Arguments__ + + - __str\_a__ + : variable or array of default _character_ type. + + - __str\_b__ + : variable or array of default _character_ type. + + if __str_a__ and __str_b__ are both arrays they must be of the + same shape. + +### __Returns__ + + - __result__ + Returns __.true.__ if __STR\_A \<= STR\_B__, and __.false.__ otherwise, based on + the ASCII ordering. + +### __Examples__ + +Sample program: + +```fortran +program demo_lle +implicit none +integer :: i + write(*,'(*(a))')(char(i),i=32,126) + write(*,*) lle('abc','ABC') ! F lowercase is > uppercase + write(*,*) lle('abc','abc ') ! T trailing spaces + ! If both strings are of zero length the result is true. + write(*,*) lle('','') ! T + write(*,*) lle('','a') ! T the null string is padded + write(*,*) lle('a','') ! F + write(*,*) lle('abc',['abc','123']) ! [T,F] scalar and array + write(*,*) lle(['cba', '123'],'abc') ! [F,T] + write(*,*) lle(['abc','123'],['cba','123']) ! [T,T] both arrays +end program demo_lle +``` + +Results: + +```text + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ + [\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + F + T + T + T + F + T F + F T + T T +``` + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__lge__(3)](LGE), +[__lgt__(3),](LGT), +[__llt__(3)](LLT) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LLT.md b/source/learn/intrinsics/_pages/LLT.md new file mode 100644 index 000000000..e6fe69f4b --- /dev/null +++ b/source/learn/intrinsics/_pages/LLT.md @@ -0,0 +1,60 @@ +## llt +### __Name__ + +__llt__(3) - \[CHARACTER:COMPARE\] Lexical less than + + +### __Syntax__ +```fortran +result = llt(string_a, string_b) +``` +### __Description__ + +Determines whether one string is lexically less than another string, +where the two strings are interpreted as containing ASCII character +codes. If the __string\_a__ and __string\_b__ are not the same length, the shorter +is compared as if spaces were appended to it to form a value that has +the same length as the longer. + +In general, the lexical comparison intrinsics LGE, LGT, LLE, and LLT +differ from the corresponding intrinsic operators .ge., .gt., .le., and +.lt., in that the latter use the processor's character ordering (which +is not ASCII on some targets), whereas the former always use the ASCII +ordering. + +### __Arguments__ + + - __string\_a__ + : Shall be of default _character_ type. + + - __string\_b__ + : Shall be of default _character_ type. + +### __Returns__ + +Returns .true. if string\_a \<= string\_b, and .false. otherwise, based +on the ASCII ordering. + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__lge__(3)](LGE), +[__lgt__(3)](LGT), +[__lle__(3](LLE)) + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), [__index__(3)](INDEX), + [__scan__(3)](SCAN), [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LOG.md b/source/learn/intrinsics/_pages/LOG.md new file mode 100644 index 000000000..c91797302 --- /dev/null +++ b/source/learn/intrinsics/_pages/LOG.md @@ -0,0 +1,50 @@ +## log +### __Name__ + +__log__(3) - \[MATHEMATICS\] Logarithm function + + +### __Syntax__ +```fortran +result = log(x) +``` +### __Description__ + +__log(x)__ computes the natural logarithm of __x__, i.e. the logarithm to +the base "e". + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value is of type _real_ or _complex_. The kind type parameter is +the same as __x__. If __x__ is _complex_, the imaginary part OMEGA is in the range + +__-PI__ \< OMEGA \<= PI. + +### __Examples__ + +Sample program: + +```fortran +program demo_log +implicit none + real(kind(0.0d0)) :: x = 2.71828182845904518d0 + complex :: z = (1.0, 2.0) + write(*,*)x, log(x) ! will yield (approximately) 1 + write(*,*)z, log(z) +end program demo_log +``` + Results: +```text + 2.7182818284590451 1.0000000000000000 + (1.00000000,2.00000000) (0.804718971,1.10714877) +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LOG10.md b/source/learn/intrinsics/_pages/LOG10.md new file mode 100644 index 000000000..ad38eeaf8 --- /dev/null +++ b/source/learn/intrinsics/_pages/LOG10.md @@ -0,0 +1,58 @@ +## log10 +### __Name__ + +__log10__(3) - \[MATHEMATICS\] Base 10 logarithm function + +### __Syntax__ +```fortran +result = log10(x) + + real(kind=KIND) elemental function log10(x) + real(kind=KIND),intent(in) :: x +``` +### __Description__ + +__log10(x)__ computes the base 10 logarithm of __x__. This +is generally called the "common logarithm". + +### __Arguments__ + + - __x__ + : A _real_ value > 0 to take the log of. + +### __Returns__ + +The return value is of type _real_ . The kind type parameter is +the same as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_log10 +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +real(kind=real64) :: x = 10.0_real64 + + x = log10(x) + write(*,'(*(g0))')'log10(',x,') is ',log10(x) + + ! elemental + write(*, *)log10([1.0, 10.0, 100.0, 1000.0, 10000.0, & + & 100000.0, 1000000.0, 10000000.0]) + +end program demo_log10 +``` + Results: +```text + log10(1.0000000000000000) is 0.0000000000000000 + 0.00000000 1.00000000 2.00000000 3.00000000 + 4.00000000 5.00000000 6.00000000 7.00000000 +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LOGICAL.md b/source/learn/intrinsics/_pages/LOGICAL.md new file mode 100644 index 000000000..2fa946612 --- /dev/null +++ b/source/learn/intrinsics/_pages/LOGICAL.md @@ -0,0 +1,68 @@ +## logical +### __Name__ + +__logical__(3) - \[TYPE:LOGICAL\] Converts one kind of _logical_ variable to another + + +### __Syntax__ +```fortran +result = logical(l, kind) + + logical(kind=KIND) function logical(L,KIND) + logical(kind=INK),intent(in) :: L + integer,intent(in),optional :: KIND +``` +### __Description__ + +Converts one kind of _logical_ variable to another. + +### __Arguments__ + + + - __l__ + : The type shall be _logical_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is a _logical_ value equal to __l__, with a kind +corresponding to __kind__, or of the default logical kind if __kind__ is not +given. + +### __Examples__ +```fortran +program demo_logical +! Access array containing the kind type parameter values supported by this +! compiler for entities of logical type +use iso_fortran_env, only : logical_kinds + + ! list kind values supported on this platform, which generally vary + ! in storage size + do i =1, size(logical_kinds) + write(*,*)logical_kinds(i) + enddo + +end program demo_logical +``` + Results: +```text + 1 + 2 + 4 + 8 + 16 +``` +### __Standard__ + +Fortran 95 and later, related ISO_FORTRAN_ENV module - fortran 2009 + +### __See Also__ + +[__int__(3)](INT), +[__real__(3)](REAL), +[__cmplx__(3)](CMPLX) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/LOG_GAMMA.md b/source/learn/intrinsics/_pages/LOG_GAMMA.md new file mode 100644 index 000000000..a2185b581 --- /dev/null +++ b/source/learn/intrinsics/_pages/LOG_GAMMA.md @@ -0,0 +1,47 @@ +## log\_gamma +### __Name__ + +__log\_gamma__(3) - \[MATHEMATICS\] Logarithm of the Gamma function + + +### __Syntax__ +```fortran +x = log_gamma(x) +``` +### __Description__ + +__log\_gamma(x)__ computes the natural logarithm of the absolute value of the Gamma function. + +### __Arguments__ + + - __x__ + : Shall be of type _real_ and neither zero nor a negative integer. + +### __Returns__ + +The return value is of type _real_ of the same kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_log_gamma +implicit none +real :: x = 1.0 + write(*,*)x,log_gamma(x) ! returns 0.0 +end program demo_log_gamma +``` + Results: +```text + 1.00000000 0.00000000 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +Gamma function: [__gamma__(3)](GAMMA) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MASKL.md b/source/learn/intrinsics/_pages/MASKL.md new file mode 100644 index 000000000..4145c6484 --- /dev/null +++ b/source/learn/intrinsics/_pages/MASKL.md @@ -0,0 +1,94 @@ +## maskl +### __Name__ + +__maskl__(3) - \[BIT:SET\] Generates a left justified mask + +### __Syntax__ +```fortran +result = maskl(i, kind) + + integer elemental function maskl(i,kind) + integer,intent(in),optional :: kind +``` +### __Description__ + +__maskl(i\[, *kind*\])__ has its leftmost __i__ bits set to __1__, and the +remaining bits set to __0__. + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + Its value must be non-negative, and less than or equal to the + number of bits for the kind of the result. + + - __kind__ + : Shall be a scalar constant expression of type _integer_. + +### __Returns__ + +The return value is of type _integer_. If __kind__ is present, it specifies +the kind value of the return type; otherwise, it is of the default +integer kind. + +The leftmost __i__ bits are set to 1 and the other bits are set to 0. + +### __Examples__ +Sample program: +```fortran +program demo_maskl +implicit none +integer :: i + i=maskl(1) + write(*,'(i0,1x,b0,/)') i,i + ! elemental + write(*,'(*(i11,1x,b0,1x,/))') maskl([(i,i,i=1,bit_size(0))]) +end program demo_maskl +``` + Results: +```text +-2147483648 10000000000000000000000000000000 + + 0 0 +-2147483648 10000000000000000000000000000000 +-1073741824 11000000000000000000000000000000 + -536870912 11100000000000000000000000000000 + -268435456 11110000000000000000000000000000 + -134217728 11111000000000000000000000000000 + -67108864 11111100000000000000000000000000 + -33554432 11111110000000000000000000000000 + -16777216 11111111000000000000000000000000 + -8388608 11111111100000000000000000000000 + -4194304 11111111110000000000000000000000 + -2097152 11111111111000000000000000000000 + -1048576 11111111111100000000000000000000 + -524288 11111111111110000000000000000000 + -262144 11111111111111000000000000000000 + -131072 11111111111111100000000000000000 + -65536 11111111111111110000000000000000 + -32768 11111111111111111000000000000000 + -16384 11111111111111111100000000000000 + -8192 11111111111111111110000000000000 + -4096 11111111111111111111000000000000 + -2048 11111111111111111111100000000000 + -1024 11111111111111111111110000000000 + -512 11111111111111111111111000000000 + -256 11111111111111111111111100000000 + -128 11111111111111111111111110000000 + -64 11111111111111111111111111000000 + -32 11111111111111111111111111100000 + -16 11111111111111111111111111110000 + -8 11111111111111111111111111111000 + -4 11111111111111111111111111111100 + -2 11111111111111111111111111111110 + -1 11111111111111111111111111111111 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__maskr__(3)](MASKR) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/MASKR.md b/source/learn/intrinsics/_pages/MASKR.md new file mode 100644 index 000000000..ffb57d5ea --- /dev/null +++ b/source/learn/intrinsics/_pages/MASKR.md @@ -0,0 +1,103 @@ +## maskr +### __Name__ + +__maskr__(3) - \[BIT:SET\] Generates a right-justified mask + +### __Syntax__ +```fortran +result = maskr(i, kind) + + integer elemental function maskr(i,kind) + integer,intent(in),optional :: kind +``` +### __Description__ + +__maskr(i\[, kind\])__ has its rightmost __i__ bits set to 1, and the +remaining bits set to 0. + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + Its value must be non-negative, and less than or equal to the + number of bits for the kind of the result. + + - __kind__ + : Shall be a scalar constant expression of type _integer_. + +### __Returns__ + +The return value is of type _integer_. If __kind__ is present, it +specifies the kind value of the return type; otherwise, it is of the +default integer kind. + +It has its rightmost __i__ bits set to 1, and the remaining bits set to 0. + +### __Example__ + +Sample program: +```fortrqn +program demo_maskr +implicit none +integer :: i + i=maskr(1) + write(*,'(i0,1x,b0,1x,b0/)') i,i, shiftl(7,bit_size(0)-1) + i=maskr(5) + write(*,'(i0,1x,b0,1x,b0/)') i,i, shiftl(7,bit_size(0)-5) + i=maskr(11) + write(*,'(i0,1x,b0,1x,b0/)') i,i, shiftl(7,bit_size(0)-11) + ! elemental + write(*,'(*(i11,1x,b0,1x,/))') maskr([(i,i,i=0,bit_size(0))]) +end program demo_maskr +``` +Results: +```text +1 1 10000000000000000000000000000000 + +31 11111 111000000000000000000000000000 + +2047 11111111111 111000000000000000000000 + + 0 0 + 1 1 + 3 11 + 7 111 + 15 1111 + 31 11111 + 63 111111 + 127 1111111 + 255 11111111 + 511 111111111 + 1023 1111111111 + 2047 11111111111 + 4095 111111111111 + 8191 1111111111111 + 16383 11111111111111 + 32767 111111111111111 + 65535 1111111111111111 + 131071 11111111111111111 + 262143 111111111111111111 + 524287 1111111111111111111 + 1048575 11111111111111111111 + 2097151 111111111111111111111 + 4194303 1111111111111111111111 + 8388607 11111111111111111111111 + 16777215 111111111111111111111111 + 33554431 1111111111111111111111111 + 67108863 11111111111111111111111111 + 134217727 111111111111111111111111111 + 268435455 1111111111111111111111111111 + 536870911 11111111111111111111111111111 + 1073741823 111111111111111111111111111111 + 2147483647 1111111111111111111111111111111 + -1 11111111111111111111111111111111 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__maskl__(3)](MASKL) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/MATMUL.md b/source/learn/intrinsics/_pages/MATMUL.md new file mode 100644 index 000000000..5fe6c09f7 --- /dev/null +++ b/source/learn/intrinsics/_pages/MATMUL.md @@ -0,0 +1,37 @@ +## matmul +### __Name__ + +__matmul__(3) - \[TRANSFORMATIONAL\] matrix multiplication + + +### __Syntax__ +```fortran +result = matmul(matrix_a, matrix_b) +``` +### __Description__ + +Performs a matrix multiplication on numeric or logical arguments. + +### __Arguments__ + + - __matrix\_a__ + : An array of _integer_, _real_, _complex_, or _logical_ type, with a rank of + one or two. + + - __matrix\_b__ + : An array of _integer_, _real_, or _complex_ type if __matrix\_a__ is of a + numeric type; otherwise, an array of _logical_ type. The rank shall be + one or two, and the first (or only) dimension of __matrix\_b__ shall be + equal to the last (or only) dimension of __matrix\_a__. + +### __Returns__ + +The matrix product of __matrix\_a__ and __matrix\_b__. The type and kind of the +result follow the usual type and kind promotion rules, as for the \* or +.and. operators. + +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MAX.md b/source/learn/intrinsics/_pages/MAX.md new file mode 100644 index 000000000..c65f6dd9b --- /dev/null +++ b/source/learn/intrinsics/_pages/MAX.md @@ -0,0 +1,118 @@ +## max +### __Name__ + +__max__(3) - \[NUMERIC\] Maximum value of an argument list + +### __Syntax__ +```fortran +result = max(a1, a2, a3, ...) +``` +### __Description__ + +Returns the argument with the largest (most positive) value. + +### __Arguments__ + + - __a1__ + : The type shall be _integer_ or _real_. + + - __a2,a3,...__ + : An expression of the same type and kind as __a1__. + +### __Returns__ + +The return value corresponds to the maximum value among the arguments, +and has the same type and kind as the first argument. + +The function is both elemental and allows for an arbitrary number of +arguments. This means if some elements are scalar and some are arrays +that all the arrays must be of the same size, and the returned value +will be an array that is the result as if multiple calls were made with +all scalar values with a single element of each array used in each call. +If called with all arrays the returned array is the same as if multiple +calls were made with __max(arr1(1),arr2(1), ...)__ to +__max(arr1(N),arr2(N))__. + +### __Examples__ + +Sample program + +```fortran +program demo_max +implicit none +real :: arr1(4)= [10.0,11.0,30.0,-100.0] +real :: arr2(5)= [20.0,21.0,32.0,-200.0,2200.0] + + !! this is simple enough because it is not being called elementally + !! because all arguments are scalar + !! + + write(*,*)'scalars:',max(10.0,11.0,30.0,-100.0) + + !! + !! this is all max(3) could do before it became an elemental + !! function and is the most intuitive + !! except that it can take an arbitrary number of options, + !! which is not common in Fortran without + !! declaring a lot of optional parameters. + !! + !! That is it unless you want to use the elemental features of max(3)! + + !! Error: Intrinsic max at (1) must have at least two arguments + !!write(*,*)max(arr1) + !! This does not work because it is like trying to return + !! [(max(arr1(i)),i=1,size(arr1))] + !! so it is trying to take the max of a single value. + !! To find the largest element of an array + !! call maxloc(3) or maxval(3). + + !! Error: Different shape for arguments 'a1' and 'a2' for intrinsic + !! 'max' at (1) on dimension 1 (4 and 5) + !!write(*,*)max(arr1,arr2) + !! but this will return an array of + !! [(max(arr1(N),arr2(N),N=1,size(arr1))] + + write(*,*)max(arr1,arr2(1:4)) + + !! so this works only if all the arrays are the same size and + !! you want an array of the largest Nth elements + !! from the input arrays. + !! maybe you wanted to do maxval([arr1,arr2]) or + !! equivalently max(maxval(arr1),maxval(arr2)) + !! to find the single largest element in both arrays? + + !! compares all scalars to each member of array and + !! returns array of size arr2 + + write(*,*)'scalars and array:',max(10.0,11.0,30.0,-100.0,arr2) + + !! Error: Different shape for arguments 'a5' and 'a6' + !! for intrinsic 'max' at (1) on dimension 1 (5 and 4) + !! write(*,*)'scalars and array:',max(10.0,11.0,30.0,-100.0,arr2,arr1) + !! as the same reason above when arrays are used + !! (without scalar values) all the arrays must be the same size + + write(*,*)'scalars and array:',& + & max(40.0,11.0,30.0,-100.0,arr2(:4),arr1) +end program demo_max +``` +Results: + +```text + scalars: 30.000000 + 20.0000000 21.000000 32.000000 -100.00000 + scalars and array: 30.000000 30.000000 32.000000 30.000000 2200.0000 + scalars and array: 40.000000 40.000000 40.000000 40.000000 +``` + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__maxloc__(3)](MAXLOC), +[__maxval__(3)](MAXVAL), +[__min__(3)](MIN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MAXEXPONENT.md b/source/learn/intrinsics/_pages/MAXEXPONENT.md new file mode 100644 index 000000000..4b8a37ed0 --- /dev/null +++ b/source/learn/intrinsics/_pages/MAXEXPONENT.md @@ -0,0 +1,68 @@ +## maxexponent +### __Name__ + +__maxexponent__(3) - \[NUMERIC MODEL\] Maximum exponent of a real kind + + +### __Syntax__ +```fortran +result = maxexponent(x) +``` +### __Description__ + +__maxexponent(x)__ returns the maximum exponent in the model of the type +of __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + +### __Returns__ + +The return value is of type _integer_ and of the default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_maxexponent +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=sp) :: x +real(kind=dp) :: y + + print *, minexponent(x), maxexponent(x) + print *, minexponent(y), maxexponent(y) +end program demo_maxexponent +``` + Results: +```text + -125 128 + -1021 1024 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MAXLOC.md b/source/learn/intrinsics/_pages/MAXLOC.md new file mode 100644 index 000000000..7242d2d41 --- /dev/null +++ b/source/learn/intrinsics/_pages/MAXLOC.md @@ -0,0 +1,102 @@ +## maxloc +### __Name__ + +__maxloc__(3) - \[ARRAY:LOCATION\] Location of the maximum value within an array + + +### __Syntax__ +```fortran +result = maxloc(array, dim, mask) result = maxloc(array, mask) +``` +### __Description__ + +Determines the location of the element in the array with the maximum +value, or, if the __dim__ argument is supplied, determines the locations of +the maximum element along each row of the array in the __dim__ direction. If +__mask__ is present, only the elements for which __mask__ is __.true.__ are +considered. If more than one element in the array has the maximum value, +the location returned is that of the first such element in array element +order. If the array has zero size, or all of the elements of __mask__ are +.false., then the result is an array of zeroes. Similarly, if __dim__ is +supplied and all of the elements of __mask__ along a given row are zero, the +result value for that row is zero. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_, _real_, or _character_. + + - __dim__ + : (Optional) Shall be a scalar of type _integer_, with a value between + one and the rank of __array__, inclusive. It may not be an optional + dummy argument. + + - __mask__ + : Shall be an array of type _logical_, and conformable with __array__. + +### __Returns__ + +If __dim__ is absent, the result is a rank-one array with a length equal to +the rank of __array__. If __dim__ is present, the result is an array with a rank +one less than the rank of __array__, and a size corresponding to the size of +__array__ with the __dim__ dimension removed. If __dim__ is present and __array__ has a +rank of one, the result is a scalar. In all cases, the result is of +default _integer_ type. + +The value returned is reference to the offset from the beginning of the +array, not necessarily the subscript value if the array subscripts do +not start with one. + +### __Examples__ + +sample program + +```fortran +program demo_maxloc +implicit none +integer :: ii +integer,save :: i(-3:3)=[(abs(abs(ii)-50),ii=-3,3)] +integer,save :: ints(3,5)= reshape([& + 1, 2, 3, 4, 5, & + 10, 20, 30, 40, 50, & + 11, 22, 33, 44, 55 & +],shape(ints),order=[2,1]) + + write(*,*) maxloc(ints) + write(*,*) maxloc(ints,dim=1) + write(*,*) maxloc(ints,dim=2) + ! when array bounds do not start with one remember MAXLOC(3) returns the + ! offset relative to the lower bound-1 of the location of the maximum + ! value, not the subscript of the maximum value. When the lower bound of + ! the array is one, these values are the same. In other words, MAXLOC(3) + ! returns the subscript of the value assuming the first subscript of the + ! array is one no matter what the lower bound of the subscript actually + ! is. + write(*,'(g0,1x,g0)') (ii,i(ii),ii=lbound(i,dim=1),ubound(i,dim=1)) + write(*,*)maxloc(i) + +end program demo_maxloc +``` +Results: +```text + 3 5 + 3 3 3 3 3 + 5 5 5 + -3 47 + -2 48 + -1 49 + 0 50 + 1 49 + 2 48 + 3 47 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__max__(3)](MAX), +[__maxval__(3)](MAXVAL) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MAXVAL.md b/source/learn/intrinsics/_pages/MAXVAL.md new file mode 100644 index 000000000..2eb149476 --- /dev/null +++ b/source/learn/intrinsics/_pages/MAXVAL.md @@ -0,0 +1,86 @@ +## maxval +### __Name__ + +__maxval__(3) - \[ARRAY REDUCTION\] determines the maximum value in an array or row + + +### __Syntax__ +```fortran +result = maxval(array, dim, mask) +``` + or +```fortran +result = maxval(array, mask) +``` +### __Description__ + +Determines the maximum value of the elements in an array value, or, if +the __dim__ argument is supplied, determines the maximum value along each +row of the array in the __dim__ direction. If __mask__ is present, only the +elements for which __mask__ is __.true.__ are considered. If the array has zero +size, or all of the elements of __mask__ are .false., then the result is the +most negative number of the type and kind of __array__ if __array__ is numeric, +or a string of nulls if __array__ is of character type. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_, _real_, or _character_. + + - __dim__ + : (Optional) Shall be a scalar of type _integer_, with a value between + one and the rank of __array__, inclusive. It may not be an optional + dummy argument. + + - __mask__ + : (Optional) Shall be an array of type _logical_, and conformable with + __array__. + +### __Returns__ + +If __dim__ is absent, or if __array__ has a rank of one, the result is a scalar. +If __dim__ is present, the result is an array with a rank one less than the +rank of __array__, and a size corresponding to the size of __array__ with the +__dim__ dimension removed. In all cases, the result is of the same type and +kind as __array__. + +### __Examples__ + +sample program: + +```fortran +program demo_maxval +implicit none +integer,save :: ints(3,5)= reshape([& + 1, 2, 3, 4, 5, & + 10, 20, 30, 40, 50, & + 11, 22, 33, 44, 55 & +],shape(ints),order=[2,1]) + + write(*,*) maxval(ints) + write(*,*) maxval(ints,dim=1) + write(*,*) maxval(ints,dim=2) + ! find biggest number less than 30 with mask + write(*,*) maxval(ints,mask=ints.lt.30) +end program demo_maxval +``` + +Results: + +``` + 55 + 11 22 33 44 55 + 5 50 55 + 22 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__max__(3)](MAX), +[__maxloc__(3)](MAXLOC) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MERGE.md b/source/learn/intrinsics/_pages/MERGE.md new file mode 100644 index 000000000..0bb2dcfcb --- /dev/null +++ b/source/learn/intrinsics/_pages/MERGE.md @@ -0,0 +1,156 @@ +## merge +### __Name__ + +__merge__(3) - \[ARRAY CONSTRUCTION\] Merge variables + +### __Syntax__ +```fortran +result = merge(tsource, fsource, mask) +``` +### __Description__ + +The elemental function __merge__(3) selects values from two arrays or +scalars according to a logical mask. The result is equal to an element +of __tsource__ where the corresponding element of __mask__ is __.true.__, or an +element of __fsource__ when it is .false. . + +Multi-dimensional arrays are supported. + +Note that argument expressions to __merge__(3) are not required to be +short-circuited so (as an example) if the array __x__ contains zero values +in the statement below the standard does not prevent floating point +divide by zero being generated; as __1.0/x__ may be evaluated for all values +of __x__ before the mask is used to select which value to retain: + +```fortran + y = merge( 1.0/x, 0.0, x /= 0.0 ) +``` + +Note the compiler is also free to short-circuit or to generate an +infinity so this may work in many programming environments but is not +recommended. + +For cases like this one may instead use masked assignment via the __where__ +construct: + +```fortran + where(x .ne. 0.0) + y = 1.0/x + elsewhere + y = 0.0 + endwhere +``` + +instead of the more obscure + +```fortran + merge(1.0/merge(x,1.0,x /= 0.0), 0.0, x /= 0.0) +``` + +### __Arguments__ + + - __tsource__ + : May be of any type, including user-defined. + + - __fsource__ + : Shall be of the same type and type parameters as __tsource__. + + - __mask__ + : Shall be of type _logical_. + +Note that (currently) _character_ values must be of the same length. + +### __Returns__ + +The result is of the same type and type parameters as __tsource__. For any +element the result is __tsource__ if __mask__ is true and __fsource__ otherwise. + +### __Examples__ + +The value of + +```fortran + merge (1.0, 0.0, k > 0) +``` + +is 1.0 for K=5 and 0.0 for K=__-2__. + +```fortran +program demo_merge +implicit none +integer :: tvals(2,3), fvals(2,3), answer(2,3) +logical :: mask(2,3) +integer :: i +logical :: chooseleft + + tvals(1,:)=[ 10, -60, 50 ] + tvals(2,:)=[ -20, 40, -60 ] + + fvals(1,:)=[ 0, 3, 2 ] + fvals(2,:)=[ 7, 4, 8 ] + + mask(1,:)=[ .true., .false., .true. ] + mask(2,:)=[ .false., .false., .true. ] + + write(*,*)'mask of logicals' + answer=merge( tvals, fvals, mask ) + call printme() + + write(*, *)'highest values' + answer=merge( tvals, fvals, tvals > fvals ) + call printme() + + write(*, *)'lowest values' + answer=merge( tvals, fvals, tvals < fvals ) + call printme() + + write(*, *)'zero out negative values' + answer=merge( tvals, 0, tvals < 0) + call printme() + + write(*, *)'binary choice' + chooseleft=.false. + write(*, '(3i4)')merge([1,2,3],[10,20,30],chooseleft) + chooseleft=.true. + write(*, '(3i4)')merge([1,2,3],[10,20,30],chooseleft) + +contains + +subroutine printme() + write(*, '(3i4)')(answer(i, :), i=1, size(answer, dim=1)) +end subroutine printme + +end program demo_merge +``` +Expected Results: +``` + mask of logicals + 10 3 50 + 7 4 -60 + highest values + 10 3 50 + 7 40 8 + lowest values + 0 -60 2 + -20 4 -60 + zero out negative values + 0 -60 0 + -20 0 -60 + binary choice + 10 20 30 + 1 2 3 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__pack__(3)](PACK), +[__unpack__(3)](UNPACK), +[__pack__(3)](PACK), +[__spread__(3)](SPREAD), +[__unpack__(3)](UNPACK) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/MERGE_BITS.md b/source/learn/intrinsics/_pages/MERGE_BITS.md new file mode 100644 index 000000000..754e79abc --- /dev/null +++ b/source/learn/intrinsics/_pages/MERGE_BITS.md @@ -0,0 +1,116 @@ +## merge\_bits +### __Name__ + +__merge\_bits__(3) - \[BIT:COPY\] Merge bits using a mask + +### __Syntax__ +```fortran +result = merge_bits(i, j, mask) + + elemental function merge_bits(i,j,mask) result(r) + integer(kind=KIND) ,intent(in) :: i, j, mask + integer(kind=KIND) :: r +``` +where the result and all input values have the same _integer_ type and +KIND with the exception that the mask and either __i__ or __j__ may be +a BOZ constant. + +### __Description__ + +A common graphics operation in Ternary Raster Operations is to combine +bits from two different sources, generally referred to as bit-blending. +__merge\_bits__ performs a masked bit-blend of __i__ and __j__ using +the bits of the __mask__ value to determine which of the input values +to copy bits from. + +Specifically, The k-th bit of the result is equal to the k-th bit of +__i__ if the k-th bit of __mask__ is __1__; it is equal to the k-th bit +of __j__ otherwise (so all three input values must have the same number +of bits). + +The resulting value is the same as would result from + + __ior (iand (i, mask),iand (j, not (mask)))__ + +An exception to all values being of the same _integer_ type is that __i__ +or __j__ and/or the mask may be a BOZ constant (A BOZ constant means it is +either a Binary, Octal, or Hexadecimal literal constant). The BOZ values +are converted to the _integer_ type of the non-BOZ value(s) as if called +by the intrinsic function __int()__ with the kind of the non-BOZ value(s), +so the BOZ values must be in the range of the type of the result. + +### __Arguments__ + + - __i__ + : value to select bits from when the associated bit in the mask is __1__. + + - __j__ + : value to select bits from when the associated bit in the mask is __0__. + + - __mask__ + : a value whose bits are used as a mask to select bits from __i__ and __j__ + +### __Returns__ + +The bits blended from __i__ and __j__ using the mask __mask__. It is the +same type as __i__ if __i__ is of type _integer_, otherwise the same type +as __j__. + +### __Example__ +```fortran +program demo_merge_bits +use,intrinsic :: iso_fortran_env, only : int8, int16, int32, int64 +implicit none +integer(kind=int16) :: if_one,if_zero,msk +character(len=*),parameter :: fmt='(*(g0, 1X))' + + ! basic usage + print *,'MERGE_BITS( 5,10,41) should be 3.=>',merge_bits(5,10,41) + print *,'MERGE_BITS(13,18,22) should be 4.=>',merge_bits(13,18,22) + + ! use some values in base2 illustratively: + if_one =int(b'1010101010101010',kind=int16) + if_zero=int(b'0101010101010101',kind=int16) + + msk=int(b'0101010101010101',kind=int16) + print '("should get all zero bits =>",b16.16)', & + & merge_bits(if_one,if_zero,msk) + + msk=int(b'1010101010101010',kind=int16) + print '("should get all ones bits =>",b16.16)', & + & merge_bits(if_one,if_zero,msk) + + ! using BOZ values + print fmt, & + & merge_bits(32767_int16, o'12345', 32767_int16), & + & merge_bits(o'12345' , 32767_int16, b'0000000000010101'), & + & merge_bits(32767_int16, o'12345', z'1234') + + ! a do-it-yourself equivalent for comparison and validation + print fmt, & + & ior(iand(32767_int16, 32767_int16), & + & iand(o'12345', not(32767_int16))), & + + & ior(iand(o'12345', int(o'12345', kind=int16)), & + & iand(32767_int16, not(int(o'12345', kind=int16)))), & + + & ior(iand(32767_int16, z'1234'), & + & iand(o'12345', not(int( z'1234', kind=int16)))) + +end program demo_merge_bits +``` + Results: +```text + MERGE_BITS( 5,10,41) should be 3.=> 3 + MERGE_BITS(13,18,22) should be 4.=> 4 + should get all zero bits =>0000000000000000 + should get all ones bits =>1111111111111111 + 32767 32751 5877 + 32767 32767 5877 +``` + +### __Standard__ + +Fortran 2008 and later + +####### fortran-lang intrinsic descriptions (license MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/MIN.md b/source/learn/intrinsics/_pages/MIN.md new file mode 100644 index 000000000..65558e2ac --- /dev/null +++ b/source/learn/intrinsics/_pages/MIN.md @@ -0,0 +1,55 @@ +## min +### __Name__ + +__min__(3) - \[NUMERIC\] Minimum value of an argument list + + +### __Syntax__ +```fortran +result = min(a1, a2, a3, ... ) +``` +### __Description__ + +Returns the argument with the smallest (most negative) value. + +### __Arguments__ + + - __a1__ + : The type shall be _integer_ or _real_. + + - __a2, a3, \`\`\`__ + : An expression of the same type and kind as __A1__. + +### __Returns__ + +The return value corresponds to the minimum value among the arguments, +and has the same type and kind as the first argument. + +### __Examples__ + +Sample program + +```fortran +program demo_min +implicit none + write(*,*)min(10.0,11.0,30.0,-100.0) +end program demo_min +``` + +Results: + +``` + -100.0000000 +``` + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__max__(3)](MAX), +[__minloc__(3)](MINLOC), +[__minval__(3)](MINVAL) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MINEXPONENT.md b/source/learn/intrinsics/_pages/MINEXPONENT.md new file mode 100644 index 000000000..cc5f1bb69 --- /dev/null +++ b/source/learn/intrinsics/_pages/MINEXPONENT.md @@ -0,0 +1,67 @@ +## minexponent +### __Name__ + +__minexponent__(3) - \[NUMERIC MODEL\] Minimum exponent of a real kind + + +### __Syntax__ +```fortran +result = minexponent(x) +``` +### __Description__ + +__minexponent(x)__ returns the minimum exponent in the model of the type +of __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + +### __Returns__ + +The return value is of type _integer_ and of the default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_minexponent +use, intrinsic :: iso_fortran_env, only : & + &real_kinds, real32, real64, real128 +implicit none +real(kind=real32) :: x +real(kind=real64) :: y + print *, minexponent(x), maxexponent(x) + print *, minexponent(y), maxexponent(y) +end program demo_minexponent +``` +Expected Results: +``` + -125 128 + -1021 1024 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MINLOC.md b/source/learn/intrinsics/_pages/MINLOC.md new file mode 100644 index 000000000..66a641578 --- /dev/null +++ b/source/learn/intrinsics/_pages/MINLOC.md @@ -0,0 +1,89 @@ +## minloc +### __Name__ + +__minloc__(3) - \[ARRAY:LOCATION\] Location of the minimum value within an array + + +### __Syntax__ +```fortran + result = minloc(array, dim, mask) +``` + or +```fortran + result = minloc(array, mask) +``` +### __Description__ + +Determines the location of the element in the array with the minimum +value, or, if the __dim__ argument is supplied, determines the locations of +the minimum element along each row of the array in the __dim__ direction. If +__mask__ is present, only the elements for which __mask__ is __.true.__ are +considered. If more than one element in the array has the minimum value, +the location returned is that of the first such element in array element +order. If the array has zero size, or all of the elements of __mask__ are +.false., then the result is an array of zeroes. Similarly, if __dim__ is +supplied and all of the elements of __mask__ along a given row are zero, the +result value for that row is zero. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_, _real_, or _character_. + + - __dim__ + : (Optional) Shall be a scalar of type _integer_, with a value between + one and the rank of __array__, inclusive. It may not be an optional + dummy argument. + + - __mask__ + : Shall be an array of type _logical_, and conformable with __array__. + +### __Returns__ + +If __dim__ is absent, the result is a rank-one array with a length equal to +the rank of __array__. If __dim__ is present, the result is an array with a rank +one less than the rank of __array__, and a size corresponding to the size of +__array__ with the __dim__ dimension removed. If __dim__ is present and __array__ has a +rank of one, the result is a scalar. In all cases, the result is of +default _integer_ type. + +### __Examples__ + +sample program: + +```fortran +program demo_minloc +implicit none +integer,save :: ints(3,5)= reshape([& + 4, 10, 1, 7, 13, & + 9, 15, 6, 12, 3, & + 14, 5, 11, 2, 8 & +],shape(ints),order=[2,1]) + write(*,*) minloc(ints) + write(*,*) minloc(ints,dim=1) + write(*,*) minloc(ints,dim=2) + ! where in each column is the smallest number .gt. 10 ? + write(*,*) minloc(ints,dim=2,mask=ints.gt.10) + ! a one-dimensional array with dim=1 explicitly listed returns a scalar + write(*,*) minloc(pack(ints,.true.),dim=1) ! scalar +end program demo_minloc +``` +Results: + +```text + 1 3 + 1 3 1 3 2 + 3 5 4 + 5 4 3 + 7 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__min__(3)](MIN), +[__minval__(3)](MINVAL) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MINVAL.md b/source/learn/intrinsics/_pages/MINVAL.md new file mode 100644 index 000000000..7d3209e9a --- /dev/null +++ b/source/learn/intrinsics/_pages/MINVAL.md @@ -0,0 +1,146 @@ +## minval +### __Name__ + +__minval__(3) - \[ARRAY REDUCTION\] Minimum value of an array + +### __Syntax__ +```fortran +result = minval(array, dim, mask) result = minval(array, mask) +``` +### __Description__ + +Determines the minimum value of the elements in an array value, or, if +the __dim__ argument is supplied, determines the minimum value along each +row of the array in the __dim__ direction. + +If __mask__ is present, only the +elements for which __mask__ is __.true.__ are considered. + +If the array has zero size, or all of the elements of __mask__ are +.false., then the result is __huge(array)__ if __array__ is numeric, or a +string of __char(len=255)__ characters if __array__ is of character type. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_, _real_, or _character_. + + - __dim__ + : (Optional) Shall be a scalar of type _integer_, with a value between + one and the rank of ARRAY, inclusive. It may not be an optional + dummy argument. + + - __mask__ + : Shall be an array of type _logical_, and conformable with __array__. + +### __Returns__ + +If __dim__ is absent, or if __array__ has a rank of one, the result is a scalar. + +If __dim__ is present, the result is an array with a rank one less than the +rank of __array__, and a size corresponding to the size of __array__ with the +__dim__ dimension removed. In all cases, the result is of the same type and +kind as __array__. + +### __Examples__ + +sample program: + +```fortran +program demo_minval +implicit none +integer :: i +character(len=*),parameter :: g='(3x,*(g0,1x))' + +integer,save :: ints(3,5)= reshape([& + 1, -2, 3, 4, 5, & + 10, 20, -30, 40, 50, & + 11, 22, 33, -44, 55 & +],shape(ints),order=[2,1]) + +integer,save :: box(3,5,2) + + box(:,:,1)=ints + box(:,:,2)=-ints + + write(*,*)'Given the array' + write(*,'(1x,*(g4.4,1x))') & + & (ints(i,:),new_line('a'),i=1,size(ints,dim=1)) + + write(*,*)'What is the smallest element in the array?' + write(*,g) minval(ints),'at <',minloc(ints),'>' + + write(*,*)'What is the smallest element in each column?' + write(*,g) minval(ints,dim=1) + + write(*,*)'What is the smallest element in each row?' + write(*,g) minval(ints,dim=2) + + ! notice the shape of the output has less columns + ! than the input in this case + write(*,*)'What is the smallest element in each column,' + write(*,*)'considering only those elements that are' + write(*,*)'greater than zero?' + write(*,g) minval(ints, dim=1, mask = ints > 0) + + write(*,*)& + & 'if everything is false a zero-sized array is NOT returned' + write(*,*) minval(ints, dim=1, mask = .false.) + write(*,*)'even for a zero-sized input' + write(*,g) minval([integer ::], dim=1, mask = .false.) + + write(*,*)'a scalar answer for everything false is huge()' + write(*,g) minval(ints, mask = .false.) + write(*,g) minval([integer ::], mask = .false.) + + write(*,*)'some calls with three dimensions' + write(*,g) minval(box, mask = .true. ) + write(*,g) minval(box, dim=1, mask = .true. ) + + write(*,g) minval(box, dim=2, mask = .true. ) + write(*,g) 'shape of answer is ', & + & shape(minval(box, dim=2, mask = .true. )) + +end program demo_minval +``` +Results: +```text + Given the array + 1 -2 3 4 5 + 10 20 -30 40 50 + 11 22 33 -44 55 + + What is the smallest element in the array? + -44 at < 3 4 > + What is the smallest element in each column? + 1 -2 -30 -44 5 + What is the smallest element in each row? + -2 -30 -44 + What is the smallest element in each column, + considering only those elements that are + greater than zero? + 1 20 3 4 5 + if everything is false a zero-sized array is NOT returned + 2147483647 2147483647 2147483647 2147483647 2147483647 + even for a zero-sized input + 2147483647 + a scalar answer for everything false is huge() + 2147483647 + 2147483647 + some calls with three dimensions + -55 + 1 -2 -30 -44 5 -11 -22 -33 -40 -55 + -2 -30 -44 -5 -50 -55 + shape of answer is 3 2 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__min__(3)](MIN), +[__minloc__(3)](MINLOC) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/MOD.md b/source/learn/intrinsics/_pages/MOD.md new file mode 100644 index 000000000..b6136d056 --- /dev/null +++ b/source/learn/intrinsics/_pages/MOD.md @@ -0,0 +1,77 @@ +## mod +### __Name__ + +__mod__(3) - \[NUMERIC\] Remainder function + + +### __Syntax__ +```fortran +result = mod(a, p) +``` +### __Description__ + +__mod__(a,p) computes the remainder of the division of __a__ by __p__. + +### __Arguments__ + + - __a__ + : Shall be a scalar of type _integer_ or _real_. + + - __p__ + : Shall be a scalar of the same type and kind as __a__ and not equal to + zero. + +### __Returns__ + +The return value is the result of __a - (int(a/p) \* p)__. The type and kind +of the return value is the same as that of the arguments. The returned +value has the same sign as __a__ and a magnitude less than the magnitude of +__p__. + +### __Examples__ + +Sample program: + +```fortran +program demo_mod +implicit none + print *, mod(17,3) ! yields 2 + print *, mod(17.5,5.5) ! yields 1.0 + print *, mod(17.5d0,5.5d0) ! yields 1.0d0 + print *, mod(17.5d0,5.5d0) ! yields 1.0d0 + + print *, mod(-17,3) ! yields -2 + print *, mod(-17.5,5.5) ! yields -1.0 + print *, mod(-17.5d0,5.5d0) ! yields -1.0d0 + print *, mod(-17.5d0,5.5d0) ! yields -1.0d0 + + print *, mod(17,-3) ! yields 2 + print *, mod(17.5,-5.5) ! yields 1.0 + print *, mod(17.5d0,-5.5d0) ! yields 1.0d0 + print *, mod(17.5d0,-5.5d0) ! yields 1.0d0 +end program demo_mod +``` + Results: +```text + 2 + 1.00000000 + 1.0000000000000000 + 1.0000000000000000 + -2 + -1.00000000 + -1.0000000000000000 + -1.0000000000000000 + 2 + 1.00000000 + 1.0000000000000000 + 1.0000000000000000 +``` +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__modulo__(3)](MODULO) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MODULO.md b/source/learn/intrinsics/_pages/MODULO.md new file mode 100644 index 000000000..ecff92e8d --- /dev/null +++ b/source/learn/intrinsics/_pages/MODULO.md @@ -0,0 +1,71 @@ +## modulo +### __Name__ + +__modulo__(3) - \[NUMERIC\] Modulo function + + +### __Syntax__ +```fortran +result = modulo(a, p) +``` +### __Description__ + +__modulo(a,p)__ computes the __a__ modulo __p__. + +### __Arguments__ + + - __a__ + : Shall be a scalar of type _integer_ or _real_. + + - __p__ + : Shall be a scalar of the same type and kind as __a__. It shall not be + zero. + +### __Returns__ + +The type and kind of the result are those of the arguments. + + - If __a__ and __p__ are of type _integer_: __modulo(a,p)__ has the value of + __a - floor (real(a) / real(p)) \* p__. + + - If __a__ and __p__ are of type _real_: __modulo(a,p)__ has the value of + __a - floor (a / p) \* p__. + +The returned value has the same sign as __p__ and a magnitude less than the +magnitude of __p__. + +### __Examples__ + +Sample program: + +```fortran +program demo_modulo +implicit none + print *, modulo(17,3) ! yields 2 + print *, modulo(17.5,5.5) ! yields 1.0 + + print *, modulo(-17,3) ! yields 1 + print *, modulo(-17.5,5.5) ! yields 4.5 + + print *, modulo(17,-3) ! yields -1 + print *, modulo(17.5,-5.5) ! yields -4.5 +end program demo_modulo +``` + Results: +```text + 2 + 1.00000000 + 1 + 4.50000000 + -1 + -4.50000000 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__mod__(3)](MOD) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MOVE_ALLOC.md b/source/learn/intrinsics/_pages/MOVE_ALLOC.md new file mode 100644 index 000000000..839efd1a8 --- /dev/null +++ b/source/learn/intrinsics/_pages/MOVE_ALLOC.md @@ -0,0 +1,71 @@ +## move\_alloc +### __Name__ + +__move\_alloc__(3) - \[\] Move allocation from one object to another + + +### __Syntax__ +```fortran +call move_alloc(src, dest) +``` +### __Description__ + +__move\_alloc(src, dest)__ moves the allocation from SRC to DEST. SRC +will become deallocated in the process. + +### __Arguments__ + + - __src__ + : allocatable, __intent(inout)__, may be of any type and kind. + + - __dest__ + : allocatable, __intent(out)__, shall be of the same type, kind and + rank as SRC. + +### __Examples__ + +Basic Sample program to allocate a bigger grid + +```fortran +program demo_move_alloc +implicit none +! Example to allocate a bigger GRID +real, allocatable :: grid(:), tempgrid(:) +integer :: n, i + + ! initialize small GRID + n = 3 + allocate (grid(1:n)) + grid = [ (real (i), i=1,n) ] + + ! initialize TEMPGRID which will be used to replace GRID + allocate (tempgrid(1:2*n)) ! Allocate bigger grid + tempgrid(::2) = grid ! Distribute values to new locations + tempgrid(2::2) = grid + 0.5 ! initialize other values + + ! move TEMPGRID to GRID + call MOVE_ALLOC (from=tempgrid, to=grid) + + ! TEMPGRID should no longer be allocated + ! and GRID should be the size TEMPGRID was + if (size (grid) /= 2*n .or. allocated (tempgrid)) then + print *, "Failure in move_alloc!" + endif + print *, allocated(grid), allocated(tempgrid) + print '(99f8.3)', grid +end program demo_move_alloc +``` + Results: +```text + T F + 1.000 1.500 2.000 2.500 3.000 3.500 +``` +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__allocated__(3)](ALLOCATED) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/MVBITS.md b/source/learn/intrinsics/_pages/MVBITS.md new file mode 100644 index 000000000..93f5b5870 --- /dev/null +++ b/source/learn/intrinsics/_pages/MVBITS.md @@ -0,0 +1,145 @@ +## mvbits +### __Name__ + +__mvbits__(3) - \[BIT:COPY\] reproduce bit patterns found in one integer in another + + +### __Syntax__ +```fortran +call mvbits(from, frompos, len, to, topos) +``` +### __Description__ + +__mvbits(3f)__ copies a bit pattern found in a range of adjacent bits in +the _integer_ __from__ to a specified position in another integer __to__ +(which is of the same kind as __from__). It otherwise leaves the bits +in __to__ as-is. + +The bit positions copied must exist within the value of __from__. +That is, the values of __frompos+len-1__ and __topos+len-1__ must be +nonnegative and less than __bit\_size__(from). + +The bits are numbered __0__ to __bit_size(i)-1__, from right to left. + +### __Arguments__ + + - __from__ + : An _integer_ to read bits from. + - __frompos__ + : __frompos__ is the position of the first bit to copy. It is a + nonnegative _integer_ value < __bit_size(from)__. + - __len__ + : A nonnegative _integer_ value that indicates how many bits to + copy from __from__. It must not specify copying bits past the end + of __from__. That is, __frompos + len__ must be less than or equal + to __bit_size(from)__. + - __to__ + : The _integer_ variable to place the copied bits into. It must + be of the same kind as __from__ and may even be the same variable + as __from__. + + __to__ + : is set by copying the sequence of bits of length __len__, + starting at position __frompos__ of __from__ to position __topos__ of + __to__. No other bits of __to__ are altered. On return, the __len__ + bits of __to__ starting at __topos__ are equal to the value that + the __len__ bits of __from__ starting at __frompos__ had on entry. + + - __topos__ + : A nonnegative _integer_ value indicating the starting location in + __to__ to place the specified copy of bits from __from__. + __topos + len__ must be less than or equal to __bit_size(to)__. + +### __Example__ + Sample program that populates a new 32-bit integer with its bytes in + reverse order (ie. changes the Endian of the integer). + + program demo_mvbits + use,intrinsic :: iso_fortran_env, only : int8, int16, int32, int64 + implicit none + integer(kind=int32) :: intfrom, intto, abcd_int + character(len=*),parameter :: bits= '(g0,t30,b32.32)' + character(len=*),parameter :: fmt= '(g0,t30,a,t40,b32.32)' + + intfrom=huge(0) ! all bits are 1 accept the sign bit + intto=0 ! all bits are 0 + + !! CHANGE BIT 0 + ! show the value and bit pattern + write(*,bits)intfrom,intfrom + write(*,bits)intto,intto + + ! copy bit 0 from intfrom to intto to show the rightmost bit changes + ! (from, frompos, len, to, topos) + call mvbits(intfrom, 0, 1, intto, 0) ! change bit 0 + write(*,bits)intto,intto + + !! COPY PART OF A VALUE TO ITSELF + call mvbits(intfrom,0,1,intfrom,31) ! can copy bit from a value to itself + write(*,bits)intfrom,intfrom + + !! MOVING BYTES AT A TIME + ! make native integer value with bit patterns + ! that happen to be the same as the beginning of the alphabet + ! to make it easy to see the bytes are reversed + abcd_int=transfer('abcd',0) + ! show the value and bit pattern + write(*,*)'native' + write(*,fmt)abcd_int,abcd_int,abcd_int + + ! change endian of the value + abcd_int=int_swap32(abcd_int) + ! show the values and their bit pattern + write(*,*)'non-native' + write(*,fmt)abcd_int,abcd_int,abcd_int + + contains + + pure elemental function int_swap32(intin) result(intout) + ! Convert a 32 bit integer from big Endian to little Endian, + ! or conversely from little Endian to big Endian. + ! + integer(kind=int32), intent(in) :: intin + integer(kind=int32) :: intout + ! copy bytes from input value to new position in output value + ! (from, frompos, len, to, topos) + call mvbits(intin, 0, 8, intout, 24) ! byte1 to byte4 + call mvbits(intin, 8, 8, intout, 16) ! byte2 to byte3 + call mvbits(intin, 16, 8, intout, 8) ! byte3 to byte2 + call mvbits(intin, 24, 8, intout, 0) ! byte4 to byte1 + end function int_swap32 + + end program demo_mvbits +``` + Results: +```text + + 2147483647 01111111111111111111111111111111 + 0 00000000000000000000000000000000 + 1 00000000000000000000000000000001 + -1 11111111111111111111111111111111 + native + 1684234849 abcd 01100100011000110110001001100001 + non-native + 1633837924 dcba 01100001011000100110001101100100 +================================================================================ +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__ieor__(3)](IEOR), +[__ibclr__(3)](IBCLR), +[__not__(3)](NOT), +[__btest__(3)](BTEST), +[__ibclr__(3)](IBCLR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR) + +####### fortran-lang intrinsic descriptions (license MIT) @urbanjost + diff --git a/source/learn/intrinsics/_pages/NEAREST.md b/source/learn/intrinsics/_pages/NEAREST.md new file mode 100644 index 000000000..58716763d --- /dev/null +++ b/source/learn/intrinsics/_pages/NEAREST.md @@ -0,0 +1,83 @@ +## nearest +### __Name__ + +__nearest__(3) - \[MODEL\_COMPONENTS\] Nearest representable number + + +### __Syntax__ +```fortran +result = nearest(x, s) +``` +### __Description__ + +__nearest(x, s)__ returns the processor-representable number nearest to +__x__ in the direction indicated by the sign of __s__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + + - __s__ + : Shall be of type _real_ and not equal to zero. + +### __Returns__ + +The return value is of the same type as __x__. If __s__ is positive, __nearest__ +returns the processor-representable number greater than __x__ and nearest to +it. If __s__ is negative, __nearest__ returns the processor-representable number +smaller than __x__ and nearest to it. + +### __Examples__ + +Sample program: + +```fortran +program demo_nearest +implicit none + + real :: x, y + x = nearest(42.0, 1.0) + y = nearest(42.0, -1.0) + write (*,"(3(g20.15))") x, y, x - y + +! write (*,"(3(g20.15))") & +! nearest(tiny(0.0),1.0), & +! nearest(tiny(0.0),-1.0), & +! nearest(tiny(0.0),1.0) -nearest(tiny(0.0),-1.0) + +! write (*,"(3(g20.15))") & +! nearest(huge(0.0),1.0), & +! nearest(huge(0.0),-1.0), & +! nearest(huge(0.0),1.0)- nearest(huge(0.0),-1.0) + +end program demo_nearest +``` + Results: +```text + 42.0000038146973 41.9999961853027 .762939453125000E-05 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/NEW_LINE.md b/source/learn/intrinsics/_pages/NEW_LINE.md new file mode 100644 index 000000000..ad7b966e9 --- /dev/null +++ b/source/learn/intrinsics/_pages/NEW_LINE.md @@ -0,0 +1,75 @@ +## new\_line +### __Name__ + +__new\_line__(3) - \[CHARACTER\] new-line character + +### __Syntax__ +```fortran +result = new_line(c) + + character(len=1,kind=kind(c)) :: new_line(c) + character(len=1),intent(in) :: c(..) +``` +### __Description__ + +__new\_line(c)__ returns the new-line character. + + Case (i) + : If __a__ is default _character_ and the character in position __10__ of the + ASCII collating sequence is representable in the default character set, + then the result is __achar(10)__. + + Case (ii) + : If __a__ is an ASCII character or an ISO 10646 character, then the + result is __char(10, kind (a))__. + + Case (iii) + : Otherwise, the result is a processor-dependent character that + represents a newline in output to files connected for formatted + stream output if there is such a character. + + Case (iv) + : Otherwise, the result is the blank character. + +### __Arguments__ + + - __C__ + : The argument shall be a scalar or array of the type _character_. + +### __Returns__ + +Returns a _character_ scalar of length one with the new-line character of +the same kind as parameter __c__. + + +### __Examples__ + +Sample program: + +```fortran +program demo_new_line +implicit none +character,parameter :: nl=new_line('a') +character(len=:),allocatable :: string + + string='This is record 1.'//nl//'This is record 2.' + write(*,'(a)') string + + write(*,'(*(a))',advance='no') & + nl,'This is record 1.',nl,'This is record 2.',nl + +end program demo_new_line +``` + Results: +```text + This is record 1. + This is record 2. + + This is record 1. + This is record 2. +``` +### __Standard__ + +Fortran 2003 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/NINT.md b/source/learn/intrinsics/_pages/NINT.md new file mode 100644 index 000000000..3f18c8bab --- /dev/null +++ b/source/learn/intrinsics/_pages/NINT.md @@ -0,0 +1,122 @@ +## nint +### __Name__ + +__nint__(3) - \[TYPE:NUMERIC\] Nearest whole number + +### __Syntax__ +```fortran + elemental function nint(x [, kind=NN]) result(ANSWER) + real(kind=??),intent(in) :: x + integer(kind=NN) :: ANSWER +``` +### __Description__ + +__nint(x)__ rounds its argument to the nearest whole number with its +sign preserved. + +The user must ensure the value is a valid value for the range of the +__kind__ returned. If the processor cannot represent the result in the kind +specified, the result is undefined. + +If __x__ is greater than zero, __nint(x)__ has the value __int(x+0.5)__. + +If __x__ is less than or equal to zero, __nint(x)__ has the value +__int(a-0.5)__. + +### __Arguments__ + + - __x__ + : The type of the argument shall be _real_. + + - __kind__ + : (Optional) A constant _integer_ expression indicating the kind + parameter of the result. Otherwise, the kind type parameter is that + of default _integer_ type. + +### __Returns__ + + - __answer__ + : The result is the integer nearest __x__, or if there are two integers + equally near __x__, the result is whichever such _integer_ has the greater + magnitude. + + The result is undefined if it cannot be represented in the specified + integer type. + +### __Examples__ + +Sample program: + +```fortran +program demo_nint +implicit none +integer,parameter :: dp=kind(0.0d0) +real :: x4 = 1.234E0 +real(kind=dp) :: x8 = 4.721_dp + +! basic use + print *, nint(x4), nint(x8),nint(-x8) + ! elemental + print *,nint([ & + & -2.7, -2.5, -2.2, -2.0, -1.5, -1.0, -0.5, & + & 0.0, & + & +0.5, +1.0, +1.5, +2.0, +2.2, +2.5, +2.7 ]) + +! issues +ISSUES: block +use,intrinsic :: iso_fortran_env, only : int8, int16, int32, int64 +integer :: icheck + ! make sure input is in range for the type returned + write(*,*)'Range limits for typical KINDS:' + write(*,'(1x,g0,1x,g0)') & + & int8,huge(0_int8), & + & int16,huge(0_int16), & + & int32,huge(0_int32), & + & int64,huge(0_int64) + + ! the standard does not require this to be an error ... + x8=12345.67e15 ! too big of a number + icheck=selected_int_kind(ceiling(log10(x8))) + write(*,*)'Any KIND big enough? ICHECK=',icheck + print *, 'These are all wrong answers for ',x8 + print *, nint(x8,kind=int8) + print *, nint(x8,kind=int16) + print *, nint(x8,kind=int32) + print *, nint(x8,kind=int64) +endblock ISSUES + +end program demo_nint +``` + Results: +```text + 1 5 -5 + -3 -3 -2 -2 -2 + -1 -1 0 1 1 + 2 2 2 3 3 + Range limits for typical KINDS: + 1 127 + 2 32767 + 4 2147483647 + 8 9223372036854775807 + Any KIND big enough? ICHECK= 16 + These are all wrong answers for 1.2345669499901444E+019 + 0 + 0 + 0 + -9223372036854775808 +``` + +### __Standard__ + +FORTRAN 77 and later, with KIND argument - Fortran 90 and later + +### __See Also__ + +[__aint__(3)](AINT), +[__anint__(3)](ANINT), +[__int__(3)](INT), +[__selected_int_kind__(3)](SELECTED_INT_KIND), +[__ceiling__(3)](CEILING), +[__floor__(3)](FLOOR) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/NORM2.md b/source/learn/intrinsics/_pages/NORM2.md new file mode 100644 index 000000000..362062302 --- /dev/null +++ b/source/learn/intrinsics/_pages/NORM2.md @@ -0,0 +1,90 @@ +## norm2 +### __Name__ + +__norm2__(3) - \[MATHEMATICS\] Euclidean vector norm + + +### __Syntax__ +```fortran +result = norm2(array, dim) + +real function result norm2(array, dim) + + real,intent(in) :: array(..) + integer,intent(in),optional :: dim +``` +### __Description__ + +Calculates the Euclidean vector norm (L\_2 norm) of __array__ along +dimension __dim__. + +### __Arguments__ + + - __array__ + : Shall be an array of type _real_. + + - __dim__ + : shall be a scalar of type _integer_ with a value in the + range from __1__ to __rank(array)__. + +### __Returns__ + +The result is of the same type as __array__. + +If __dim__ is absent, a scalar with the square root of the sum of squares of +the elements of __array__ is returned. + +Otherwise, an array of rank __n-1__, +where __n__ equals the rank of __array__, and a shape similar to that of __array__ +with dimension DIM dropped is returned. + +### __Examples__ + +Sample program: + +```fortran +program demo_norm2 +implicit none +integer :: i + +real :: x(3,3) = reshape([ & + 1, 2, 3, & + 4, 5 ,6, & + 7, 8, 9 & +],shape(x),order=[2,1]) + +write(*,*) 'x=' +write(*,'(4x,3f4.0)')transpose(x) + +write(*,*) 'norm2(x)=',norm2(x) + +write(*,*) 'x**2=' +write(*,'(4x,3f4.0)')transpose(x**2) +write(*,*)'sqrt(sum(x**2))=',sqrt(sum(x**2)) + +end program demo_norm2 +``` +Results: +```text + x= + 1. 2. 3. + 4. 5. 6. + 7. 8. 9. + norm2(x)= 16.88194 + x**2= + 1. 4. 9. + 16. 25. 36. + 49. 64. 81. + sqrt(sum(x**2))= 16.88194 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__product__(3)](PRODUCT), +[__sum__(3)](SUM), +[__hypot__(3)](HYPOT) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/NOT.md b/source/learn/intrinsics/_pages/NOT.md new file mode 100644 index 000000000..fcbf72f3e --- /dev/null +++ b/source/learn/intrinsics/_pages/NOT.md @@ -0,0 +1,59 @@ +## not +### __Name__ +__not__(3) - \[BIT:LOGICAL\] Logical negation + +### __Syntax__ +```fortran +result = not(i) +``` +### __Description__ + +NOT returns the bitwise Boolean inverse of I. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + +### __Returns__ + +The return type is _integer_, of the same kind as the argument. + +### __Examples__ + +Sample program + +```fortran +program demo_not +implicit none +integer :: i + + i=13741 + write(*,'(b32.32,1x,i0)')i,i + write(*,'(b32.32,1x,i0)')not(i),not(i) + +end program demo_not +``` + +Results: + +``` + 00000000000000000011010110101101 13741 + 11111111111111111100101001010010 -13742 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__iand__(3)](IAND), +[__ior__(3)](IOR), +[__ieor__(3)](IEOR), +[__ibits__(3)](IBITS), +[__ibset__(3)](IBSET), + +[__ibclr__(3)](IBCLR) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/NULL.md b/source/learn/intrinsics/_pages/NULL.md new file mode 100644 index 000000000..3ec255996 --- /dev/null +++ b/source/learn/intrinsics/_pages/NULL.md @@ -0,0 +1,117 @@ +## null +### __Name__ + +__null__(3) - \[TRANSFORMATIONAL\] Function that returns a disassociated pointer + + +### __Syntax__ +```fortran +ptr => null(mold) + +``` +### __Description__ + +Returns a disassociated pointer. + +If __mold__ is present, a disassociated pointer of the same type is +returned, otherwise the type is determined by context. + +In _Fortran 95_, __mold__ is optional. Please note that _Fortran 2003_ includes cases where it is required. + +### __Arguments__ + + - __mold__ + : (Optional) shall be a pointer of any association status and of any + type. + +### __Returns__ + +A disassociated pointer or an unallocated allocatable entity. + +### __Examples__ + +Sample program: + +```fortran +!program demo_null +module showit +implicit none +private +character(len=*),parameter :: g='(*(g0,1x))' +public gen +! a generic interface that only differs in the +! type of the pointer the second argument is +interface gen + module procedure s1 + module procedure s2 +end interface + +contains + +subroutine s1 (j, pi) + integer j + integer, pointer :: pi + if(associated(pi))then + write(*,g)'Two integers in S1:,',j,'and',pi + else + write(*,g)'One integer in S1:,',j + endif +end subroutine s1 + +subroutine s2 (k, pr) + integer k + real, pointer :: pr + if(associated(pr))then + write(*,g)'integer and real in S2:,',k,'and',pr + else + write(*,g)'One integer in S2:,',k + endif +end subroutine s2 + +end module showit + +use showit, only : gen + +real,target :: x = 200.0 +integer,target :: i = 100 + +real, pointer :: real_ptr +integer, pointer :: integer_ptr + +! so how do we call S1() or S2() with a disassociated pointer? + +! the answer is the null() function with a mold value + +! since s1() and s2() both have a first integer +! argument the NULL() pointer must be associated +! to a real or integer type via the mold option +! so the following can distinguish whether s1(1) +! or s2() is called, even though the pointers are +! not associated or defined + +call gen (1, null (real_ptr) ) ! invokes s2 +call gen (2, null (integer_ptr) ) ! invokes s1 +real_ptr => x +integer_ptr => i +call gen (3, real_ptr ) ! invokes s2 +call gen (4, integer_ptr ) ! invokes s1 + +end +!end program demo_null +``` + Results: +```text + One integer in S2:, 1 + One integer in S1:, 2 + integer and real in S2:, 3 and 200.000000 + Two integers in S1:, 4 and 100 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__associated__(3)](ASSOCIATED) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/NUM_IMAGES.md b/source/learn/intrinsics/_pages/NUM_IMAGES.md new file mode 100644 index 000000000..6c1199c9d --- /dev/null +++ b/source/learn/intrinsics/_pages/NUM_IMAGES.md @@ -0,0 +1,65 @@ +## num\_images +### __Name__ + +__num\_images__(3) - \[COLLECTIVE\] Number of images + + +### __Syntax__ +```fortran +result = num_images(distance, failed) +``` +### __Description__ + +Returns the number of images. + +### __Arguments__ + + - __distance__ + : (optional, __intent(in)__) Nonnegative scalar integer + + - __failed__ + : (optional, __intent(in)__) Scalar logical expression + +### __Returns__ + +Scalar default-kind _integer_. If __distance__ is not present or has value 0, +the number of images in the current team is returned. For values smaller +or equal distance to the initial team, it returns the number of images +index on the ancestor team which has a distance of __distance__ from the +invoking team. If __distance__ is larger than the distance to the initial +team, the number of images of the initial team is returned. If __failed__ is +not present the total number of images is returned; if it has the value +.true., the number of failed images is returned, otherwise, the number +of images which do have not the failed status. + +### __Examples__ + +Sample program: + +```fortran +program demo_num_images +implicit none +integer :: value[*] +integer :: i + + value = this_image() + sync all + if (this_image() == 1) then + do i = 1, num_images() + write(*,'(2(a,i0))') 'value[', i, '] is ', value[i] + end do + endif + +end program demo_num_images +``` + +### __Standard__ + +Fortran 2008 and later. With DISTANCE or FAILED argument, TS 18508 or later + +### __See Also__ + +[__this\_image__(3)](THIS_IMAGE), +[__image\_index__(3)](THIS_INDEX) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/PACK.md b/source/learn/intrinsics/_pages/PACK.md new file mode 100644 index 000000000..a71185871 --- /dev/null +++ b/source/learn/intrinsics/_pages/PACK.md @@ -0,0 +1,111 @@ +## pack +### __Name__ + +__pack__(3) - \[ARRAY CONSTRUCTION\] Pack an array into an array of rank one + +### __Syntax__ +```fortran +result = pack(array, mask,vector) + + TYPE(kind=KIND) function pack(array,mask,vector) + TYPE(kind=KIND),option(in) :: array(*) + logical :: mask(*) + TYPE(kind=KIND),option(in),optional :: vector(*) +``` + where TYPE(kind=KIND) may be any type, where __array__ and __vector__ + and the returned value must by of the same type. __mask__ may be a + scalar as well an an array. + +### __Description__ + +Stores the elements of ARRAY in an array of rank one. + +The beginning of the resulting array is made up of elements whose __mask__ +equals __.true.__. Afterwards, positions are filled with elements taken from +__vector__. + +### __Arguments__ + + - __array__ + : Shall be an array of any type. + + - __mask__ + : Shall be an array of type _logical_ and of the same size as __array__. + Alternatively, it may be a _logical_ scalar. + + - __vector__ + : (Optional) shall be an array of the same type as __array__ and of rank + one. If present, the number of elements in __vector__ shall be equal to + or greater than the number of true elements in __mask__. If __mask__ is + scalar, the number of elements in __vector__ shall be equal to or + greater than the number of elements in __array__. + +### __Returns__ + +The result is an array of rank one and the same type as that of __array__. +If __vector__ is present, the result size is that of __vector__, the number of +__.true.__ values in __mask__ otherwise. + +### __Examples__ + +Sample program: + +```fortran +program demo_pack +implicit none + call test1() + call test2() + call test3() +contains +! +subroutine test1() +! gathering nonzero elements from an array: +integer :: m(6) + + m = [ 1, 0, 0, 0, 5, 0 ] + write(*, fmt="(*(i0, ' '))") pack(m, m /= 0) ! "1 5" + +end subroutine test1 +! +subroutine test2() +! Gathering nonzero elements from an array and appending elements +! from VECTOR till the size of the mask array (or array size if the +! mask is scalar): +integer :: m(4) + + m = [ 1, 0, 0, 2 ] + write(*, fmt="(*(i0, ' '))") pack(m, m /= 0, [ 0, 0, 3, 4 ]) + +end subroutine test2 +! +subroutine test3() +! select strings whose second character is "a" +character(len=10) :: m(4) + +m = [ character(len=10) :: 'ape', 'bat', 'cat', 'dog'] + write(*, fmt="(*(g0, ' '))") pack(m, m(:)(2:2) == 'a' ) + +end subroutine test3 +! +end program demo_pack +``` + Results: +```text + 1 5 + 1 2 3 4 + bat cat +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__unpack__(3)](UNPACK), +[__merge__(3)](MERGE), +[__pack__(3)](PACK), +[__spread__(3)](SPREAD), +[__unpack__(3)](UNPACK) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/PARITY.md b/source/learn/intrinsics/_pages/PARITY.md new file mode 100644 index 000000000..923106ba0 --- /dev/null +++ b/source/learn/intrinsics/_pages/PARITY.md @@ -0,0 +1,62 @@ +## parity +### __Name__ + +__parity__(3) - \[TRANSFORMATIONAL\] Reduction with exclusive __OR__() + + +### __Syntax__ +```fortran +result = parity(mask, dim) + + function parity(mask, dim) + type(logical(kind=LKIND)) :: dim + type(logical(kind=LKIND)),intent(in) :: mask(..) + type(integer(kind=KIND)),intent(in),optional :: dim +``` +where KIND and LKIND are any supported kind for the type. +``` +### __Description__ + +Calculates the parity (i.e. the reduction using .xor.) of __mask__ along +dimension __dim__. + +### __Arguments__ + + - __mask__ + : Shall be an array of type _logical_. + + - __dim__ + : (Optional) shall be a scalar of type _integer_ with a value in the + range from __1 to n__, where __n__ equals the rank of __mask__. + +### __Returns__ + +The result is of the same type as __mask__. + +If __dim__ is absent, a scalar with the parity of all elements in __mask__ is +returned: __.true.__ if an odd number of elements are __.true.__ and __.false.__ +otherwise. + +When __dim__ is specified the returned shape is similar to that of __mask__ +with dimension __dim__ dropped. + +### __Examples__ + +Sample program: + +```fortran +program demo_parity +implicit none +logical :: x(2) = [ .true., .false. ] + print *, parity(x) +end program demo_parity +``` + Results: +```text + T +``` +### __Standard__ + +Fortran 2008 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/POPCNT.md b/source/learn/intrinsics/_pages/POPCNT.md new file mode 100644 index 000000000..861fa20c5 --- /dev/null +++ b/source/learn/intrinsics/_pages/POPCNT.md @@ -0,0 +1,61 @@ +## popcnt +### __Name__ + +__popcnt__(3) - \[BIT:COUNT\] Number of bits set + + +### __Syntax__ +```fortran +result = popcnt(i) +``` +### __Description__ + +Returns the number of bits set in the binary representation of an +_integer_. + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + +### __Returns__ + +The return value is of type _integer_ and of the default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_popcnt +use, intrinsic :: iso_fortran_env, only : integer_kinds, & + & int8, int16, int32, int64 +implicit none + print *, popcnt(127), poppar(127) + print *, popcnt(huge(0)), poppar(huge(0)) + print *, popcnt(huge(0_int8)), poppar(huge(0_int8)) + print *, popcnt(huge(0_int16)), poppar(huge(0_int16)) + print *, popcnt(huge(0_int32)), poppar(huge(0_int32)) + print *, popcnt(huge(0_int64)), poppar(huge(0_int64)) +end program demo_popcnt +``` +Results: +```text + 7 1 + 31 1 + 7 1 + 15 1 + 31 1 + 63 1 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__poppar__(3)](POPPAR), +[__leadz__(3)](LEADZ), +[__trailz__(3)](TRAILZ) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/POPPAR.md b/source/learn/intrinsics/_pages/POPPAR.md new file mode 100644 index 000000000..74c8c9c39 --- /dev/null +++ b/source/learn/intrinsics/_pages/POPPAR.md @@ -0,0 +1,62 @@ +## poppar +### __Name__ + +__poppar__(3) - \[BIT:COUNT\] Parity of the number of bits set + + +### __Syntax__ +```fortran +result = poppar(i) +``` +### __Description__ + +Returns the parity of an integer's binary representation (i.e., the +parity of the number of bits set). + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + +### __Returns__ + +The return value is equal to __0__ if __i__ has an even number of bits set and 1 if an odd +number of bits are set. + +It is of type _integer_ and of the default _integer_ kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_popcnt +use, intrinsic :: iso_fortran_env, only : integer_kinds, & + & int8, int16, int32, int64 +implicit none + print *, popcnt(127), poppar(127) + print *, popcnt(huge(0_int8)), poppar(huge(0_int8)) + print *, popcnt(huge(0_int16)), poppar(huge(0_int16)) + print *, popcnt(huge(0_int32)), poppar(huge(0_int32)) + print *, popcnt(huge(0_int64)), poppar(huge(0_int64)) +end program demo_popcnt +``` + Results: +```text + 7 1 + 7 1 + 15 1 + 31 1 + 63 1 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__popcnt__(3)](POPCNT), +[__leadz__(3)](LEADZ), +[__trailz__(3)](TRAILZ) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/PRECISION.md b/source/learn/intrinsics/_pages/PRECISION.md new file mode 100644 index 000000000..e779f1262 --- /dev/null +++ b/source/learn/intrinsics/_pages/PRECISION.md @@ -0,0 +1,68 @@ +## precision +### __Name__ + +__precision__(3) - \[NUMERIC MODEL\] Decimal precision of a real kind + + +### __Syntax__ +```fortran +result = precision(x) +``` +### __Description__ + +__precision(x)__ returns the decimal precision in the model of the type +of __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_ or _complex_. + +### __Returns__ + +The return value is of type _integer_ and of the default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_precision +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=sp) :: x(2) +complex(kind=dp) :: y + + print *, precision(x), range(x) + print *, precision(y), range(y) +end program demo_precision +``` + Results: +```text + 6 37 + 15 307 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/PRESENT.md b/source/learn/intrinsics/_pages/PRESENT.md new file mode 100644 index 000000000..5ebc0dd7f --- /dev/null +++ b/source/learn/intrinsics/_pages/PRESENT.md @@ -0,0 +1,60 @@ +## present +### __Name__ + +__present__(3) - [STATE\] Determine whether an optional dummy argument + is specified + +### __Syntax__ +```fortran +result = present(a) + + function present (a) + logical :: present +``` +### __Description__ + +Determines whether an optional dummy argument is present. + +### __Arguments__ + + - __a__ + : May be of any type and may be a pointer, scalar or array value, + or a dummy procedure. It shall be the name of an optional dummy + argument accessible within the current subroutine or function. + +### __Returns__ + +Returns either __.true.__ if the optional argument __a__ is present, +or __.false.__ otherwise. + +### __Examples__ + +Sample program: + +```fortran +program demo_present +implicit none + write(*,*) func(), func(42) +contains + +integer function func(x) +integer, intent(in), optional :: x + if(present(x))then + func=x**2 + else + func=0 + endif +end function + +end program demo_present +``` + Results: +```text + 0 1764 +``` + +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/PRODUCT.md b/source/learn/intrinsics/_pages/PRODUCT.md new file mode 100644 index 000000000..16ee128f5 --- /dev/null +++ b/source/learn/intrinsics/_pages/PRODUCT.md @@ -0,0 +1,229 @@ +## product +### __Name__ + +__product__(3) - \[ARRAY REDUCTION\] Product of array elements + +### __Syntax__ +```fortran + result = product(array, dim, mask) + + NUMERIC,intent(in) :: array(..) + integer,intent(in),optional :: dim + logical,intent(in),optional :: mask(..) +``` +where __NUMERIC__ is any numeric type + +### __Description__ + +Multiplies together all the selected elements of __array__, or along +dimension __dim__ if the corresponding element in __mask__ is __.true.__. + +If __dim__ is absent, a scalar with the product of all elements in __array__ is +returned. (Note a zero-sized __array__ returns __1__). + +When __dim__ is present, If the masked array has a dimension of one +(ie. is a vector) the result is a scalar. Otherwise, an array of rank +__n-1__, where __n__ equals the rank of __array__, and a shape similar +to that of __array__ with dimension __dim__ dropped is returned. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_, _real_ or _complex_. + + - __dim__ + : shall be a scalar of type _integer_ with a value in the + range from __1 to n__, where __n__ equals the rank of __array__. + + - __mask__ + : shall be of type _logical_ and either be a scalar or an + array of the same shape as __array__. + +### __Returns__ + +The result is of the same type as __array__. + + +### __Examples__ + +Sample program: + +```fortran +program demo_product +implicit none +character(len=*),parameter :: all='(*(g0,1x))' ! a handy format +character(len=1),parameter :: nl=new_line('a') + +NO_DIM: block +! If DIM is not specified, the result is the product of all the +! selected array elements. +integer :: i,n, p1, p2 +integer,allocatable :: array(:) + ! all elements are selected by default + do n=1,10 + print all, 'factorial of ',n,' is ', product([(real(i),i=1,n)]) + enddo + + ! using a mask + array=[10,12,13,15,20,25,30] + p1=product(array, mask=mod(array, 2)==1) ! only odd elements + p2=product(array, mask=mod(array, 2)/=1) ! only even elements + print all, nl,'product of all elements',product(array) ! all elements + print all, ' odd * even =',nl,p1,'*',p2,'=',p1*p2 + + ! NOTE: If ARRAY is a zero-sized array, the result is equal to one + print all + print all, 'zero-sized array=>',product([integer :: ]) + ! NOTE: If nothing in the mask is true, this also results in a null + ! array + print all, 'all elements have a false mask=>',product(array,mask=.false.) + +endblock NO_DIM + +WITH_DIM: block +integer :: rect(2,3) +integer :: box(2,3,4) + +! lets fill a few arrays + rect = reshape([ & + 1, 2, 3, & + 4, 5, 6 & + ],shape(rect),order=[2,1]) + call print_matrix_int('rect',rect) + +! Find the product of each column in RECT. + print all, 'product of columns=',product(rect, dim = 1) + +! Find the product of each row in RECT. + print all, 'product of rows=',product(rect, dim = 2) + +! now lets try a box + box(:,:,1)=rect + box(:,:,2)=rect*(+10) + box(:,:,3)=rect*(-10) + box(:,:,4)=rect*2 + ! lets look at the values + call print_matrix_int('box 1',box(:,:,1)) + call print_matrix_int('box 2',box(:,:,2)) + call print_matrix_int('box 3',box(:,:,3)) + call print_matrix_int('box 4',box(:,:,4)) + + ! remember without dim= even a box produces a scalar + print all, 'no dim gives a scalar',product(real(box)) + + ! only one plane has negative values, so note all the "1" values + ! for vectors with no elements + call print_matrix_int('negative values',product(box,mask=box < 0,dim=1)) + +! If DIM is specified and ARRAY has rank greater than one, the +! result is a new array in which dimension DIM has been eliminated. + + ! pick a dimension to multiply though + call print_matrix_int('dim=1',product(box,dim=1)) + + call print_matrix_int('dim=2',product(box,dim=2)) + + call print_matrix_int('dim=3',product(box,dim=3)) + +endblock WITH_DIM + +contains + +subroutine print_matrix_int(title,arr) +implicit none + +!@(#) print small 2d integer arrays in row-column format + +character(len=*),intent(in) :: title +integer,intent(in) :: arr(:,:) +integer :: i +character(len=:),allocatable :: biggest + + print all + print all, trim(title),':(',shape(arr),')' ! print title + biggest=' ' ! make buffer to write integer into + ! find how many characters to use for integers + write(biggest,'(i0)')ceiling(log10(real(maxval(abs(arr)))))+2 + ! use this format to write a row + biggest='(" > [",*(i'//trim(biggest)//':,","))' + ! print one row of array at a time + do i=1,size(arr,dim=1) + write(*,fmt=biggest,advance='no')arr(i,:) + write(*,'(" ]")') + enddo + +end subroutine print_matrix_int + +end program demo_product +``` +Results: +```text +factorial of 1 is 1.000000 +factorial of 2 is 2.000000 +factorial of 3 is 6.000000 +factorial of 4 is 24.00000 +factorial of 5 is 120.0000 +factorial of 6 is 720.0000 +factorial of 7 is 5040.000 +factorial of 8 is 40320.00 +factorial of 9 is 362880.0 +factorial of 10 is 3628800. + + product of all elements 351000000 + odd * even = + 4875 * 72000 = 351000000 + +zero-sized array=> 1 +all elements have a false mask=> 1 + +rect :( 2 3 ) + > [ 1, 2, 3 ] + > [ 4, 5, 6 ] +product of columns= 4 10 18 +product of rows= 6 120 + +box 1 :( 2 3 ) + > [ 1, 2, 3 ] + > [ 4, 5, 6 ] + +box 2 :( 2 3 ) + > [ 10, 20, 30 ] + > [ 40, 50, 60 ] + +box 3 :( 2 3 ) + > [ -10, -20, -30 ] + > [ -40, -50, -60 ] + +box 4 :( 2 3 ) + > [ 2, 4, 6 ] + > [ 8, 10, 12 ] +no dim gives a scalar .1719927E+26 + +negative values :( 3 4 ) + > [ 1, 1, 400, 1 ] + > [ 1, 1, 1000, 1 ] + > [ 1, 1, 1800, 1 ] + +dim=1 :( 3 4 ) + > [ 4, 400, 400, 16 ] + > [ 10, 1000, 1000, 40 ] + > [ 18, 1800, 1800, 72 ] + +dim=2 :( 2 4 ) + > [ 6, 6000, -6000, 48 ] + > [ 120, 120000, -120000, 960 ] + +dim=3 :( 2 3 ) + > [ -200, -3200, -16200 ] + > [ -51200, -125000, -259200 ] +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__sum__(3)](SUM), note that an element by element multiplication is done +directly using the star character. + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/RADIX.md b/source/learn/intrinsics/_pages/RADIX.md new file mode 100644 index 000000000..ea4357df8 --- /dev/null +++ b/source/learn/intrinsics/_pages/RADIX.md @@ -0,0 +1,67 @@ +## radix +### __Name__ + +__radix__(3) - \[NUMERIC MODEL\] Base of a model number + + +### __Syntax__ +```fortran +result = radix(x) +``` +### __Description__ + +__radix(x)__ returns the base of the model representing the entity __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _integer_ or _real_ + +### __Returns__ + +The return value is a scalar of type _integer_ and of the default integer +kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_radix +implicit none + print *, "The radix for the default integer kind is", radix(0) + print *, "The radix for the default real kind is", radix(0.0) + print *, "The radix for the doubleprecsion real kind is", radix(0.0d0) +end program demo_radix +``` + Results: +```text + The radix for the default integer kind is 2 + The radix for the default real kind is 2 + The radix for the doubleprecsion real kind is 2 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/RANDOM_NUMBER.md b/source/learn/intrinsics/_pages/RANDOM_NUMBER.md new file mode 100644 index 000000000..b7f7052ff --- /dev/null +++ b/source/learn/intrinsics/_pages/RANDOM_NUMBER.md @@ -0,0 +1,88 @@ +## random\_number +### __Name__ + +__random\_number__(3) - \[MATHEMATICS:RANDOM\] Pseudo-random number + + +### __Syntax__ +```fortran + random_number(harvest) +``` +### __Description__ + +Returns a single pseudorandom number or an array of pseudorandom numbers +from the uniform distribution over the range 0 \<= x \< 1. + +### __Arguments__ + + - __harvest__ + : Shall be a scalar or an array of type _real_. + +### __Examples__ + +Sample program: + +```fortran +program demo_random_number +use, intrinsic :: iso_fortran_env, only : dp=>real64 +implicit none +integer, allocatable :: seed(:) +integer :: n +integer :: first,last +integer :: i +integer :: rand_int +integer,allocatable :: count(:) +real(kind=dp) :: rand_val + call random_seed(size = n) + allocate(seed(n)) + call random_seed(get=seed) + first=1 + last=10 + allocate(count(last-first+1)) + ! To have a discrete uniform distribution on the integers + ! [first, first+1, ..., last-1, last] carve the continuous + ! distribution up into last+1-first equal sized chunks, + ! mapping each chunk to an integer. + ! + ! One way is: + ! call random_number(rand_val) + ! choose one from last-first+1 integers + ! rand_int = first + FLOOR((last+1-first)*rand_val) + count=0 + ! generate a lot of random integers from 1 to 10 and count them. + ! with a large number of values you should get about the same + ! number of each value + do i=1,100000000 + call random_number(rand_val) + rand_int=first+floor((last+1-first)*rand_val) + if(rand_int.ge.first.and.rand_int.le.last)then + count(rand_int)=count(rand_int)+1 + else + write(*,*)rand_int,' is out of range' + endif + enddo + write(*,'(i0,1x,i0)')(i,count(i),i=1,size(count)) +end program demo_random_number +``` +Results: +``` + 1 10003588 + 2 10000104 + 3 10000169 + 4 9997996 + 5 9995349 + 6 10001304 + 7 10001909 + 8 9999133 + 9 10000252 + 10 10000196 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__random\_seed__(3)](RANDOM_SEED) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/RANDOM_SEED.md b/source/learn/intrinsics/_pages/RANDOM_SEED.md new file mode 100644 index 000000000..03f075861 --- /dev/null +++ b/source/learn/intrinsics/_pages/RANDOM_SEED.md @@ -0,0 +1,67 @@ +## random\_seed +### __Name__ + +__random\_seed__(3) - \[MATHEMATICS:RANDOM\] Initialize a pseudo-random number sequence + + +### __Syntax__ +```fortran +call random_seed(size, put, get) +``` +### __Description__ + +Restarts or queries the state of the pseudorandom number generator used +by random\_number. + +If random\_seed is called without arguments, it is seeded with random +data retrieved from the operating system. + +### __Arguments__ + + - __size__ + : (Optional) Shall be a scalar and of type default _integer_, with + __intent(out)__. It specifies the minimum size of the arrays used + with the __put__ and __get__ arguments. + + - __put__ + : (Optional) Shall be an array of type default _integer_ and rank one. + It is __intent(in)__ and the size of the array must be larger than + or equal to the number returned by the __size__ argument. + + - __get__ + : (Optional) Shall be an array of type default _integer_ and rank one. + It is __intent(out)__ and the size of the array must be larger than + or equal to the number returned by the __size__ argument. + +### __Examples__ + +Sample program: + +```fortran +program demo_random_seed +implicit none +integer, allocatable :: seed(:) +integer :: n + + call random_seed(size = n) + allocate(seed(n)) + call random_seed(get=seed) + write (*, *) seed + +end program demo_random_seed +``` + Results: +```text + -674862499 -1750483360 -183136071 -317862567 682500039 + 349459 344020729 -1725483289 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__random\_number__(3)](RANDOM_NUMBER) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/RANGE.md b/source/learn/intrinsics/_pages/RANGE.md new file mode 100644 index 000000000..814653705 --- /dev/null +++ b/source/learn/intrinsics/_pages/RANGE.md @@ -0,0 +1,73 @@ +## range +### __Name__ + +__range__(3) - \[NUMERIC MODEL\] Decimal exponent range of a real kind + + +### __Syntax__ +```fortran +result = range(x) + + function range (x) + integer :: range + type(TYPE,kind=KIND),intent(in) :: x +``` + where TYPE is _real_ or _complex_ and KIND is any kind supported by + TYPE. +### __Description__ + +__range(x)__ returns the decimal exponent range in the model of the type +of __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_ or _complex_. + +### __Returns__ + +The return value is of type _integer_ and of the default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_range +use,intrinsic :: iso_fortran_env, only : dp=>real64,sp=>real32 +implicit none +real(kind=sp) :: x(2) +complex(kind=dp) :: y + print *, precision(x), range(x) + print *, precision(y), range(y) +end program demo_range +``` + Results: +```text + 6 37 + 15 307 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/RANK.md b/source/learn/intrinsics/_pages/RANK.md new file mode 100644 index 000000000..90744ad05 --- /dev/null +++ b/source/learn/intrinsics/_pages/RANK.md @@ -0,0 +1,46 @@ +## rank +### __Name__ + +__rank__(3) - \[ARRAY INQUIRY\] Rank of a data object + + +### __Syntax__ +```fortran +result = rank(a) +``` +### __Description__ + +__rank(a)__ returns the rank of a scalar or array data object. + +### __Arguments__ + + - __a__ + : can be of any type + +### __Returns__ + +The return value is of type _integer_ and of the default integer kind. For +arrays, their rank is returned; for scalars zero is returned. + +### __Examples__ + +Sample program: + +```fortran +program demo_rank +implicit none +integer :: a +real, allocatable :: b(:,:) +real :: c(10,20,30) + print *, rank(a), rank(b), rank(c) +end program demo_rank +``` +Results: +```text + 0 2 3 +``` +### __Standard__ + +TS 29113 + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/REAL.md b/source/learn/intrinsics/_pages/REAL.md new file mode 100644 index 000000000..aa09cb8e8 --- /dev/null +++ b/source/learn/intrinsics/_pages/REAL.md @@ -0,0 +1,73 @@ +## real +### __Name__ +__real__(3) - \[TYPE:NUMERIC\] Convert to real type + + +### __Syntax__ +```fortran +result = real(x, kind) +``` +### __Description__ + +__real(x, kind)__ converts its argument __x__ to a real type. + +### __Arguments__ + + - __x__ + : Shall be _integer_, _real_, or _complex_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +These functions return a _real_ variable or array under the following +rules: + +1. __real__(x) is converted to a default _real_ type if __x__ is an _integer_ + or _real_ variable. + +2. __real__(x) is converted to a real type with the kind type parameter + of __x__ if __x__ is a _complex_ variable. + +3. __real(x, kind)__ is converted to a _real_ type with kind type + parameter __kind__ if __x__ is a _complex_, _integer_, or _real_ variable. + +### __Examples__ + +Sample program: + +```fortran +program demo_real +use,intrinsic :: iso_fortran_env, only : dp=>real64 +implicit none +complex :: zr = (1.0, 2.0) +doubleprecision :: xd=huge(3.0d0) +complex(kind=dp) :: zd=cmplx(4.0e0_dp,5.0e0_dp,kind=dp) + + print *, real(zr), aimag(zr) + print *, dble(zd), aimag(zd) + + write(*,*)xd,real(xd,kind=kind(0.0d0)),dble(xd) +end program demo_real +``` + +Results: + +``` + 1.00000000 2.00000000 + 4.0000000000000000 5.0000000000000000 + 1.7976931348623157E+308 1.7976931348623157E+308 1.7976931348623157E+308 +``` + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ + +[__dble__(3)](DBLE), +[__float__(3)](FLOAT) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/REPEAT.md b/source/learn/intrinsics/_pages/REPEAT.md new file mode 100644 index 000000000..414800aa6 --- /dev/null +++ b/source/learn/intrinsics/_pages/REPEAT.md @@ -0,0 +1,78 @@ +## repeat +### __Name__ + +__repeat__(3) - \[CHARACTER\] Repeated string concatenation + + +### __Syntax__ +```fortran +result = repeat(string, ncopies) + + character(len=len(string)*ncopies) :: repeat + character(len=*),intent(in) :: string + integer,intent(in) :: ncopies +``` +### __Description__ + +Concatenates __ncopies__ copies of a string. + +### __Arguments__ + + - __string__ + : The input string to repeatedly generate. + Shall be scalar and of type _character_. + + - __ncopies__ + : Number of copies to make of _string_, greater than or equal to zero (0). + Shall be scalar and of type _integer_. + +### __Returns__ + +A new scalar of type _character_ built up from __ncopies__ copies of __string__. + +### __Examples__ + +Sample program: + +```fortran +program demo_repeat +implicit none +integer :: i, j + write(*,'(a)') repeat("^v", 36) ! line break + write(*,'(a)') repeat("_", 72) ! line break + write(*,'(a)') repeat("1234567890", 7) ! number line + do i=80,0,-1 ! a simple progress bar + write(*,'(a)',advance='no') & + & repeat("#", i)//repeat(' ',80-i)//char(13) + !do something slow + enddo +end program demo_repeat +``` + Results: +``` + ^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v + ________________________________________________________________________ + 1234567890123456789012345678901234567890123456789012345678901234567890 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +Functions that perform operations on character strings: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Non-elemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/RESHAPE.md b/source/learn/intrinsics/_pages/RESHAPE.md new file mode 100644 index 000000000..2e1c1d7cd --- /dev/null +++ b/source/learn/intrinsics/_pages/RESHAPE.md @@ -0,0 +1,74 @@ +## reshape +### __Name__ + +__reshape__(3) - \[ARRAY RESHAPE\] Function to reshape an array + + +### __Syntax__ +```fortran +result = reshape(source, shape, pad, order) +``` +### __Description__ + +Reshapes array __source__ to correspond to __shape__. If necessary, the new +array may be padded with elements from __pad__ or permuted as defined by +__order__. + +### __Arguments__ + + - __source__ + : an array of any type. + + - __shape__ + : an array of rank one and type _integer_. Its values must be positive + or zero. + + - __pad__ + : (Optional) an array of the same type as __source__. + + - __order__ + : (Optional) an array of type _integer_ and the same shape as __shape__. Its + values shall be a permutation of the numbers from 1 to n, where n is + the size of __shape__. If __order__ is absent, the natural ordering shall be + assumed. + +### __Returns__ + +The result is an array of shape __shape__ with the same type as __source__. + +### __Examples__ + +Sample program: + +```fortran +program demo_reshape +implicit none +integer :: i +integer, dimension(4) :: x=[(i,i=10,40,10)] +real :: xx(3,4) +real,allocatable :: v(:) + ! x is originally a vector with four elements + write(*,*) shape(x) ! what is the current shape of the array? + write(*,*) shape(reshape(x, [2, 2])) ! prints "2 2" + + ! pack any array into a vector + xx=1.0 + v=reshape(xx,[size(xx)]) + write(*,*)shape(v),ubound(v) +end program demo_reshape +``` + Results: +```text + 4 + 2 2 + 12 12 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__shape__(3)](SHAPE) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/RRSPACING.md b/source/learn/intrinsics/_pages/RRSPACING.md new file mode 100644 index 000000000..a104e68dc --- /dev/null +++ b/source/learn/intrinsics/_pages/RRSPACING.md @@ -0,0 +1,49 @@ +## rrspacing +### __Name__ + +__rrspacing__(3) - \[MODEL\_COMPONENTS\] Reciprocal of the relative spacing + + +### __Syntax__ +```fortran +result = rrspacing(x) +``` +### __Description__ + +__rrspacing(x)__ returns the reciprocal of the relative spacing of model +numbers near __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + +### __Returns__ + +The return value is of the same type and kind as __x__. The value returned +is equal to __abs(fraction(x)) \* float(radix(x))\*\*digits(x)__. + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SAME_TYPE_AS.md b/source/learn/intrinsics/_pages/SAME_TYPE_AS.md new file mode 100644 index 000000000..db2ede092 --- /dev/null +++ b/source/learn/intrinsics/_pages/SAME_TYPE_AS.md @@ -0,0 +1,38 @@ +## same\_type\_as +### __Name__ + +__same\_type\_as__(3) - \[STATE\] Query dynamic types for equality + + +### __Syntax__ +```fortran +result = same_type_as(a, b) +``` +### __Description__ + +Query dynamic types for equality. + +### __Arguments__ + + - __a__ + : Shall be an object of extensible declared type or unlimited + polymorphic. + + - __b__ + : Shall be an object of extensible declared type or unlimited + polymorphic. + +### __Returns__ + +The return value is a scalar of type default logical. It is true if and +only if the dynamic type of __a__ is the same as the dynamic type of __b__. + +### __Standard__ + +Fortran 2003 and later + +### __See Also__ + +[__extends\_type\_of__(3)](EXTENDS_TYPE_OF) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SCALE.md b/source/learn/intrinsics/_pages/SCALE.md new file mode 100644 index 000000000..8c112ebb9 --- /dev/null +++ b/source/learn/intrinsics/_pages/SCALE.md @@ -0,0 +1,73 @@ +## scale +### __Name__ + +__scale__(3) - \[MODEL\_COMPONENTS\] Scale a real value by a whole power of the radix + + +### __Syntax__ +```fortran +result = scale(x, i) + + real(kind=KIND),intent(in) :: x + integer,intent(in) :: i +``` +### __Description__ + +__scale(x,i)__ returns x \* __radix(x)\*\*i__. + +### __Arguments__ + + - __x__ + : The type of the argument shall be a _real_. + + - __i__ + : The type of the argument shall be a _integer_. + +### __Returns__ + +The return value is of the same type and kind as __x__. Its value is +__x \* radix(x)\*\*i__. + +### __Examples__ + +Sample program: + +```fortran +program demo_scale +implicit none +real :: x = 178.1387e-4 +integer :: i = 5 + print *, scale(x,i), x*radix(x)**i +end program demo_scale +``` + +Results: + +``` + 0.570043862 0.570043862 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__set\_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SCAN.md b/source/learn/intrinsics/_pages/SCAN.md new file mode 100644 index 000000000..535e6e7f5 --- /dev/null +++ b/source/learn/intrinsics/_pages/SCAN.md @@ -0,0 +1,76 @@ +## scan +### __Name__ + +__scan__(3) - \[CHARACTER:SEARCH\] Scan a string for the presence of a set of characters + + +### __Syntax__ +```fortran +result = scan(string, set[, back [, kind]]) +``` +### __Description__ + +Scans a __string__ for any of the characters in a __set__ of characters. + +If __back__ is either absent or equals __.false.__, this function returns the +position of the leftmost character of __STRING__ that is in __set__. If __back__ +equals __.true.__, the rightmost position is returned. If no character of __set__ +is found in __string__, the result is zero. + +### __Arguments__ + + - __string__ + : Shall be of type _character_. + + - __set__ + : Shall be of type _character_. + + - __back__ + : (Optional) shall be of type _logical_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ is absent, +the return value is of default integer kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_scan +implicit none + write(*,*) scan("fortran", "ao") ! 2, found 'o' + write(*,*) scan("fortran", "ao", .true.) ! 6, found 'a' + write(*,*) scan("fortran", "c++") ! 0, found none +end program demo_scan +``` + Results: +```text + 2 + 6 + 0 +``` +### __Standard__ + +Fortran 95 and later, with KIND argument - Fortran 2003 and later + +### __See Also__ + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), [__adjustr__(3)](ADJUSTR), [__index__(3)](INDEX), + [__scan__(3)](SCAN), [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md b/source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md new file mode 100644 index 000000000..0244e65bb --- /dev/null +++ b/source/learn/intrinsics/_pages/SELECTED_CHAR_KIND.md @@ -0,0 +1,58 @@ +## selected\_char\_kind +### __Name__ + +__selected\_char\_kind__(3) - \[KIND\] Choose character kind such as "Unicode" + + +### __Syntax__ +```fortran +result = selected_char_kind(name) +``` +### __Description__ + +__selected\_char\_kind(name)__ returns the kind value for the character +set named NAME, if a character set with such a name is supported, or +__-1__ otherwise. Currently, supported character sets include "ASCII" +and "DEFAULT" (iwhich are equivalent), and "ISO\_10646" (Universal +Character Set, UCS-4) which is commonly known as "Unicode". + +### __Arguments__ + + - __name__ + : Shall be a scalar and of the default character type. + +### __Examples__ + +Sample program: + +```fortran +program demo_selected_char_kind +use iso_fortran_env +implicit none +integer, parameter :: ascii = selected_char_kind ("ascii") +integer, parameter :: ucs4 = selected_char_kind ('ISO_10646') + +character(kind=ascii, len=26) :: alphabet +character(kind=ucs4, len=30) :: hello_world + + alphabet = ascii_"abcdefghijklmnopqrstuvwxyz" + hello_world = ucs4_'Hello World and Ni Hao -- ' & + // char (int (z'4F60'), ucs4) & + // char (int (z'597D'), ucs4) + + write (*,*) alphabet + + open (output_unit, encoding='UTF-8') + write (*,*) trim (hello_world) +end program demo_selected_char_kind +``` + Results: +```text + abcdefghijklmnopqrstuvwxyz + Hello World and Ni Hao -- 你好 +``` +### __Standard__ + +Fortran 2003 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SELECTED_INT_KIND.md b/source/learn/intrinsics/_pages/SELECTED_INT_KIND.md new file mode 100644 index 000000000..4b64d7d2c --- /dev/null +++ b/source/learn/intrinsics/_pages/SELECTED_INT_KIND.md @@ -0,0 +1,61 @@ +## selected\_int\_kind +### __Name__ + +__selected\_int\_kind__(3) - \[KIND\] Choose integer kind + + +### __Syntax__ +```fortran +result = selected_int_kind(r) +``` +### __Description__ + +__selected\_int\_kind(r)__ return the kind value of the smallest integer +type that can represent all values ranging from __-10\*\*r__ (exclusive) +to __10\*\*r__ (exclusive). If there is no integer kind that accommodates +this range, selected\_int\_kind returns __-1__. + +### __Arguments__ + + - __r__ + : Shall be a scalar and of type _integer_. + +### __Examples__ + +Sample program: + +```fortran +program demo_selected_int_kind +implicit none +integer,parameter :: k5 = selected_int_kind(5) +integer,parameter :: k15 = selected_int_kind(15) +integer(kind=k5) :: i5 +integer(kind=k15) :: i15 + + print *, huge(i5), huge(i15) + + ! the following inequalities are always true + print *, huge(i5) >= 10_k5**5-1 + print *, huge(i15) >= 10_k15**15-1 +end program demo_selected_int_kind +``` + Results: +```text + 2147483647 9223372036854775807 + T + T +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__aint__(3)](AINT), +[__anint__(3)](ANINT), +[__int__(3)](INT), +[__nint__(3)](NINT), +[__ceiling__(3)](CEILING), +[__floor__(3)](FLOOR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md b/source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md new file mode 100644 index 000000000..5e3532d9b --- /dev/null +++ b/source/learn/intrinsics/_pages/SELECTED_REAL_KIND.md @@ -0,0 +1,91 @@ +## selected\_real\_kind +### __Name__ + +__selected\_real\_kind__(3) - \[KIND\] Choose real kind + + +### __Syntax__ +```fortran +result = selected_real_kind(p, r, radix) +``` +### __Description__ + +__selected\_real\_kind(p, r, radix)__ return the kind value of a real +data type with decimal precision of at least __p__ digits, exponent range of +at least __r__, and with a radix of __radix__. + +### __Arguments__ + + - __p__ + : (Optional) shall be a scalar and of type _integer_. + + - __r__ + : (Optional) shall be a scalar and of type _integer_. + + - __radix__ + : (Optional) shall be a scalar and of type _integer_. + +Before __Fortran 2008__, at least one of the arguments __r__ or __p__ shall +be present; since __Fortran 2008__, they are assumed to be zero if +absent. + +### __Returns__ + +selected\_real\_kind returns the value of the kind type parameter of a +real data type with decimal precision of at least __p__ digits, a decimal +exponent range of at least R, and with the requested __radix__. If the __radix__ +parameter is absent, real kinds with any radix can be returned. If more +than one real data type meet the criteria, the kind of the data type +with the smallest decimal precision is returned. If no real data type +matches the criteria, the result is + + - __-1__ if the processor does not support a real data type with a + precision greater than or equal to __p__, but the __r__ and __radix__ + requirements can be fulfilled + + - __-2__ if the processor does not support a real type with an + exponent range greater than or equal to __r__, but __p__ and __radix__ are + fulfillable + + - __-3__ if __radix__ but not __p__ and __r__ requirements are fulfillable + + - __-4__ if __radix__ and either __p__ or __r__ requirements are fulfillable + + - __-5__ if there is no real type with the given __radix__ + +### __Examples__ + +Sample program: + +```fortran +program demo_selected_real_kind +implicit none +integer,parameter :: p6 = selected_real_kind(6) +integer,parameter :: p10r100 = selected_real_kind(10,100) +integer,parameter :: r400 = selected_real_kind(r=400) +real(kind=p6) :: x +real(kind=p10r100) :: y +real(kind=r400) :: z + + print *, precision(x), range(x) + print *, precision(y), range(y) + print *, precision(z), range(z) +end program demo_selected_real_kind +``` + Results: +```text + 6 37 + 15 307 + 18 4931 +``` +### __Standard__ + +Fortran 95 and later; with RADIX - Fortran 2008 and later + +### __See Also__ + +[__precision__(3)](PRECISION), +[__range__(3)](RANGE), +[__radix__(3)](RADIX) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SET_EXPONENT.md b/source/learn/intrinsics/_pages/SET_EXPONENT.md new file mode 100644 index 000000000..753619e5d --- /dev/null +++ b/source/learn/intrinsics/_pages/SET_EXPONENT.md @@ -0,0 +1,69 @@ +## set\_exponent +### __Name__ + +__set\_exponent__(3) - \[MODEL\_COMPONENTS\] Set the exponent of the model + + +### __Syntax__ +```fortran +result = set_exponent(x, i) +``` +### __Description__ + +__set\_exponent(x, i)__ returns the real number whose fractional part is +that of __x__ and whose exponent part is __i__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + + - __i__ + : Shall be of type _integer_. + +### __Returns__ + +The return value is of the same type and kind as __x__. The real number +whose fractional part is that that of __x__ and whose exponent part if __i__ is +returned; it is __fraction(x) \* radix(x)\*\*i__. + +### __Examples__ + +Sample program: + +```fortran +program demo_setexp +implicit none +real :: x = 178.1387e-4 +integer :: i = 17 + print *, set_exponent(x, i), fraction(x) * radix(x)**i +end program demo_setexp +``` + Results: +```text + 74716.7891 74716.7891 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__spacing__(3)](SPACING), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SHAPE.md b/source/learn/intrinsics/_pages/SHAPE.md new file mode 100644 index 000000000..4840a173a --- /dev/null +++ b/source/learn/intrinsics/_pages/SHAPE.md @@ -0,0 +1,66 @@ +## shape +### __Name__ + +__shape__(3) - \[ARRAY INQUIRY\] Determine the shape of an array + + +### __Syntax__ +```fortran +result = shape(source, kind) +``` +### __Description__ + +Determines the shape of an array. + +### __Arguments__ + + - __source__ + : Shall be an array or scalar of any type. If __source__ is a pointer it + must be associated and allocatable arrays must be allocated. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +An _integer_ array of rank one with as many elements as __source__ has +dimensions. The elements of the resulting array correspond to the extend +of __source__ along the respective dimensions. If __source__ is a scalar, the +result is the rank one array of size zero. If __kind__ is absent, the return +value has the default integer kind otherwise the specified kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_shape +implicit none +character(len=*),parameter :: all='(*(g0,1x))' +integer, dimension(-1:1, -1:2) :: a + print all, 'shape of array=',shape(a) + print all, 'shape of constant=',shape(42) + print all, 'size of shape of constant=',size(shape(42)) + print all, 'ubound of array=',ubound(a) + print all, 'lbound of array=',lbound(a) +end program demo_shape +``` + Results: +```text + shape of array= 3 4 + shape of constant= + size of shape of constant= 0 + ubound of array= 1 2 + lbound of array= -1 -1 +``` +### __Standard__ + +Fortran 95 and later; with KIND argument Fortran 2003 and later + +### __See Also__ + +[__reshape__(3)](RESHAPE), +[__size__(3)](SIZE) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SHIFTA.md b/source/learn/intrinsics/_pages/SHIFTA.md new file mode 100644 index 000000000..48aab2df1 --- /dev/null +++ b/source/learn/intrinsics/_pages/SHIFTA.md @@ -0,0 +1,41 @@ +## shifta +### __Name__ + +__shifta__(3) - \[BIT:SHIFT\] shift bits right with fill + + +### __Syntax__ +```fortran +result = shifta(i, shift) +``` +### __Description__ + +Returns a value corresponding to __i__ with all of the bits shifted right by +__shift__ places. If the absolute value of __shift__ is greater than +__bit\_size(i)__, the value is undefined. Bits shifted out from the +right end are lost. The fill is arithmetic: the bits shifted in from the +left end are equal to the leftmost bit, which in two's complement +representation is the sign bit. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __shift__ + : The type shall be _integer_. + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__shiftl__(3)](SHIFTL), +[__shiftr__(3)](SHIFTR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SHIFTL.md b/source/learn/intrinsics/_pages/SHIFTL.md new file mode 100644 index 000000000..cc2400420 --- /dev/null +++ b/source/learn/intrinsics/_pages/SHIFTL.md @@ -0,0 +1,39 @@ +## shiftl +### __Name__ + +__shiftl__(3) - \[BIT:SHIFT\] shift bits left + + +### __Syntax__ +```fortran +result = shiftl(i, shift) +``` +### __Description__ + +Returns a value corresponding to __i__ with all of the bits shifted left by +__shift__ places. If the absolute value of __shift__ is greater than +__bit\_size(i)__, the value is undefined. Bits shifted out from the left +end are lost, and bits shifted in from the right end are set to __0__. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __shift__ + : The type shall be _integer_. + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__shifta__(3)](SHIFTA), +[__shiftr__(3)](SHIFTR) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SHIFTR.md b/source/learn/intrinsics/_pages/SHIFTR.md new file mode 100644 index 000000000..90fa08ca7 --- /dev/null +++ b/source/learn/intrinsics/_pages/SHIFTR.md @@ -0,0 +1,39 @@ +## shiftr +### __Name__ + +__shiftr__(3) - \[BIT:SHIFT\] shift bits right + + +### __Syntax__ +```fortran +result = shiftr(i, shift) +``` +### __Description__ + +Returns a value corresponding to __i__ with all of the bits shifted right by +__shift__ places. If the absolute value of __shift__ is greater than +__bit\_size(i)__, the value is undefined. Bits shifted out from the +right end are lost, and bits shifted in from the left end are set to 0. + +### __Arguments__ + + - __i__ + : The type shall be _integer_. + + - __shift__ + : The type shall be _integer_. + +### __Returns__ + +The return value is of type _integer_ and of the same kind as __i__. + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__shifta__(3)](SHIFTA), +[__shiftl__(3)](SHIFTL) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SIGN.md b/source/learn/intrinsics/_pages/SIGN.md new file mode 100644 index 000000000..ca86ddc6c --- /dev/null +++ b/source/learn/intrinsics/_pages/SIGN.md @@ -0,0 +1,75 @@ +## sign +### __Name__ + +__sign__(3) - \[NUMERIC\] Sign copying function + + +### __Syntax__ +```fortran +result = sign(a, b) + + elemental function sign(a, b) + type(TYPE(kind=KIND)) :: sign + type(TYPE(kind=KIND)),intent(in) :: a, b +``` +where TYPE may be _real_ or _integer_ and KIND is any supported kind for the type. +``` +### __Description__ + +__sign__(a,b) returns the value of __a__ with the sign of __b__. + + +For processors that distinguish between positive and negative zeros __sign()__ may be used to +distinguish between __real__ values 0.0 and −0.0. SIGN (1.0, -0.0) will +return −1.0 when a negative zero is distinguishable. + + 29 1 Description. Magnitude of A with the sign of B. + + + +### __Arguments__ + + - __a__ + : Shall be of type _integer_ or _real_ + + - __b__ + : Shall be of the same type and kind as __a__ + +### __Returns__ + +The kind of the return value is the magnitude of __a__ with the sign of __b__. That is, + + - If __b \>= 0__ then the result is __abs(a)__ + - else if __b < 0__ it is -__abs(a)__. + - if __b__ is _real_ and the processor distinguishes between __-0.0__ and __0.0__ then the + result is __-abs(a)__ + +### __Examples__ + +Sample program: + +```fortran +program demo_sign +implicit none + print *, sign( -12, 1 ) + print *, sign( -12, 0 ) + print *, sign( -12, -1 ) + + print *, sign( -12.0, [1.0, 0.0, -1.0] ) + + print *, 'can I distinguise 0 from -0? ', sign( 1.0, -0.0 ) .ne. sign( 1.0, 0.0 ) +end program demo_sign +``` +Results: +```text + 12 + 12 + -12 + 12.00000 12.00000 -12.00000 + can I distinguise 0 from -0? F +``` +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions (license: MIT) diff --git a/source/learn/intrinsics/_pages/SIN.md b/source/learn/intrinsics/_pages/SIN.md new file mode 100644 index 000000000..ae7b1b0cd --- /dev/null +++ b/source/learn/intrinsics/_pages/SIN.md @@ -0,0 +1,131 @@ +## sin +### __Name__ + +__sin__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Sine function + +### __Syntax__ +```fortran +result = sin(x) + + elemental TYPE(kind=KIND) function sin(x) + TYPE(kind=KIND) :: x +``` +Where the returned value has the kind of the input value +and TYPE may be _real_ or _complex_ + +### __Description__ + +__sin(x)__ computes the sine of an angle given the size of the angle in +radians. + +The sine of an angle in a right-angled triangle is the ratio of the +length of the side opposite the given angle divided by the length of the +hypotenuse. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_ in radians. + +### __Returns__ + + - __result__ + : The return value has the same type and kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program sample_sin +implicit none +real :: x = 0.0 + x = sin(x) +end program sample_sin +``` + +### __Haversine Formula__ + +From the article on "Haversine formula" in Wikipedia: + +```text +The haversine formula is an equation important in navigation, +giving great-circle distances between two points on a sphere from +their longitudes and latitudes. +``` + +So to show the great-circle distance between the Nashville International +Airport (BNA) in TN, USA, and the Los Angeles International Airport +(LAX) in CA, USA you would start with their latitude and longitude, +commonly given as + +```text +BNA: N 36 degrees 7.2', W 86 degrees 40.2' +LAX: N 33 degrees 56.4', W 118 degrees 24.0' +``` + +which converted to floating-point values in degrees is: + +```text + Latitude Longitude + + - BNA + 36.12, -86.67 + + - LAX + 33.94, -118.40 +``` + +And then use the haversine formula to roughly calculate the distance +along the surface of the Earth between the locations: + + Sample program: + +```fortran +program demo_sin +implicit none +real :: d + d = haversine(36.12,-86.67, 33.94,-118.40) ! BNA to LAX + print '(A,F9.4,A)', 'distance: ',d,' km' +contains +function haversine(latA,lonA,latB,lonB) result (dist) +! +! calculate great circle distance in kilometers +! given latitude and longitude in degrees +! +real,intent(in) :: latA,lonA,latB,lonB +real :: a,c,dist,delta_lat,delta_lon,lat1,lat2 +real,parameter :: radius = 6371 ! mean earth radius in kilometers, +! recommended by the International Union of Geodesy and Geophysics + +! generate constant pi/180 +real, parameter :: deg_to_rad = atan(1.0)/45.0 + delta_lat = deg_to_rad*(latB-latA) + delta_lon = deg_to_rad*(lonB-lonA) + lat1 = deg_to_rad*(latA) + lat2 = deg_to_rad*(latB) + a = (sin(delta_lat/2))**2 + & + & cos(lat1)*cos(lat2)*(sin(delta_lon/2))**2 + c = 2*asin(sqrt(a)) + dist = radius*c +end function haversine +end program demo_sin +``` +Results: + +```text + distance: 2886.4446 km +``` + +### __Standard__ + +FORTRAN 77 and later + +### __See Also__ +- [Wikipedia:sine and cosine](https://en.wikipedia.org/wiki/Sine_and_cosine) + +[__asin__(3)](ASIN), +[__cos__(3)](COS), +[__tan__(3)](TAN) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/SINH.md b/source/learn/intrinsics/_pages/SINH.md new file mode 100644 index 000000000..1475bb257 --- /dev/null +++ b/source/learn/intrinsics/_pages/SINH.md @@ -0,0 +1,89 @@ +## sinh +### __Name__ + +__sinh__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Hyperbolic sine function + +### __Syntax__ +```fortran +result = sinh(x) + + elemental TYPE(kind=KIND) function sinh(x) + TYPE(kind=KIND) :: x +``` +Where the returned value has the kind of the input value +and TYPE may be _real_ or _complex_ + +### __Description__ + +__sinh(x)__ computes the hyperbolic sine of __x__. + +The hyperbolic sine of x is defined mathematically as: + + __sinh(x) = (exp(x) - exp(-x)) / 2.0__ + +If __x__ is of type _complex_ its imaginary part is regarded as a value +in radians. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value has same type and kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_sinh +use, intrinsic :: iso_fortran_env, only : & +& real_kinds, real32, real64, real128 +implicit none +real(kind=real64) :: x = - 1.0_real64 +real(kind=real64) :: nan, inf +character(len=20) :: line + + print *, sinh(x) + print *, (exp(x)-exp(-x))/2.0 + + ! sinh(3) is elemental and can handle an array + print *, sinh([x,2.0*x,x/3.0]) + + ! a NaN input returns NaN + line='NAN' + read(line,*) nan + print *, sinh(nan) + + ! a Inf input returns Inf + line='Infinity' + read(line,*) inf + print *, sinh(inf) + + ! an overflow returns Inf + x=huge(0.0d0) + print *, sinh(x) + +end program demo_sinh +``` +Results: +```text + -1.1752011936438014 + -1.1752011936438014 + -1.1752011936438014 -3.6268604078470190 -0.33954055725615012 + NaN + Infinity + Infinity +``` +### __Standard__ + +Fortran 95 and later, for a complex argument Fortran 2008 or later + +### __See Also__ +- [Wikipedia:hyperbolic functions](https://en.wikipedia.org/wiki/Hyperbolic_functions) + +[__asinh__(3)](ASINH) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SIZE.md b/source/learn/intrinsics/_pages/SIZE.md new file mode 100644 index 000000000..02ad87202 --- /dev/null +++ b/source/learn/intrinsics/_pages/SIZE.md @@ -0,0 +1,187 @@ +## size +### __Name__ + +__size__(3) - \[ARRAY INQUIRY\] Determine the size of an array + + +### __Syntax__ +```fortran +result = size(array, dim, kind) +``` +### __Description__ + +Determine the extent of __array__ along a specified dimension __dim__, +or the total number of elements in __array__ if __dim__ is absent. + +### __Arguments__ + + - __array__ + : be an array of any type. If __array__ is a pointer it must be + associated and allocatable arrays must be allocated. + + - __dim__ + : shall be a scalar of type _integer_ and its value shall be + in the range from 1 to n, where n equals the rank of __array__. + + - __kind__ + : An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ +is absent, the return value is of default _integer_ kind. + +### __Examples__ + +Sample program: + +```fortran +program demo_size +implicit none +integer :: i, j +integer :: arr(0:2,-5:5)=reshape([(((i-1)*11+j,i=1,3),j=1,11)],[3,11]) + write(*,*) 'SIZE of simple one-dimensional array=', & + & size([ 11, 22, 33 ]) ! 3 + + write(*,*)'body' + write(*,*)'SHAPE(arr) :',shape(arr) + write(*,*)'SIZE(arr) :',size(arr) + write(*,*)'SIZE(arr,DIM=1) :',size(arr,dim=1) + write(*,*)'SIZE(arr,DIM=2) :',size(arr,dim=2) + write(*,*)'note lower bound is not "1"' + write(*,*)'LBOUND(arr) :',lbound(arr) + write(*,*)'UBOUND(arr) :',ubound(arr) + write(*,*)'LBOUND(arr,DIM=1):',lbound(arr,dim=1) + write(*,*)'UBOUND(arr,DIM=1):',ubound(arr,dim=1) + write(*,*)'LBOUND(arr,DIM=2):',lbound(arr,dim=2) + write(*,*)'UBOUND(arr,DIM=2):',ubound(arr,dim=2) + + call interfaced(arr,arr) + call nointerface(arr) +contains + +subroutine interfaced(arr,arr2) +integer,intent(in) :: arr(:,:) +integer,intent(in) :: arr2(2,*) + ! + write(*,*)'interfaced assumed-shape arr2ay' + ! + ! source argument of shape intrinsic at (1) must not be + ! an assumed size array + !!write(*,*)'SHAPE(arr2) :',shape(arr2) + ! The upper bound in the last dimension must appear in the reference + ! to the assumed size array arr2 at (1) + !!write(*,*)'SIZE(arr2) :',size(arr2) + write(*,*)'SIZE(arr2,DIM=1) :',size(arr2,dim=1) + ! dim argument of size intrinsic at (1) is not + !a valid dimension index + !!write(*,*)'SIZE(arr2,DIM=2) :',size(arr2,dim=2) + write(*,*)'note lower bound is "1"' + write(*,*)'LBOUND(arr2) :',lbound(arr2) + write(*,*)'LBOUND(arr2) :',lbound(arr2) + ! The upper bound in the last dimension must appear in the + ! reference to the assumed size array arr2 at (1) + !!write(*,*)'UBOUND(arr2) :',ubound(arr2) + write(*,*)'LBOUND(arr2,DIM=1):',lbound(arr2,dim=1) + write(*,*)'UBOUND(arr2,DIM=1):',ubound(arr2,dim=1) + write(*,*)'LBOUND(arr2,DIM=2):',lbound(arr2,dim=2) + ! dim argument of ubound intrinsic at (1) is not + ! a valid dimension index + !!write(*,*)'UBOUND(arr2,DIM=2):',ubound(arr2,dim=2) + ! + write(*,*)'interfaced' + ! + write(*,*)'SHAPE(arr) :',shape(arr) + write(*,*)'SIZE(arr) :',size(arr) + write(*,*)'SIZE(arr,DIM=1) :',size(arr,dim=1) + write(*,*)'SIZE(arr,DIM=2) :',size(arr,dim=2) + write(*,*)'note lower bound is "1"' + write(*,*)'LBOUND(arr) :',lbound(arr) + write(*,*)'LBOUND(arr) :',lbound(arr) + write(*,*)'UBOUND(arr) :',ubound(arr) + write(*,*)'LBOUND(arr,DIM=1):',lbound(arr,dim=1) + write(*,*)'UBOUND(arr,DIM=1):',ubound(arr,dim=1) + write(*,*)'LBOUND(arr,DIM=2):',lbound(arr,dim=2) + write(*,*)'UBOUND(arr,DIM=2):',ubound(arr,dim=2) + ! +end subroutine interfaced +!! +! NOTE: If NOINTERFACE(3) had an assumed-shape argument with : +! for dimensions it could only be properly called with +! an explicit interface +!! +subroutine nointerface(arr) +integer,intent(in) :: arr(3,*) + write(*,*)'nointerface' + ! SHAPE(3) CANNOT BE USED ON AN ASSUMED SIZE ARRAY + !!write(*,*)'SHAPE(arr) :',shape(arr) + !!write(*,*)'SIZE(arr) :',size(arr) + write(*,*)'SIZE(arr,DIM=1) :',size(arr,dim=1) + ! CANNOT DETERMINE SIZE OF ASSUMED SIZE ARRAY LAST DIMENSION + !!write(*,*)'SIZE(arr,DIM=2) :',size(arr,dim=2) + write(*,*)'note lower bound is "1"' + write(*,*)'LBOUND(arr) :',lbound(arr) + !!write(*,*)'UBOUND(arr) :',ubound(arr) + write(*,*)'LBOUND(arr,DIM=1):',lbound(arr,dim=1) + write(*,*)'UBOUND(arr,DIM=1):',ubound(arr,dim=1) + write(*,*)'LBOUND(arr,DIM=2):',lbound(arr,dim=2) + !!write(*,*)'UBOUND(arr,DIM=2):',ubound(arr,dim=2) +end subroutine nointerface +!! +end program demo_size +``` +Results: +```text + SIZE of simple one-dimensional array= 3 + body + SHAPE(arr) : 3 11 + SIZE(arr) : 33 + SIZE(arr,DIM=1) : 3 + SIZE(arr,DIM=2) : 11 + note lower bound is not "1" + LBOUND(arr) : 0 -5 + UBOUND(arr) : 2 5 + LBOUND(arr,DIM=1): 0 + UBOUND(arr,DIM=1): 2 + LBOUND(arr,DIM=2): -5 + UBOUND(arr,DIM=2): 5 + interfaced assumed-shape arr2ay + SIZE(arr2,DIM=1) : 2 + note lower bound is "1" + LBOUND(arr2) : 1 1 + LBOUND(arr2) : 1 1 + LBOUND(arr2,DIM=1): 1 + UBOUND(arr2,DIM=1): 2 + LBOUND(arr2,DIM=2): 1 + interfaced + SHAPE(arr) : 3 11 + SIZE(arr) : 33 + SIZE(arr,DIM=1) : 3 + SIZE(arr,DIM=2) : 11 + note lower bound is "1" + LBOUND(arr) : 1 1 + LBOUND(arr) : 1 1 + UBOUND(arr) : 3 11 + LBOUND(arr,DIM=1): 1 + UBOUND(arr,DIM=1): 3 + LBOUND(arr,DIM=2): 1 + UBOUND(arr,DIM=2): 11 + nointerface + SIZE(arr,DIM=1) : 3 + note lower bound is "1" + LBOUND(arr) : 1 1 + LBOUND(arr,DIM=1): 1 + UBOUND(arr,DIM=1): 3 + LBOUND(arr,DIM=2): 1 +``` +### __Standard__ + +Fortran 95 and later, with __kind__ argument - Fortran 2003 and later + +### __See Also__ + +[__shape__(3)](SHAPE), +[__reshape__(3)])(RESHAPE) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SPACING.md b/source/learn/intrinsics/_pages/SPACING.md new file mode 100644 index 000000000..05165be76 --- /dev/null +++ b/source/learn/intrinsics/_pages/SPACING.md @@ -0,0 +1,67 @@ +## spacing +### __Name__ + +__spacing__(3) - \[MODEL\_COMPONENTS\] Smallest distance between two numbers of a given type + + +### __Syntax__ +```fortran +result = spacing(x) +``` +### __Description__ + +Determines the distance between the argument __x__ and the nearest adjacent +number of the same type. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + +### __Returns__ + +The result is of the same type as the input argument __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_spacing +implicit none +integer, parameter :: sgl = selected_real_kind(p=6, r=37) +integer, parameter :: dbl = selected_real_kind(p=13, r=200) + + write(*,*) spacing(1.0_sgl) ! "1.1920929e-07" on i686 + write(*,*) spacing(1.0_dbl) ! "2.220446049250313e-016" on i686 +end program demo_spacing +``` + Results: +```text + 1.19209290E-07 + 2.2204460492503131E-016 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set\_exponent__(3)](SET_EXPONENT), +[__tiny__(3)](TINY) + + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SPREAD.md b/source/learn/intrinsics/_pages/SPREAD.md new file mode 100644 index 000000000..96708c4bb --- /dev/null +++ b/source/learn/intrinsics/_pages/SPREAD.md @@ -0,0 +1,127 @@ +## spread +### __Name__ + +__spread__(3) - \[ARRAY CONSTRUCTION\] Add a dimension to an array + + +### __Syntax__ +```fortran +result = spread(source, dim, ncopies) + + TYPE(kind=KIND) function spread(source, dim, ncopies) + + TYPE(kind=KIND) :: source(..) + integer,intent(in) :: dim + integer,intent(in) :: ncopies +``` +### __Description__ + +Replicates a __source__ array __ncopies__ times along a specified +dimension __dim__. + +If SOURCE is scalar, the shape of the result is (MAX (NCOPIES, 0)). +and each element of the result has a value equal to SOURCE. + +### __Arguments__ + + - __source__ + : Shall be a scalar or an array of any type and a rank less than + fifteen. + + - __dim__ + : Shall be a scalar of type _integer_ with a value in the range from + __1__ to __n+1__, where __n__ equals the rank of __source__. + + - __ncopies__ + : Shall be a scalar of type _integer_. + +### __Returns__ + +The result is an array of the same type as __source__ and has rank __n+1__ +where __n__ equals the rank of __source__. + + +### __Examples__ + +Sample program: + +```fortran +program demo_spread +implicit none +integer :: a = 1, b(2) = [ 1, 2 ] + + write(*,*) spread(a, 1, 2) ! "1 1" + write(*,*) spread(b, 1, 2) ! "1 1 2 2" + +end program demo_spread + +program example_spread +! Author: +! John Burkardt, 03 July 2006 +implicit none + ! +integer ( kind = 4 ) a1(4,3) +integer ( kind = 4 ) a2(3,4) +integer i +integer ( kind = 4 ) s +integer ( kind = 4 ) v(4) + ! + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) 'TEST_SPREAD' + write ( *, '(a)' ) ' SPREAD is a FORTRAN90 function which replicates' + write ( *, '(a)' ) ' an array by adding a dimension.' + write ( *, '(a)' ) ' ' + ! + s = 99 + ! + write ( *, '(a,i6)' ) ' Suppose we have a scalar S = ', s + write ( *, '(a)' ) ' ' + ! + v = spread ( s, 1, 4 ) + ! + write ( *, '(a)' ) ' V = spread ( s, 1, 4 )' + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) ' adds a new dimension (1) of extent 4' + write ( *, '(a)' ) ' ' + write ( *, '(4i6)' ) v(1:4) + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) ' Now first reset V to (1,2,3,4)' + v = [ 1, 2, 3, 4 ] + ! + a1 = spread ( v, 2, 3 ) + ! + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) ' A1 = spread ( v, 2, 3 )' + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) ' adds a new dimension (2) of extent 3' + write ( *, '(a)' ) ' ' + do i = 1, 4 + write ( *, '(3i6)' ) a1(i,1:3) + end do + ! + a2 = spread ( v, 1, 3 ) + ! + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) ' A2 = spread ( v, 1, 3 )' + write ( *, '(a)' ) ' ' + write ( *, '(a)' ) ' adds a new dimension (1) of extent 3' + write ( *, '(a)' ) ' ' + do i = 1, 3 + write ( *, '(4i6)' ) a2(i,1:4) + end do +end program example_spread +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__pack__(3)](PACK), +[__unpack__(3)](UNPACK), +[__merge__(3)](MERGE), +[__pack__(3)](PACK), +[__unpack__(3)](UNPACK) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SQRT.md b/source/learn/intrinsics/_pages/SQRT.md new file mode 100644 index 000000000..58fe8def8 --- /dev/null +++ b/source/learn/intrinsics/_pages/SQRT.md @@ -0,0 +1,88 @@ +## sqrt +### __Name__ + +__sqrt__(3) - \[MATHEMATICS\] Square-root function + +### __Syntax__ +```fortran +result = sqrt(x) + + TYPE(kind=KIND) elemental function sqrt(x) result(value) + TYPE(kind=KIND),intent(in) :: x + TYPE(kind=KIND) :: value +``` +Where TYPE may be _real_ or _complex_ and __KIND__ may be any +kind valid for the declared type. + +### __Description__ + +__sqrt(x)__ computes the principal square root of __x__. + +In mathematics, a square root of a number __x__ is a number __y__ such +that __y*y = x__. + +The number whose square root is being considered is known as the +_radicand_. + +Every nonnegative number _x_ has two square roots of the same unique +magnitude, one positive and one negative. The nonnegative square root +is called the principal square root. + +The principal square root of 9 is 3, for example, even though (-3)*(-3) +is also 9. + +A _real_, _radicand_ must be positive. + +Square roots of negative numbers are a special case of complex numbers, +where the components of the _radicand_ need not be positive in order to +have a valid square root. + +### __Arguments__ + + - __x__ + : If __x__ is real its value must be greater than or equal to zero. + The type shall be _real_ or _complex_. + +### __Returns__ + +The return value is of type _real_ or _complex_. The kind type parameter is +the same as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_sqrt +use, intrinsic :: iso_fortran_env, only : real_kinds, & + & real32, real64, real128 +implicit none +real(kind=real64) :: x, x2 +complex :: z, z2 + + x = 2.0_real64 + z = (1.0, 2.0) + write(*,*)x,z + + x2 = sqrt(x) + z2 = sqrt(z) + write(*,*)x2,z2 + + x2 = x**0.5 + z2 = z**0.5 + write(*,*)x2,z2 + +end program demo_sqrt +``` + Results: +```text + 2.0000000000000000 (1.00000000,2.00000000) + 1.4142135623730951 (1.27201962,0.786151350) + 1.4142135623730951 (1.27201962,0.786151350) +``` + +### __Standard__ + +FORTRAN 77 and later + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/STORAGE_SIZE.md b/source/learn/intrinsics/_pages/STORAGE_SIZE.md new file mode 100644 index 000000000..a5380eb27 --- /dev/null +++ b/source/learn/intrinsics/_pages/STORAGE_SIZE.md @@ -0,0 +1,60 @@ +## storage\_size +### __Name__ + +__storage\_size__(3) - \[BIT:INQUIRY\] Storage size in bits + + +### __Syntax__ +```fortran +result = storage_size(a, kind) +``` +### __Description__ + +Returns the storage size of argument __a__ in bits. + +### __Arguments__ + + - __a__ + : Shall be a scalar or array of any type. + + - __kind__ + : (Optional) shall be a scalar integer constant expression. + +### __Returns__ + +The result is a scalar integer with the kind type parameter specified by +__kind__ (or default integer type if __kind__ is missing). The result value is +the size expressed in bits for an element of an array that has the +dynamic type and type parameters of __a__. + +### __Examples__ + +Sample program + +```fortran +program demo_storage_size +implicit none + write(*,*)'size of integer ',storage_size(0) + write(*,*)'size of real ',storage_size(0.0) + write(*,*)'size of logical ',storage_size(.true.) + write(*,*)'size of complex ',storage_size((0.0,0.0)) + write(*,*)'size of integer array ',storage_size([0,1,2,3,4,5,6,7,8,9]) +end program demo_storage_size +``` + Results: +```text + size of integer 32 + size of real 32 + size of logical 32 + size of complex 64 + size of integer array 32 +``` +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__c\_sizeof__(3)](C_SIZEOF) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SUM.md b/source/learn/intrinsics/_pages/SUM.md new file mode 100644 index 000000000..f4640a826 --- /dev/null +++ b/source/learn/intrinsics/_pages/SUM.md @@ -0,0 +1,88 @@ +## sum +### __Name__ + +__sum__(3) - \[ARRAY REDUCTION\] sum the elements of an array + + +### __Syntax__ +```fortran + result = sum(array[, mask]) + result = sum(array, dim[, mask]) +``` +### __Description__ + +Adds the elements of ARRAY along dimension DIM if the corresponding +element in MASK is TRUE. + +### __Arguments__ + + - __array__ + : Shall be an array of type _integer_, _real_ or _complex_. + + - __dim__ + : (Optional) shall be a scalar of type _integer_ with a value in the + range from 1 to n, where n equals the rank of ARRAY. + + - __mask__ + : (Optional) shall be of type _logical_ and either be a scalar or an + array of the same shape as ARRAY. + +### __Returns__ + +The result is of the same type as ARRAY. + +If __dim__(3) is absent, a scalar with the sum of all elements in ARRAY +is returned. Otherwise, an array of rank n-1, where n equals the rank of +ARRAY, and a shape similar to that of ARRAY with dimension DIM dropped +is returned. + +### __Examples__ + +Sample program: + +```fortran +program simple_sum +implicit none +integer :: x(5) = [ 1, 2, 3, 4 ,5 ] + print *, sum(x) ! all elements, sum = 15 + print *, sum(x, mask=mod(x, 2)==1) ! odd elements, sum = 9 +end program simple_sum +``` +Demonstrate Fortran 90 SUM function with MASK option + +```fortran +program demo_sum +! John Mahaffy 2/16/96 +implicit none +integer nd, ndh, nduh, j +parameter (nd=10,ndh=nd/2, nduh=nd-ndh) +real csum, cpsum, cbpsum +real, dimension(nd):: c=[(j, j=-1,nd-2)], b +data b/ndh*-1.0, nduh*2.0/ + csum= sum(c(1:nd)) + cpsum= sum (c(1:nd), mask=c.gt.0) + cbpsum= sum(c(1:nd), mask=b.gt.0.0) + print *, 'Sum of all elements in c = ' , csum + print *, 'Sum of Positive elements in c = ', cpsum + print *, 'Sum of elements in c when corresponding elements in b>0', & + & ' =', cbpsum +end program demo_sum +``` + +Results: + +```text + Sum of all elements in c = 35.0000000 + Sum of Positive elements in c = 36.0000000 + Sum of elements in c when corresponding elements in b>0 = 30.0000000 +``` + +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +intrinsics + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/SYSTEM_CLOCK.md b/source/learn/intrinsics/_pages/SYSTEM_CLOCK.md new file mode 100644 index 000000000..eba282224 --- /dev/null +++ b/source/learn/intrinsics/_pages/SYSTEM_CLOCK.md @@ -0,0 +1,102 @@ +## system_clock +### __Name__ + +__system\_clock__(3) - \[SYSTEM:TIME\] Return numeric data from a real-time clock. + + +### __Syntax__ +```fortran +subroutine system_clock(count, count_rate, count_max) + + integer,intent(out),optional :: count + integer,intent(out),optional :: count_rate + ! or ! + real,intent(out),optional :: count_rate + integer,intent(out),optional :: count_max +``` +### __Description__ + +__system\_clock__ lets you measure durations of time with the precision of +the smallest time increment generally available on a system by returning +processor-dependent values based on the current value of the processor +clock. The __clock__ value is incremented by one for each clock count until +the value __count\_max__ is reached and is then reset to zero at the next +count. __clock__ therefore is a modulo value that lies in the range __0 to +count\_max__. __count\_rate__ and __count\_max__ are assumed constant (even though +CPU rates can vary on a single platform). + +__count\_rate__ is system dependent and can vary depending on the kind of +the arguments. + +If there is no clock, or querying the clock fails, __count__ is set to +__-huge(count)__, and __count\_rate__ and __count\_max__ are set to zero. + +__system\_clock__ is typically used to measure short time intervals (system +clocks may be 24-hour clocks or measure processor clock ticks since +boot, for example). It is most often used for measuring or tracking the +time spent in code blocks in lieu of using profiling tools. + +### __Arguments__ + + - __count__ + : (optional) shall be an _integer_ scalar. It is assigned a + processor-dependent value based on the current value of the + processor clock, or __-huge(count)__ if there is no clock. The + processor-dependent value is incremented by one for each clock count + until the value __count\_max__ is reached and is reset to zero at the + next count. It lies in the range __0__ to __count\_max__ if there is a + clock. + + - __count\_rate__ + : (optional) shall be an _integer_ or _real_ scalar. It is assigned a + processor-dependent approximation to the number of processor clock + counts per second, or zero if there is no clock. + + - __count\_max__ + : (optional) shall be an _integer_ scalar. It is assigned the maximum + value that __COUNT__ can have, or zero if there is no clock. + +### __Examples__ + +Sample program: +```fortran +program demo_system_clock +implicit none +integer, parameter :: wp = kind(1.0d0) +integer :: count, count_rate, count_max +integer :: start, finish +real :: time_read + + call system_clock(count, count_rate, count_max) + write(*,*) count, count_rate, count_max + + call system_clock(start, count_rate) + ! <<<< code to time + call system_clock(finish) + time_read=(finish-start)/real(count_rate,wp) + write(*,'(a30,1x,f7.4,1x,a)') 'time * : ', time_read, ' seconds' + +end program demo_system_clock +``` +If the processor clock is a 24-hour clock that registers time at +approximately 18.20648193 ticks per second, at 11:30 A.M. the reference +```fortran + call system_clock (count = c, count_rate = r, count_max = m) +``` +defines + +```text + C = (11*3600+30*60)*18.20648193 = 753748, + R = 18.20648193, and + M = 24*3600*18.20648193-1 = 1573039. +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__date\_and\_time__(3)](DATE_AND_TIME), +[__cpu\_time__(3)](CPU_TIME) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/TAN.md b/source/learn/intrinsics/_pages/TAN.md new file mode 100644 index 000000000..53c0301df --- /dev/null +++ b/source/learn/intrinsics/_pages/TAN.md @@ -0,0 +1,51 @@ +## tan +### __Name__ + +__tan__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Tangent function + + +### __Syntax__ +```fortran +result = tan(x) +``` +### __Description__ + +__tan(x)__ computes the tangent of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value has the same type and kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_tan +use, intrinsic :: iso_fortran_env, only : real_kinds, & +& real32, real64, real128 +implicit none +real(kind=real64) :: x = 0.165_real64 + write(*,*)x, tan(x) +end program demo_tan +``` + Results: +```text + 0.16500000000000001 0.16651386310913616 +``` +### __Standard__ + +FORTRAN 77 and later. For a complex argument, Fortran 2008 or later. + +### __See Also__ + +[__atan__(3)](ATAN), +[__cos__(3)](COS), +[__sin__(3)](SIN) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/TANH.md b/source/learn/intrinsics/_pages/TANH.md new file mode 100644 index 000000000..8d9e0ce33 --- /dev/null +++ b/source/learn/intrinsics/_pages/TANH.md @@ -0,0 +1,55 @@ +## tanh +### __Name__ + +__tanh__(3) - \[MATHEMATICS:TRIGONOMETRIC\] Hyperbolic tangent function + + +### __Syntax__ +```fortran +x = tanh(x) +``` +### __Description__ + +__tanh(x)__ computes the hyperbolic tangent of __x__. + +### __Arguments__ + + - __x__ + : The type shall be _real_ or _complex_. + +### __Returns__ + +The return value has same type and kind as __x__. If __x__ is complex, the +imaginary part of the result is in radians. If __x__ is _real_, the return +value lies in the range + +``` + -1 <= tanh(x) <= 1. +``` +### __Examples__ + +Sample program: + +```fortran +program demo_tanh +use, intrinsic :: iso_fortran_env, only : & +& real_kinds, real32, real64, real128 +implicit none +real(kind=real64) :: x = 2.1_real64 + write(*,*)x, tanh(x) +end program demo_tanh +``` + Results: +```text + 2.1000000000000001 0.97045193661345386 +``` +### __Standard__ + +FORTRAN 77 and later, for a complex argument Fortran 2008 or later + +### __See Also__ +- [Wikipedia:hyperbolic functions](https://en.wikipedia.org/wiki/Hyperbolic_functions) + +[__atanh__(3)](ATANH) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/THIS_IMAGE.md b/source/learn/intrinsics/_pages/THIS_IMAGE.md new file mode 100644 index 000000000..8f8e13448 --- /dev/null +++ b/source/learn/intrinsics/_pages/THIS_IMAGE.md @@ -0,0 +1,81 @@ +## this\_image +### __Name__ + +__this\_image__(3) - \[COLLECTIVE\] Cosubscript index of this image + + +### __Syntax__ +```fortran +result = this_image() result = this_image(distance) & + & result = this_image(coarray, dim) +``` +### __Description__ + +Returns the cosubscript for this image. + +### __Arguments__ + + - __distance__ + : (optional, __intent(in)__) Nonnegative scalar integer (not permitted + together with __coarray__). + + - __coarray__ + : Coarray of any type (optional; if __dim__ present, required). + + - __dim__ + : default integer scalar (optional). If present, __dim__ shall be between + one and the corank of __coarray__. + +### __Returns__ + +Default integer. If __coarray__ is not present, it is scalar; if __distance__ is +not present or has value __0__, its value is the image index on the invoking +image for the current team, for values smaller or equal distance to the +initial team, it returns the image index on the ancestor team which has +a distance of __distance__ from the invoking team. If __distance__ is larger +than the distance to the initial team, the image index of the initial +team is returned. Otherwise when the __coarray__ is present, if __dim__ is not +present, a rank-1 array with corank elements is returned, containing the +cosubscripts for __coarray__ specifying the invoking image. If __dim__ is +present, a scalar is returned, with the value of the __dim__ element of +__this\_image(coarray)__. + +### __Examples__ + +Sample program: + +```fortran +program demo_this_image +implicit none +integer :: value[*] +integer :: i + value = this_image() + sync all + if (this_image() == 1) then + do i = 1, num_images() + write(*,'(2(a,i0))') 'value[', i, '] is ', value[i] + end do + endif +end program demo_this_image +``` + Results: +```text + value[1] is 1 +``` +! +! Check whether the current image is the initial image +if (this_image(huge(1)) /= this_image()) +error stop "something is rotten here" +``` + +### __Standard__ + +Fortran 2008 and later. With DISTANCE argument, TS 18508 +or later + +### __See Also__ + +[__num\_images__(3)](NUM_IMAGES), +[__image\_index__(3)](IMAGE_INDEX) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/TINY.md b/source/learn/intrinsics/_pages/TINY.md new file mode 100644 index 000000000..47f3249c1 --- /dev/null +++ b/source/learn/intrinsics/_pages/TINY.md @@ -0,0 +1,69 @@ +## tiny +### __Name__ + +__tiny__(3) - \[NUMERIC MODEL\] Smallest positive number of a real kind + + +### __Syntax__ +```fortran +result = tiny(x) + real(kind=KIND) function(x) + real(kind=KIND) :: x +``` + where KIND may be any kind supported by type _real_ + +### __Description__ + +__tiny(x)__ returns the smallest positive (non zero) number of the type +and kind of __x__. + +### __Arguments__ + + - __x__ + : Shall be of type _real_. + +### __Returns__ + +The smallest positive value for the _real_ type of the specified kind. + +The return value is of the same type and kind as __x__. + +### __Examples__ + +Sample program: + +```fortran +program demo_tiny +implicit none + print *, 'default real is from',tiny(0.0) ,'to',huge(0.0) + print *, 'doubleprecision is from ',tiny(0.0d0),'to',huge(0.0d0) +end program demo_tiny +``` +Results: +```text + default real is from 1.17549435E-38 to 3.40282347E+38 + doubleprecision is from 2.2250738585072014E-308 to 1.7976931348623157E+308 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__digits__(3)](DIGITS), +[__epsilon__(3)](EPSILON), +[__exponent__(3)](EXPONENT), +[__fraction__(3)](FRACTION), +[__huge__(3)](HUGE), +[__maxexponent__(3)](MAXEXPONENT), +[__minexponent__(3)](MINEXPONENT), +[__nearest__(3)](NEAREST), +[__precision__(3)](PRECISION), +[__radix__(3)](RADIX), +[__range__(3)](RANGE), +[__rrspacing__(3)](RRSPACING), +[__scale__(3)](SCALE), +[__set_exponent__(3)](SET_EXPONENT), +[__spacing__(3)](SPACING) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/TRAILZ.md b/source/learn/intrinsics/_pages/TRAILZ.md new file mode 100644 index 000000000..83a0daa64 --- /dev/null +++ b/source/learn/intrinsics/_pages/TRAILZ.md @@ -0,0 +1,114 @@ +## trailz +### __Name__ + +__trailz__(3) - \[BIT:COUNT\] Number of trailing zero bits of an integer + +### __Syntax__ +```fortran + result = trailz(i) integer :: result + integer(kind=NNN),intent(in) :: i +``` +### __Description__ + +__trailz(3)__ returns the number of trailing zero bits of an _integer_ value + +### __Arguments__ + + - __i__ + : Shall be of type _integer_. + +### __Returns__ + +The type of the return value is the default _integer_. If all the bits of +I are zero, the result value is __bit\_size(i)__. + +### __Examples__ + +Sample program: + +```fortran +program demo_trailz +use, intrinsic :: iso_fortran_env, only : integer_kinds, & +& int8, int16, int32, int64 +implicit none +integer(kind=int64) :: i, value + write(*,*)'Default integer:' + write(*,*)'bit_size=',bit_size(0) + write(*,'(1x,i3,1x,i3,1x,b0)')-1,trailz(1),-1 + write(*,'(1x,i3,1x,i3,1x,b0)')0,trailz(0),0 + write(*,'(1x,i3,1x,i3,1x,b0)')1,trailz(1),1 + write(*,'(" huge(0)=",i0,1x,i0,1x,b0)') & + & huge(0),trailz(huge(0)),huge(0) + write(*,*) + write(*,*)'integer(kind=int64):' + + do i=-1,62,5 + value=2**i + write(*,'(1x,i19,1x,i3)')value,trailz(value) + enddo + value=huge(i) + write(*,'(1x,i19,1x,i3,"(huge(0_int64))")')value,trailz(value) + + do i=-1,62,5 + value=2**i + write(*,'(1x,i3,2x,b64.64)')i,value + enddo + value=huge(i) + write(*,'(1x,a,1x,b64.64)') "huge",value + +end program demo_trailz +``` + +Results: + +``` + Default integer: + bit_size= 32 + -1 0 11111111111111111111111111111111 + 0 32 0 + 1 0 1 + huge(0)=2147483647 0 1111111111111111111111111111111 + + integer(kind=int64): + 0 64 + 16 4 + 512 9 + 16384 14 + 524288 19 + 16777216 24 + 536870912 29 + 17179869184 34 + 549755813888 39 + 17592186044416 44 + 562949953421312 49 + 18014398509481984 54 + 576460752303423488 59 + 9223372036854775807 0(huge(0_int64)) + -1 0000000000000000000000000000000000000000000000000000000000000000 + 4 0000000000000000000000000000000000000000000000000000000000010000 + 9 0000000000000000000000000000000000000000000000000000001000000000 + 14 0000000000000000000000000000000000000000000000000100000000000000 + 19 0000000000000000000000000000000000000000000010000000000000000000 + 24 0000000000000000000000000000000000000001000000000000000000000000 + 29 0000000000000000000000000000000000100000000000000000000000000000 + 34 0000000000000000000000000000010000000000000000000000000000000000 + 39 0000000000000000000000001000000000000000000000000000000000000000 + 44 0000000000000000000100000000000000000000000000000000000000000000 + 49 0000000000000010000000000000000000000000000000000000000000000000 + 54 0000000001000000000000000000000000000000000000000000000000000000 + 59 0000100000000000000000000000000000000000000000000000000000000000 + huge 0111111111111111111111111111111111111111111111111111111111111111 +``` + +### __Standard__ + +Fortran 2008 and later + +### __See Also__ + +[__bit\_size__(3)](BIT_SIZE), +[__popcnt__(3)](POPCNT), +[__poppar__(3)](POPPAR), +[__leadz__(3)](LEADZ) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/_pages/TRANSFER.md b/source/learn/intrinsics/_pages/TRANSFER.md new file mode 100644 index 000000000..b021b23db --- /dev/null +++ b/source/learn/intrinsics/_pages/TRANSFER.md @@ -0,0 +1,104 @@ +## transfer +### __Name__ + +__transfer__(3) - \[TYPE:MOLD\] Transfer bit patterns + + +### __Syntax__ +```fortran +result = transfer(source, mold, size) +``` +### __Description__ + +Interprets the bitwise representation of __source__ in memory as if it +is the representation of a variable or array of the same type and type +parameters as __mold__. + +This is approximately equivalent to the C concept of \*casting\* one +type to another. + +### __Arguments__ + + - __source__ + : Shall be a scalar or an array of any type. + + - __mold__ + : Shall be a scalar or an array of any type. + + - __size__ + : (Optional) shall be a scalar of type _integer_. + +### __Returns__ + +The result has the same type as __mold__, with the bit level representation +of __source__. If __size__ is present, the result is a one-dimensional array of +length __size__. If __size__ is absent but __mold__ is an array (of any size or +shape), the result is a one-dimensional array of the minimum length +needed to contain the entirety of the bitwise representation of __source__. +If __size__ is absent and __mold__ is a scalar, the result is a scalar. + +If the bitwise representation of the result is longer than that of +__source__, then the leading bits of the result correspond to those of +__source__ and any trailing bits are filled arbitrarily. + +When the resulting bit representation does not correspond to a valid +representation of a variable of the same type as __mold__, the results are +undefined, and subsequent operations on the result cannot be guaranteed +to produce sensible behavior. For example, it is possible to create +_logical_ variables for which __var__ and .not. var both appear to be true. + +### __Examples__ + +Sample program: +```fortran +program demo_transfer +use,intrinsic :: iso_fortran_env, only : int32, real32 +integer(kind=int32) :: i = 2143289344 +real(kind=real32) :: x +character(len=10) :: string +character(len=1) :: chars(10) + x=transfer(i, 1.0) ! prints "nan" on i686 + ! the bit patterns are the same + write(*,'(b0,1x,g0)')x,x ! create a NaN + write(*,'(b0,1x,g0)')i,i + + ! a string to an array of characters + string='abcdefghij' + chars=transfer(string,chars) + write(*,'(*("[",a,"]":,1x))')string + write(*,'(*("[",a,"]":,1x))')chars +end program demo_transfer +``` +Results: +```text + 1111111110000000000000000000000 NaN + 1111111110000000000000000000000 2143289344 + [abcdefghij] + [a] [b] [c] [d] [e] [f] [g] [h] [i] [j] +``` +### __Comments__ + +_Joe Krahn_: Fortran uses __molding__ rather than __casting__. + +Casting, as in C, is an in-place reinterpretation. A cast is a device +that is built around an object to change its shape. + +Fortran TRANSFER reinterprets data out-of-place. It can be considered +__molding__ rather than casting. A __mold__ is a device that +confers a shape onto an object placed into it. + +The advantage of molding is that data is always valid in the context +of the variable that holds it. For many cases, a decent compiler should +optimize TRANSFER into a simple assignment. + +There are disadvantages of this approach. It is problematic to define a +union of data types because you must know the largest data object, which +can vary by compiler or compile options. In many cases, an EQUIVALENCE +would be far more effective, but Fortran Standards committees seem +oblivious to the benefits of EQUIVALENCEs when used sparingly. + +### __Standard__ + +Fortran 90 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/TRANSPOSE.md b/source/learn/intrinsics/_pages/TRANSPOSE.md new file mode 100644 index 000000000..1decda18c --- /dev/null +++ b/source/learn/intrinsics/_pages/TRANSPOSE.md @@ -0,0 +1,86 @@ +## transpose +### __Name__ + +__transpose__(3) - \[ARRAY MANIPULATION\] Transpose an array of rank two + + +### __Syntax__ +```fortran +result = transpose(matrix) +``` +### __Description__ + +Transpose an array of rank two. Element (i, j) of the result has the +value __matrix(j, i)__, for all i, j. + +### __Arguments__ + + - __matrix__ + : Shall be an array of any type and have a rank of two. + +### __Returns__ + +The result has the same type as __matrix__, and has shape \[ m, n \] if +__matrix__ has shape \[ n, m \]. + +### __Examples__ + +Sample program: + +```fortran +program demo_transpose +implicit none +integer,save :: xx(3,5)= reshape([& + 1, 2, 3, 4, 5, & + 10, 20, 30, 40, 50, & + 11, 22, 33, 44, -1055 & + ],shape(xx),order=[2,1]) + +call print_matrix_int('xx array:',xx) +call print_matrix_int('xx array transposed:',transpose(xx)) + +contains + +subroutine print_matrix_int(title,arr) +! print small 2d integer arrays in row-column format +implicit none +character(len=*),intent(in) :: title +integer,intent(in) :: arr(:,:) +integer :: i +character(len=:),allocatable :: biggest + write(*,*)trim(title) ! print title + biggest=' ' ! make buffer to write integer into + ! find how many characters to use for integers + write(biggest,'(i0)')ceiling(log10(real(maxval(abs(arr)))))+2 + ! use this format to write a row + biggest='(" > [",*(i'//trim(biggest)//':,","))' + ! print one row of array at a time + do i=1,size(arr,dim=1) + write(*,fmt=biggest,advance='no')arr(i,:) + write(*,'(" ]")') + enddo +end subroutine print_matrix_int + +end program demo_transpose +``` + +Results: + +``` + xx array: + > [ 1, 2, 3, 4, 5 ] + > [ 10, 20, 30, 40, 50 ] + > [ 11, 22, 33, 44, -1055 ] + xx array transposed: + > [ 1, 10, 11 ] + > [ 2, 20, 22 ] + > [ 3, 30, 33 ] + > [ 4, 40, 44 ] + > [ 5, 50, -1055 ] +``` + +### __Standard__ + +Fortran 95 and later + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/TRIM.md b/source/learn/intrinsics/_pages/TRIM.md new file mode 100644 index 000000000..f0a8c5fb1 --- /dev/null +++ b/source/learn/intrinsics/_pages/TRIM.md @@ -0,0 +1,72 @@ +## trim +### __Name__ + +__trim__(3) - \[CHARACTER:WHITESPACE\] Remove trailing blank characters of a string + + +### __Syntax__ +```fortran +result = trim(string) +``` +### __Description__ + +Removes trailing blank characters of a string. + +### __Arguments__ + + - __string__ + : Shall be a scalar of type _character_. + +### __Returns__ + +A scalar of type _character_ which length is that of __string__ less the +number of trailing blanks. + +### __Examples__ + +Sample program: + +```fortran +program demo_trim +implicit none +character(len=10), parameter :: s = "gfortran " + write(*,*) len(s), len(trim(s)) ! "10 8", with/without trailing blanks + + ! with/without trailing blanks + write(*,*) len(s), len(trim(' leading')) + write(*,*) len(s), len(trim(' trailing ')) + write(*,*) len(s), len(trim(' ')) + +end program demo_trim +``` +Results: +```text + 10 8 + 10 10 + 10 11 + 10 0 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/UBOUND.md b/source/learn/intrinsics/_pages/UBOUND.md new file mode 100644 index 000000000..3b50d92e1 --- /dev/null +++ b/source/learn/intrinsics/_pages/UBOUND.md @@ -0,0 +1,116 @@ +## ubound +### __Name__ + +__ubound__(3) - \[ARRAY INQUIRY\] Upper dimension bounds of an array + +### __Syntax__ +```fortran +result = ubound(array, dim, kind) +``` +### __Description__ + +Returns the upper bounds of an array, or a single upper bound along the +__dim__ dimension. + +### __Arguments__ + + - __array__ + : Shall be an array, of any type. + + - __dim__ + : (Optional) Shall be a scalar _integer_. + + - __kind__ + : (Optional) An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ +is absent, the return value is of default integer kind. + +If __dim__ is absent, the result is an array of the upper bounds of +__array__. + +If __dim__ is present, the result is a scalar corresponding to the upper +bound of the array along that dimension. + +If __array__ is an expression rather than a whole array or array +structure component, or if it has a zero extent along the relevant +dimension, the upper bound is taken to be the number of elements along +the relevant dimension. + +### __Examples__ + +Note this function should not be used on assumed-size arrays or in any +function without an explicit interface. Errors can occur if there is no +interface defined. + +Sample program + +```fortran +! program demo_ubound +module m2_bounds +implicit none + +contains + +subroutine msub(arr) +!!integer,intent(in) :: arr(*) ! cannot be assumed-size array +integer,intent(in) :: arr(:) + write(*,*)'MSUB: LOWER=',lbound(arr),'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) +end subroutine msub + +end module m2_bounds + +use m2_bounds, only : msub +implicit none +interface + subroutine esub(arr) + integer,intent(in) :: arr(:) + end subroutine esub +end interface +integer :: arr(-10:10) + write(*,*)'MAIN: LOWER=',lbound(arr),'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) + call csub() + call msub(arr) + call esub(arr) +contains +subroutine csub + write(*,*)'CSUB: LOWER=',lbound(arr),'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) +end subroutine csub + +end + +subroutine esub(arr) +implicit none +integer,intent(in) :: arr(:) + ! WARNING: IF CALLED WITHOUT AN EXPLICIT INTERFACE + ! THIS WILL GIVE UNDEFINED ANSWERS (like 0,0,0) + write(*,*)'ESUB: LOWER=',lbound(arr),'UPPER=',ubound(arr), & + & 'SIZE=',size(arr) +end subroutine esub +!end program demo_ubound +``` +Results: +```text + MAIN: LOWER= -10 UPPER= 10 SIZE= 21 + CSUB: LOWER= -10 UPPER= 10 SIZE= 21 + MSUB: LOWER= 1 UPPER= 21 SIZE= 21 + ESUB: LOWER= 1 UPPER= 21 SIZE= 21 +``` +### __Standard__ + +Fortran 95 and later, with KIND argument Fortran 2003 +and later + +### __See Also__ + +[__lbound__(3)](LBOUND), +[__co\_ubound__(3)](CO_UBOUND), +[__co\_lbound__(3)(CO_LBOUND)] + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/UNPACK.md b/source/learn/intrinsics/_pages/UNPACK.md new file mode 100644 index 000000000..fc0396ecc --- /dev/null +++ b/source/learn/intrinsics/_pages/UNPACK.md @@ -0,0 +1,66 @@ +## unpack +### __Name__ + +__unpack__(3) - \[ARRAY CONSTRUCTION\] Store the elements of a vector in an array of higher rank + + +### __Syntax__ +```fortran +result = unpack(vector, mask, field) +``` +### __Description__ + +Store the elements of __vector__ in an array of higher rank. + +### __Arguments__ + + - __vector__ + : Shall be an array of any type and rank one. It shall have at least + as many elements as __mask__ has __.true.__ values. + + - __mask__ + : Shall be an array of type _logical_. + + - __field__ + : Shall be of the same type as __vector__ and have the same shape as __mask__. + +### __Returns__ + +The resulting array corresponds to __field__ with __.true.__ elements of __mask__ +replaced by values from __vector__ in array element order. + +### __Examples__ + +Sample program: + +```fortran +program demo_unpack +implicit none +integer :: vector(2) = [1,1] +logical :: mask(4) = [ .true., .false., .false., .true. ] +integer :: field(2,2) = 0, unity(2,2) + + ! result: unity matrix + unity = unpack(vector, reshape(mask, [2,2]), field) + write(*,*)unity,size(unity),shape(unity) + +end program demo_unpack +``` + Results: +```text + 1 0 0 1 4 + 2 2 +``` +### __Standard__ + +Fortran 95 and later + +### __See Also__ + +[__pack__(3)](PACK), +[__merge__(3)](MERGE), +[__pack__(3)](PACK), +[__spread__(3)](SPREAD), +[__unpack__(3)](UNPACK) + +####### fortran-lang intrinsic descriptions diff --git a/source/learn/intrinsics/_pages/VERIFY.md b/source/learn/intrinsics/_pages/VERIFY.md new file mode 100644 index 000000000..fde75225e --- /dev/null +++ b/source/learn/intrinsics/_pages/VERIFY.md @@ -0,0 +1,264 @@ +## verify +### __Name__ + +__verify__(3) - \[CHARACTER:SEARCH\] Scan a string for the absence of a set of characters + +### __Syntax__ +```fortran +result = verify(string, set, back, kind) + + integer(kind=KIND) elemental function verify(string,set,back,kind) + + character(len=*),intent(in) :: string + character(len=*),intent(in) :: set + logical,intent(in),optional :: back + integer,intent(in),optional :: KIND +``` +### __Description__ + +Verifies that all the characters in __string__ belong to the set of +characters in __set__ by identifying the first character in the string(s) +that is not in the set(s). + +If __back__ is either absent or equals __.false.__, this function +returns the position of the leftmost character of __string__ that is +not in __set__. + +If __back__ equals __.true.__, the rightmost position is returned. + +If all characters of __string__ are found in __set__, the result is zero. + +This makes it easy to verify strings are all uppercase or lowercase, +follow a basic syntax, only contain printable characters, and many of the +conditions tested for with the C routines +__isalnum__(3c), __isalpha__(3c), __isascii__(3c), __isblank__(3c), +__iscntrl__(3c), __isdigit__(3c), __isgraph__(3c), __islower__(3c), +__isprint__(3c), __ispunct__(3c), __isspace__(3c), __isupper__(3c), +and __isxdigit__(3c); but for a string as well an an array of characters. + +### __Arguments__ + + - __string__ + : Shall be of type _character_. + + - __set__ + : Shall be of type _character_. + + - __back__ + : shall be of type _logical_. + + - __kind__ + : An _integer_ initialization expression indicating the kind + parameter of the result. + +### __Returns__ + +The return value is of type _integer_ and of kind __kind__. If __kind__ +is absent, the return value is of default integer kind. + +### __Examples__ + +Sample program I: + +```fortran +program demo_verify +implicit none +character(len=*),parameter :: int='0123456789' +character(len=*),parameter :: hex='abcdef0123456789' +character(len=*),parameter :: low='abcdefghijklmnopqrstuvwxyz' +character(len=*),parameter :: upp='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +character(len=20):: string=' Howdy There!' +character(len=6) :: strings(2)=["Howdy ","there!"] +character(len=2) :: sets(2)=["de","gh"] + + write(*,*)'first non-blank character ',verify(string, ' ') + ! NOTE: same as len_trim(3) + write(*,*)'last non-blank character',verify(string, ' ',back=.true.) + + ! first non-lowercase non-blank character + write(*,*) verify(string,low//' ') + + !! elemental -- using arrays for both strings and for sets + + ! first character in "Howdy" not in "de", and first letter in "there!" + ! not in "gh" + write(*,*) verify(strings,sets) + + ! check each string from right to left for non-letter + write(*,*) 'last non-letter',verify(strings,upp//low,back=.true.) + + ! note character variables in an array have to be of same length + ! find last non-uppercase character in "Howdy" + ! and first non-lowercase in "There!" + write(*,*) verify(strings,[upp,low],back=[.true.,.false.]) + + write(*,*) verify("fortran", "", .true.) ! 7, found 'n' + ! 0' found none unmatched + write(*,*) verify("fortran", "nartrof") + + + !! CHECK IF STRING IS OF FORM NN-HHHHH + CHECK : block + logical :: lout + character(len=80) :: chars + + chars='32-af43d' + lout=.true. + + ! are the first two characters integer characters? + lout = lout.and.(verify(chars(1:2), int) == 0) + + ! is the third character a dash? + lout = lout.and.(verify(chars(3:3), '-') == 0) + + ! is remaining string a valid representation of a hex value? + lout = lout.and.(verify(chars(4:8), hex) == 0) + + if(lout)then + write(*,*)trim(chars),' passed' + endif + + endblock CHECK +end program demo_verify +``` + Results: +```text + first non-blank character 4 + last non-blank character 15 + 4 + 1 1 + last non-letter 6 6 + 6 6 + 7 + 0 + 32-af43d passed +``` +Sample program II: + +Determine if strings are valid integer representations +```fortran +program fortran_ints +implicit none +integer :: i +character(len=*),parameter :: ints(*)=[character(len=10) :: & + '+1 ', & + '3044848 ', & + '30.40 ', & + 'September ', & + '1 2 3', & + ' -3000 ', & + ' '] + + write(*,'("|",*(g0,"|"))') ints + write(*,'("|",*(1x,l1,8x,"|"))') isint(ints) + +contains + +elemental function isint(line) result (lout) +! +! determine if string is a valid integer representation +! ignoring trailing spaces and leading spaces +! +character(len=*),parameter :: digits='0123456789' +character(len=*),intent(in) :: line +character(len=:),allocatable :: name +logical :: lout + lout=.false. + ! make sure at least two characters long to simplify tests + name=adjustl(line)//' ' + ! blank string + if( name .eq. '' )return + ! allow one leading sign + if( verify(name(1:1),'+-') == 0 ) name=name(2:) + ! was just a sign + if( name .eq. '' )return + lout=verify(trim(name), digits) == 0 +end function isint + +end program fortran_ints +``` +Results: +```text +|+1 |3044848 |30.40 |September|1 2 3 | -3000 | | +| T | T | F | F | F | T | F | +``` + +Sample program III: + +Determine if strings represent valid Fortran symbol names +```fortran +program fortran_symbol_name +implicit none +integer :: i +character(len=*),parameter :: symbols(*)=[character(len=10) :: & + 'A_ ', & + '10 ', & + 'September ', & + 'A B', & + '_A ', & + ' '] + + write(*,'("|",*(g0,"|"))') symbols + write(*,'("|",*(1x,l1,8x,"|"))') fortran_name(symbols) + +contains + +elemental function fortran_name(line) result (lout) +! +! determine if a string is a valid Fortran name +! ignoring trailing spaces (but not leading spaces) +! +character(len=*),parameter :: int='0123456789' +character(len=*),parameter :: lower='abcdefghijklmnopqrstuvwxyz' +character(len=*),parameter :: upper='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +character(len=*),parameter :: allowed=upper//lower//int//'_' + +character(len=*),intent(in) :: line +character(len=:),allocatable :: name +logical :: lout + name=trim(line) + if(len(name).ne.0)then + ! first character is alphameric + lout = verify(name(1:1), lower//upper) == 0 & + ! other characters are allowed in a symbol name + & .and. verify(name,allowed) == 0 & + ! allowable length + & .and. len(name) <= 63 + else + lout = .false. + endif +end function fortran_name + +end program fortran_symbol_name +``` + +Results: + +```text +|A_ |10 |September |A B |_A | | +| T | F | T | F | F | F | +``` + +### __Standard__ + +Fortran 95 and later, with __kind__ argument - Fortran 2003 and later + +### __See Also__ + +Functions that perform operations on character strings, return lengths +of arguments, and search for certain arguments: + + - __Elemental:__ + [__adjustl__(3)](ADJUSTL), + [__adjustr__(3)](ADJUSTR), + [__index__(3)](INDEX), + [__scan__(3)](SCAN), + [__verify__(3)](VERIFY) + + - __Nonelemental:__ + [__len\_trim__(3)](LEN_TRIM), + [__len__(3)](LEN), + [__repeat__(3)](REPEAT), + [__trim__(3)](TRIM) + +####### fortran-lang intrinsic descriptions (license: MIT) @urbanjost diff --git a/source/learn/intrinsics/index.md b/source/learn/intrinsics/index.md new file mode 100644 index 000000000..ed16da7e8 --- /dev/null +++ b/source/learn/intrinsics/index.md @@ -0,0 +1,155 @@ +--- +layout: book +title: Fortran Intrinsics +permalink: /learn/intrinsics +--- + +# Fortran Intrinsics + +This is a collection of extended descriptions of the Fortran intrinsics +based on the reference document +"[Current F2018 Working Document as of April 2018](http://isotc.iso.org/livelink/livelink?func=ll&objId=19442438&objAction=Open)". +Vendor-specific extensions are not included. + +### ☛[Array Operations](ARRAY_index) +#### Properties and attributes of arrays +### ☛[Mathematics](MATH_index) +#### General mathematical functions +### ☛[Type and Kind](TYPE_index) +### ☛[Numeric](NUMERIC_index) +#### Manipulation and properties of numeric values +### ☛[Transformational](TRANSFORM_index) +#### Matrix multiplication, Dot product, array shifts, +### ☛[General State](STATE_index) +#### General and miscellaneous intrinsics on state of variables and I/O +### ☛[Character](CHARACTER_index) +#### basic procedures specifically for manipulating _character_ variables +### ☛[System Environment](SYSTEM_index) +#### accessing external system information such as environmental variables, command line arguments, date and timing data ... +### ☛[C Interface](C_index) +#### procedures useful for binding to C interfaces +### ☛[Bit-level](BIT_index) +#### bit-level manipulation and inquiry of values0 +### ☛[Parallel Programming](PARALLEL_index) +#### Parallel programming using co-arrays and co-indexing +### ☛[Numeric Model](MODEL_index) +#### numeric compiler-specific numeric model information +### ☛[Compiler Information](COMPILER_index) +#### information about compiler version and compiler options used for building + +## Overview +The standard documents and most vendor-supplied descriptions of +the intrinsics are often very brief and concise to the point of the +functionality of the intrinsics being obscure, particularly to someone +unfamiliar with the procedure. + +By describing the procedures here + * in greater detail + * with a working example + * providing links to additional resources + (including additional documents at fortran-lang.org and related + discussions in Fortran Discourse) + +these documents strive to be a valuable asset for Fortran programmers. + +This is a community-driven resource and everyone is encouraged to contribute +to the documents. For contribution guidelines see +[MINIBOOKS](https://github.com/fortran-lang/fortran-lang.org/blob/master/MINIBOOKS.md) +and the following Copyright guidelines. + +## See Also + - The [Fortran stdlib](https://stdlib.fortran-lang.org/) project + - [fpm(1)](https://fortran-lang.org/packages/fpm) packages, many of which are general-purpose libraries/modules + +## Experimental + + - [review by procedure ](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byprocedure.html) + + - [review by header ](http://www.urbanjost.altervista.org/SUPPLEMENTS/slidy_byheader.html) + + - [fman(1)](http://www.urbanjost.altervista.org/SUPPLEMENTS/fman.f90) A self-contained Fortran program that + lets you view the non-graphical plain ASCII portions of the + documentation from a terminal interface. Compile the program and + enter "./fman --help" for directions. + + - [man pages](http://www.urbanjost.altervista.org/SUPPLEMENTS/fortran.tgz) A gzipped tar(1) file containing + early versions of man-pages derived from the markdown documents. + + Typical installation on a Linux platform as an administrator ( but it varies) : +```bash + # as the administrator + cd /usr/share + tar xvfz /tmp/fortran.tgz + cd man + mandb -c +``` + then anyone on that plaform can enter commands like +```bash + man sinh.3fortran # specifically show Fortran sinh(3) documentation + man -k . -s 3fortran # list all fortran pages + man -s 3fortran --regex '.*' |col -b # show all Fortran intrinsics +``` + See man(1) (ie. enter "man man") for more information. + + If you can only install the pages on your own ID, try + +```bash + # as a user, placing the files in ~/man: + cd + tar xvfz /tmp/fortran.tgz + cd man + mandb -c + export MANPATH="$MANPATH:$HOME/man" + export MANWIDTH=80 +``` + + Still debating whether having to keep the document limited to ANSI + characters is worth-while so these formats can be generated, and + still having issues converting the markdown to the proper formats. + +## Text Content Copyrights + +Many of the documents presented here are modified versions of man-pages from the +[Fortran Wiki](https://fortranwiki.org) +and as such are available under the terms of the GNU +Free Documentation License [__GFDL__](GNU_Free_Documentation_License.md) +with no invariant sections, front-cover texts, or back-cover texts. + +If you contribute to this site by modifying the files marked as GFDL, +you thereby agree to license the contributed material to the public +under the GFDL (version 1.2 or any later version published by the Free +Software Foundation, with no invariant sections, front-cover texts, +or back-cover texts). + +If you contribute new material you thereby agree to release it under +the MIT license, and should indicate this by placing MIT on the +specially-formatted last line. For example, change +```text +###### fortran-lang intrinsic descriptions +``` +to +```text +###### fortran-lang intrinsic descriptions (Iicense: MIT) @urbanjost +``` + +###### Written in [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) [kramdown](https://kramdown.gettalong.org/syntax.html) + + + +````{toctree} +:hidden: +ARRAY_index +BIT_index +CHARACTER_index +COMPILER_index +C_index +MATH_index +MODEL_index +NUMERIC_index +PARALLEL_index +STATE_index +SYSTEM_index +TRANSFORM_index +TYPE_index +GNU_Free_Documentation_License +```` diff --git a/source/learn/os_setup/choose_compiler.md b/source/learn/os_setup/choose_compiler.md new file mode 100644 index 000000000..3f6bcc339 --- /dev/null +++ b/source/learn/os_setup/choose_compiler.md @@ -0,0 +1,14 @@ +--- +layout: book +title: Choosing a compiler +permalink: /learn/os_setup/choose_compiler +sd_hide_title: true +--- + +# Choosing a compiler + +A comprehensive list of available compilers is provided [here]({{site.baseurl}}/compilers). In this guide, we will focus only on those that are free to install and use. + +Of those listed at the link above, open source and free are GFortran (with OpenCoarrays), Flang, and LFortran. NVIDIA and Intel offer their compilers for free and as of the latest update of this tutorial, NVFortran (NVIDIA) is available only for Linux systems, while Intel oneAPI is available for Linux, Windows and macOS systems. Both are well documented and readers can find detailed information about installing and using them on their websites respectively. + +In the next chapter, we use GFortran for the tutorial as it is a mature open source compiler. We encourage users to also try other open source and commercial compilers. diff --git a/source/learn/os_setup/ides.md b/source/learn/os_setup/ides.md new file mode 100644 index 000000000..a0454b0ef --- /dev/null +++ b/source/learn/os_setup/ides.md @@ -0,0 +1,21 @@ +--- +layout: book +title: IDEs +permalink: /learn/os_setup/ides +sd_hide_title: true +--- + +# IDEs + +An IDE (Integrated Development Environment) refers to a complete software development environment, where, all those packages that come as external plug-ins in Text-Editors, are already integrated within the software. An IDE is usually optimized towards a specific set of languages. For example it is very common for IDEs to advertise themselves towards either compiled or interpreted languages, or even towards a single language, or depending on the application developed, like scientific or web development. +IDEs are recommended for beginner programmers, since it is possible to start coding with minimum effort after installation. However, it is quite common, in professional environments, individual developers and teams alike, to choose an IDE for large projects because of some unique features that they may offer over a Text-Editor. + +A list of popular IDEs that provide good Fortran support is provided in alphabetical order: +- [AbsoftTools](https://www.absoft.com/technology/absofttools-fortran-ide/): commercial product, cross-platform, comes with Absoft's own Fortran compiler. +- [Code::Blocks](http://www.codeblocks.org/): free product, cross-platform and supports multiple compilers. Plenty of tutorials online on how to install it and add a Fortran Compiler. As well as a recent presentation, [here](https://www.youtube.com/watch?v=M1RwVGGSAgE&ab_channel=FortranCon), of its capabilities and future prospects at the International Fortran Conference 2020 by its main developer. +- [Eclipse-Photran](https://marketplace.eclipse.org/content/photran-fortran-ide-eclipse) *Photran is an IDE and refactoring tool for Fortran based on Eclipse and the C/C++ Development Tools*. A free product, cross-platform and supports multiple compilers. +- [Geany](https://www.geany.org/): a free product, cross platform and supports multiple compilers. +- [NAG Fortran Builder](https://www.nag.com/content/nag-fortran-builder-0) is a commercial product, available in Windows and MacOS and supports NAG's own Fortran Compiler. +- [Plato](https://www.silverfrost.com/16/ftn95/plato.aspx) is a commercial product, cross-platform, comes with Silverfrost's Fortran FTN95 own Fortran compiler. +- [SimplyFortran](https://simplyfortran.com/) is a commercial product, cross-platform with support of the GNU Fortran compiler. +- [Visual Studio](https://visualstudio.microsoft.com/) its *Community Edition 2019* is a free product, available in Windows and macOS and supports only Intel's Fortran compiler, now bundled with many other free-to-use HPC tools under *Intel oneAPI*. \ No newline at end of file diff --git a/source/learn/os_setup/index.md b/source/learn/os_setup/index.md new file mode 100644 index 000000000..9e6e9a6f2 --- /dev/null +++ b/source/learn/os_setup/index.md @@ -0,0 +1,37 @@ +--- +layout: book +title: Setting up your OS +permalink: /learn/os_setup +sd_hide_title: true +--- +

+
A beginner's tutorial on the software that needs to be installed to start with Fortran development
+

+ +--- +*Authors: Stavros Meskos, Laurence Kedward, Arjen Markus, Ondřej Čertík, Milan Curcic* + +*Last update: 16-Feb-2021* + +--- + +# Setting up your OS + +In this mini-book we address the very first problem that many new Fortran programmers encounter. Before everything, you will need to choose a compiler and install it. Then you will need a text editor or perhaps an IDE (Integrated Development Environment). There are many options, most of them available in all major OSs (operating systems). However, the process to install and configure them greatly differs between Windows, Linux, and macOS. There are several Fortran compilers. Here, we pick those that meet certain criteria and provide a guide on how to install them in all the aforementioned OSs. A list of popular text editors and IDEs and information on how to choose between them is presented as well. + + +::::{note} +If you have already set up your environment, you may skip this tutorial and move forward with the Quickstart Fortran Tutorial to start coding your first `Hello World` program or with the Building programs mini-book to understand how a compiler works. +:::: +- - - + +*The choice of text editors and IDEs has been controversial among the developers. What you choose is a matter of personal taste. Every solution comes with its own pros and cons. For that reason, in this guide, we will not push the reader towards one or another direction. We will, however, present a list of the most popular tools.* + +````{toctree} +:hidden: +choose compiler +text editors +ides +install gfortran +tips +```` \ No newline at end of file diff --git a/source/learn/os_setup/install_gfortran.md b/source/learn/os_setup/install_gfortran.md new file mode 100644 index 000000000..a13e3e0ab --- /dev/null +++ b/source/learn/os_setup/install_gfortran.md @@ -0,0 +1,124 @@ +--- +layout: book +title: Installing GFortran +permalink: /learn/os_setup/install_gfortran +sd_hide_title: true +--- + +# Installing GFortran + +GFortran is the name of the [GNU Fortran project](https://gcc.gnu.org/fortran/). The main [wiki](https://gcc.gnu.org/wiki/GFortran) page offers many helpful links about GFortran, as well as Fortran in general. In this guide, the installation process for GFortran on Windows, Linux, macOS and OpenBSD is presented in a beginner-friendly format based on the information from [GFortranBinaries](https://gcc.gnu.org/wiki/GFortranBinaries). + +## Windows + + +Three sources provide quick and easy way to install GFortran compiler on Windows: +1. [http://www.equation.com](http://www.equation.com/servlet/equation.cmd?fa=fortran), provides 32 and 64-bit x86 + executables of the latest (10.2) gcc-version. +2. [TDM GCC](https://jmeubank.github.io/tdm-gcc/articles/2020-03/9.2.0-release), provides 32 and 64-bit x86 executables of the 9.2 gcc-version. +3. [MinGW-w64](http://mingw-w64.org/doku.php/download/mingw-builds) provides a 64-bit x86 executable of the 8.1.0 gcc-version. + +In all the above choices, the process is straightforward—just download the installer and follow the installation wizard. + +### Unix-like development on Windows +For those familiar with a unix-like development environment, several emulation options are available on Windows each of which provide packages for gfortran: + +* __Cygwin:__ A runtime environment that provides POSIX compatibility to Windows; +* __MSYS2:__ A collection of Unix-like development tools, based on modern Cygwin and MinGW-w64; +* __Windows Subsystem for Linux (WSL):__ An official compatibility layer for running Linux binary executables on Windows. With [Windows Subsystem for Linux GUI](https://github.com/microsoft/wslg) one can run text editors and other graphical programs. + +All of the above approaches provide access to common shells such as bash and development tools including GNU coreutils, Make, CMake, autotools, git, grep, sed, awk, ssh, etc. + +We recommend the WSL environment for those looking for a Unix-like development environment on Windows. + +## Linux + + +### Debian-based (Debian, Ubuntu, Mint, etc...) +Check whether you have gfortran already installed +```bash +which gfortran +``` +If nothing is returned then gfortran is not installed. +To install gfortran type: +```bash +sudo apt-get install gfortran +``` +to check what version was installed type: +```bash +gfortran --version +``` +You can install multiple versions up to version 9 by typing the version number immediately after "gfortran", e.g.: +```bash +sudo apt-get install gfortran-7 +``` +To install the latest version 10 you need first to add / update the following repository and then install: +```bash +sudo add-apt-repository ppa:ubuntu-toolchain-r/test +sudo apt update +sudo apt install gfortran-10 +``` +Finally, you can switch between different versions or set the default one with the **update-alternatives** ([see manpage](https://manpages.ubuntu.com/manpages/trusty/man8/update-alternatives.8.html#:~:text=update%2Dalternatives%20creates%2C%20removes%2C,system%20at%20the%20same%20time.)). There are many online tutorials on how to use this feature. A well structured one using as an example C and C++ can be found [here](https://linuxconfig.org/how-to-switch-between-multiple-gcc-and-g-compiler-versions-on-ubuntu-20-04-lts-focal-fossa), you can apply the same logic by replacing either `gcc` or `g++` with `gfortran`. + +### RPM-based (Red Hat Linux, CentOS, Fedora, openSuse, Mandrake Linux) +```bash +sudo yum install gcc-gfortran +``` + +Since Fedora 22, `dnf` is the default package manager for Fedora: +```bash +sudo dnf install gcc-gfortran +``` + +### Arch-based (Arch Linux, Antergos, Manjaro, etc...) +```bash +sudo pacman -S gcc-fortran +``` + +## macOS +### Xcode +If you have Xcode installed, open a terminal window and type: +```bash +xcode-select --install +``` +### Binaries +Go to [fxcoudert/gfortran-for-macOS](https://github.com/fxcoudert/gfortran-for-macOS/releases) to directly install binaries. +### Homebrew +```bash +brew install gcc +``` +### Fink +GNU-gcc Package [link](https://pdb.finkproject.org/pdb/browse.php?summary=GNU+Compiler+Collection+Version) +### MacPorts +Search for available gcc versions: +```bash +port search gcc +``` +Install a gcc version: +```bash +sudo port install gcc10 +``` + +## OpenBSD +```bash +pkg_add g95 +``` + +On OpenBSD, the GFortran executable is named `egfortran`. To test it, type: +```bash +egfortran -v +``` + +--- +## OpenCoarrays + +[OpenCoarrays](http://www.opencoarrays.org/) is an open-source software project that produces an application binary interface (ABI) used by the GNU Compiler Collection (GCC) Fortran front-end to build executable programs that leverage the parallel programming features of Fortran 2018. Since OpenCoarrays is not a separate compiler, we include it here, under gfortran. + +While with gfortran you can compile perfectly valid code using coarrays, the generated binaries will only run in a single image (_image_ is a Fortran term for a parallel process), that is, in serial mode. OpenCoarrays allows running code in parallel on shared- and distributed-memory machines, similar to MPI: +```bash +cafrun -n +``` + +The process of installation is provided in a clear and comprehensive manner on the official site. + +We emphasize that native installation on Windows is not possible. It is only possible through WSL. diff --git a/source/learn/os_setup/text_editors.md b/source/learn/os_setup/text_editors.md new file mode 100644 index 000000000..51cb462e3 --- /dev/null +++ b/source/learn/os_setup/text_editors.md @@ -0,0 +1,56 @@ +--- +layout: book +title: Text Editors +permalink: /learn/os_setup/text_editors +sd_hide_title: true +--- + +# Text Editors + +After you have installed your compiler, you will need a text editor to write your code. Any text editor can serve this purpose, even the built-in Notepad on Windows. However, there are specialized editors for programming languages. These editors come with many useful features like auto-complete, syntax-highlighting, auto-indentation, brace-matching, and many more, with few of them pre-installed and the majority in form of external plug-ins. This means that by default these features are not installed in the editor, but it's up to you to search for them through a package manager and install and configure them manually. + +Here's a list of the most popular text editors that support Fortran syntax, in alphabetical order: +- [Atom](https://atom.io/) +- [Emacs](https://www.gnu.org/software/emacs/) +- [NotePad++](https://notepad-plus-plus.org/) +- [SublimeText](https://www.sublimetext.com/) +- [Vim](https://www.vim.org/) and [Neovim](https://neovim.io/) +- [Visual Studio Code](https://code.visualstudio.com/) + +A comprehensive list with more choices is provided in [fortranwiki.org](http://fortranwiki.org/fortran/show/Source+code+editors). + +Things to consider before choosing a text editor: +- **Ergonomics:** This is purely subjective and concerns how easy, uninterrupted the UI (User Interface) feels to the developer while using the editor. +- **Extensibility:** As mentioned above, text editors come with many features as external packages. The variety, the installation process, the documentation, and user-friendliness of the packages all fall under this category. +- **Speed:** With how powerful modern hardware can be, the speed of editors is becoming of minor importance. However, for the less powerful systems, you may want to consider this as well. Heavyweight editors may impact the writing performance. For example, you can expect Atom and VSCode to run slower than the lightweight editors like Vim or Emacs. +- **Learning curve:** Last but not least, new users should consider how easy it is to get used to a new editor. Vim and Emacs have a steep learning curve and are notoriously difficult for newcomers. They offer a uniquely different experience than any other editor by forcing you to use the keyboard for all editing tasks. + +## Configuring VS Code + +With the editor opened, at the main UI, at the buttoned-column on the left, there is a *four-square-shaped* icon to open the Marketplace for extensions. +Install [Modern Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm.linter-gfortran) for syntax highlighting, linting and Language Server support and formatting. + +### Additional Tools + +The following extensions are not essential but most users might find them useful: + +- [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) for advanced Git visualization and operations. +- [CMake](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) for full-featured CMake integration in VS Code. +- [Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack) for working with containers, on a remote machines, or in the Windows Subsystem for Linux (WSL). +- [Even Better TOML by tamasfe](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml). For Fortran developers that are using the new [fpm](https://github.com/fortran-lang/fpm) *Fortran Package Manager*, a TOML language support might come in handy. + +## Configuring SublimeText + +A well structured gist that provides instructions on how to set up SublimeText for Fortran developement is given [here](https://gist.github.com/sestelo/6b01e1405c1d0fa7f0ecdc951caaa995). + +## Configuring Atom + +Atom's configuration process is similar to VSCode one. At the main interface, if the *Welcome Guide* page is already opened for you, just click the **Install a Package** option, otherwise you can find the same option through the navigation bar at the top by clicking *Packages*. In doing so a new page under *Settings* opens where you can just start typing the package you want to install. + +One package that includes many Fortran features is [IDE-FORTRAN by hansec](https://atom.io/packages/ide-fortran). It needs the following packages to be installed: +- [atom-ide ui by facebook-atom](https://atom.io/packages/atom-ide-ui) +- [language-fortran by dparkins](https://atom.io/packages/language-fortran) + +Additionally just like in VSCode it needs [Python](https://www.python.org/) and [Fortran Language Server](https://github.com/hansec/fortran-language-server) to be installed. + +For version control a very popular package is [Git-Plus by akonwi](https://atom.io/packages/git-plus). diff --git a/source/learn/os_setup/tips.md b/source/learn/os_setup/tips.md new file mode 100644 index 000000000..60c7624ea --- /dev/null +++ b/source/learn/os_setup/tips.md @@ -0,0 +1,17 @@ +--- +layout: book +title: Smart Tips +permalink: /learn/os_setup/tips +sd_hide_title: true +--- + +# Smart Tips + +To conclude, we give a few tips that may help you to choose a compiler and an editor or an IDE. + +- Check [this site](https://www.fortran.uk/fortran-compiler-comparisons/) for a comprehensive comparison of Fortran compilers. +- Since NVFortran version 17.1, the support for compute capability 2.0 (Fermi) and lower has been removed. This is important because, at any time, only the latest compiler version is free to download. Users with older GPUs will not be able to run CUDA Fortran with the current (20.7) or future versions. Read [this wiki](https://www.wikiwand.com/en/CUDA#/GPUs_supported) to find your GPU's compute capability and cross-check with the latest CUDA SDK that supports it. +- There are many online Fortran compilers. These are websites that offer a basic text editor and allow you to compile and run your code on a remote server. They are particularly useful for quick prototyping and testing. Although we promised neutrality, we recommend that you check out the open-source and free [Compiler Explorer](https://godbolt.org/), an amazing tool with unique features. +- Arguably the most popular text editor, according to recent online surveys, is the Visual Studio Code, developed by Microsoft. +- The most popular free IDEs are the Code::Blocks and Geany. Many commercial IDEs give up to 30 days of free trial. Keep in mind that the prices of commercial IDEs may vary, and some may be quite affordable. Finally, if you are a student, an open-source developer, or a …hobbyist *Fortraner* do not hesitate to contact those companies and request a discount. There have been cases, e.g., in r/fortran, where representatives, from at least one company, have offered discount codes to individuals looking for affordable complete solutions (IDE + compiler). +- Finally, please join us on [Fortran Discourse](https://fortran-lang.discourse.group/) and do not hesitate to post your questions and request for further information. diff --git a/source/learn/quickstart/arrays_strings.md b/source/learn/quickstart/arrays_strings.md new file mode 100644 index 000000000..d88e02b07 --- /dev/null +++ b/source/learn/quickstart/arrays_strings.md @@ -0,0 +1,186 @@ +--- +layout: book +title: Arrays and strings +permalink: /learn/quickstart/arrays_strings +--- + + + +More often than not, we need to store and operate on long lists of numbers as opposed to just the single scalar variables +that we have been using so far; in computer programming such lists are called _arrays_. + +Arrays are _multidimensional_ variables that contain more than one value +where each value is accessed using one or more indices. + +>Arrays in Fortran are _one-based_ by default; this means +>that the first element along any dimension is at index 1. + + +# Array declaration + +We can declare arrays of any type. There are two common notations for declaring array variables: +using the `dimension` attribute or by appending the array dimensions in parentheses to the variable name. + +__Example:__ static array declaration +```fortran +program arrays + implicit none + + ! 1D integer array + integer, dimension(10) :: array1 + + ! An equivalent array declaration + integer :: array2(10) + + ! 2D real array + real, dimension(10, 10) :: array3 + + ! Custom lower and upper index bounds + real :: array4(0:9) + real :: array5(-5:5) + +end program arrays +``` + +## Array slicing + +A powerful feature of the Fortran language is its built-in support for array operations; +we can perform operations on all or part of an array using array _slicing_ notation: + +__Example:__ array slicing +```fortran +program array_slice + implicit none + + integer :: i + integer :: array1(10) ! 1D integer array of 10 elements + integer :: array2(10, 10) ! 2D integer array of 100 elements + + array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ! Array constructor + array1 = [(i, i = 1, 10)] ! Implied do loop constructor + array1(:) = 0 ! Set all elements to zero + array1(1:5) = 1 ! Set first five elements to one + array1(6:) = 1 ! Set all elements after five to one + + print *, array1(1:10:2) ! Print out elements at odd indices + print *, array2(:,1) ! Print out the first column in a 2D array + print *, array1(10:1:-1) ! Print an array in reverse + +end program array_slice +``` + +>Fortran arrays are stored in _column-major_ order; the first +index varies fastest. + +## Allocatable (dynamic) arrays + +So far we have specified the size of our array in our program code---this +type of array is known as a _static_ array since its size is fixed when +we compile our program. + +Quite often, we do not know how big our array needs to be until we run our program, for example, if we are reading data from a file of unknown size. + +For this problem, we need `allocatable` arrays. +These are _allocated_ while the program is running once we know how big the array needs to be. + +__Example:__ allocatable arrays +```fortran +program allocatable + implicit none + + integer, allocatable :: array1(:) + integer, allocatable :: array2(:,:) + + allocate(array1(10)) + allocate(array2(10,10)) + + ! ... + + deallocate(array1) + deallocate(array2) + +end program allocatable +``` + +Allocatable local arrays are deallocated automatically +when they go out of scope. + + +## Character strings + + +__Example:__ static character string +```fortran +program string + implicit none + + character(len=4) :: first_name + character(len=5) :: last_name + character(10) :: full_name + + first_name = 'John' + last_name = 'Smith' + + ! String concatenation + full_name = first_name//' '//last_name + + print *, full_name + +end program string +``` + +__Example:__ allocatable character string +```fortran +program allocatable_string + implicit none + + character(:), allocatable :: first_name + character(:), allocatable :: last_name + + ! Explicit allocation statement + allocate(character(4) :: first_name) + first_name = 'John' + + ! Allocation on assignment + last_name = 'Smith' + + print *, first_name//' '//last_name + +end program allocatable_string +``` + + +## Array of strings + +An array of strings can be expressed in Fortran as an array of `character` variables. +All elements in a `character` array have equal length. +However, strings of varying lengths can be provided as input to the array constructor, as shown in the example below. +They will be truncated or right-padded with spaces if they are longer or shorter, respectively, than the declared length of the `character` array. +Finally, we use the intrinsic function `trim` to remove any excess spaces when printing the values to the standard output. + + +__Example:__ string array +```fortran +program string_array + implicit none + character(len=10), dimension(2) :: keys, vals + + keys = [character(len=10) :: "user", "dbname"] + vals = [character(len=10) :: "ben", "motivation"] + + call show(keys, vals) + + contains + + subroutine show(akeys, avals) + character(len=*), intent(in) :: akeys(:), avals(:) + integer :: i + + do i = 1, size(akeys) + print *, trim(akeys(i)), ": ", trim(avals(i)) + end do + + end subroutine show + +end program string_array +``` diff --git a/source/learn/quickstart/derived_types.md b/source/learn/quickstart/derived_types.md new file mode 100644 index 000000000..8d1984262 --- /dev/null +++ b/source/learn/quickstart/derived_types.md @@ -0,0 +1,322 @@ +--- +layout: book +title: Derived types +permalink: /learn/quickstart/derived_types +--- +# Derived Types +As discussed previously in [Variables](variables), there are five built-in data types in Fortran. A _derived type_ is a special form of data type that can encapsulate other built-in types as well as other derived types. It could be considered equivalent to _struct_ in the C and C++ programming languages. + +## A quick take on derived types + +Here's an example of a basic derived type: + +```fortran +type :: t_pair + integer :: i + real :: x +end type +``` + +The syntax to create a variable of type `t_pair` and access its members is: +```fortran +! Declare +type(t_pair) :: pair +! Initialize +pair%i = 1 +pair%x = 0.5 +``` + +>The percentage symbol `%` is used to access the members of a derived type. + +In the above snippet, we declared an instance of a derived type and initialized its members explicitly. +You can also initialize derived type members by invoking the derived type constructor. + + +Example using the derived type constructor: +```fortran +pair = t_pair(1, 0.5) ! Initialize with positional arguments +pair = t_pair(i=1, x=0.5) ! Initialize with keyword arguments +pair = t_pair(x=0.5, i=1) ! Keyword arguments can go in any order +``` + +Example with default initialization: +```fortran +type :: t_pair + integer :: i = 1 + real :: x = 0.5 +end type + +type(t_pair) :: pair +pair = t_pair() ! pair%i is 1, pair%x is 0.5 +pair = t_pair(i=2) ! pair%i is 2, pair%x is 0.5 +pair = t_pair(x=2.7) ! pair%i is 1, pair%x is 2.7 +``` + +## Derived types in detail + +The full syntax of a derived type with all optional properties is presented below: + +``` +type [,attribute-list] :: name [(parameterized-declaration-list)] + [parameterized-definition-statements] + [private statement or sequence statement] + [member-variables] +contains + [type-bound-procedures] +end type +``` + +## Options to declare a derived type + +`attribute-list` may refer to the following: + +- _access-type_ that is either `public` or `private` +- `bind(c)` offers interoperability with C programming language +- `extends(`_parent_`)`, where _parent_ is the name of a previously declared derived type from which the current derived type will inherit all its members and functionality +- `abstract` -- an object oriented feature that is covered in the advanced programming tutorial + +>If the attribute `bind(c)` or the statement `sequence` is used, then a derived type cannot have the attribute `extends` and vice versa. + +The `sequence` attribute may be used only to declare that the following members should be accessed in the same order as they are defined within the derived type. + +Example with `sequence`: +```fortran +type :: t_pair + sequence + integer :: i + real :: x +end type +! Initialize +type(t_pair) :: pair +pair = t_pair(1, 0.5) +``` +>The use of the statement `sequence` presupposes that the data types defined below are neither of `allocatable` nor of `pointer` type. Furthermore, it does not imply that these data types will be stored in memory in any particular form, i.e., there is no relation to the `contiguous` attribute. + +The _access-type_ attributes `public` and `private`, if used, declare that all member-variables declared below will be automatically assigned the attribute accordingly. + +The attribute `bind(c)` is used to achieve compatibility between Fortran's derived type and C's struct. + +Example with `bind(c)`: +```fortran +module f_to_c + use iso_c_bindings, only: c_int + implicit none + + type, bind(c) :: f_type + integer(c_int) :: i + end type + +end module f_to_c +``` +matches the following C struct type: +```c +struct c_struct { + int i; +}; +``` +>A fortran derived type with the attribute `bind(c)` cannot have the `sequence` and `extends` attributes. Furthermore it cannot contain any Fortran `pointer` or `allocatable` types. + +`parameterized-declaration-list` is an optional feature. If used, then the parameters must be listed in place of `[parameterized-definition-statements]` and must be either `len` or `kind` parameters or both. + +Example of a derived type with `parameterized-declaration-list` and with the attribute `public`: + ```fortran +module m_matrix + implicit none + private + + type, public :: t_matrix(rows, cols, k) + integer, len :: rows, cols + integer, kind :: k = kind(0.0) + real(kind=k), dimension(rows, cols) :: values + end type + +end module m_matrix + +program test_matrix + use m_matrix + implicit none + + type(t_matrix(rows=5, cols=5)) :: m + +end program test_matrix + ``` +>In this example the parameter `k` has already been assigned a default value of `kind(0.0)` (single-precision floating-point). Therefore, it can be omitted, as is the case here in the declaration inside the main program. + +>By default, derived types and their members are public. However, in this example, the attribute `private` is used at the beginning of the module. Therefore, everything within the module will be by default `private` unless explicitly declared as `public`. If the type `t_matrix` was not given the attribute `public` in the above example, then the compiler would throw an error inside `program test`. + +The attribute `extends` was added in the F2003 standard and introduces an important feature of the object oriented paradigm (OOP), namely inheritance. It allows code reusability by letting child types derive from extensible parent types: `type, extends(parent) :: child`. Here, `child` inherits all the members and functionality from `type :: parent`. + +Example with the attribute `extends`: +```fortran +module m_employee + implicit none + private + public t_date, t_address, t_person, t_employee + ! Note another way of using the public attribute: + ! gathering all public data types in one place. + + type :: t_date + integer :: year, month, day + end type + + type :: t_address + character(len=:), allocatable :: city, road_name + integer :: house_number + end type + + type, extends(t_address) :: t_person + character(len=:), allocatable :: first_name, last_name, e_mail + end type + + type, extends(t_person) :: t_employee + type(t_date) :: hired_date + character(len=:), allocatable :: position + real :: monthly_salary + end type + +end module m_employee + +program test_employee + use m_employee + implicit none + type(t_employee) :: employee + + ! Initialization + + ! t_employee has access to type(t_date) members not because of extends + ! but because a type(t_date) was declared within t_employee. + employee%hired_date%year = 2020 + employee%hired_date%month = 1 + employee%hired_date%day = 20 + + ! t_employee has access to t_person, and inherits its members due to extends. + employee%first_name = 'John' + employee%last_name = 'Doe' + + ! t_employee has access to t_address, because it inherits from t_person, + ! which in return inherits from t_address. + employee%city = 'London' + employee%road_name = 'BigBen' + employee%house_number = 1 + + ! t_employee has access to its defined members. + employee%position = 'Intern' + employee%monthly_salary = 0.0 + +end program test_employee +``` + +## Options to declare members of a derived type + +`[member-variables]` refers to the declaration of all the member data types. These data types can be of any built-in data type, and/or of other derived types, as already showcased in the above examples. However, member-variables can have their own extensive syntax, in form of: +`type [,member-attributes] :: name[attr-dependent-spec][init]` + +`type`: any built-in type or other derived type + +`member-attributes` (optional): + +- `public` or `private` access attributes +- `protected` access attribute +- `allocatable` with or without `dimension` to specify a dynamic array +- `pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous` + +Examples of common cases: + +```fortran +type :: t_example + ! 1st case: simple built-in type with access attribute and [init] + integer, private :: i = 0 + ! private hides it from use outside of the t_example's scope. + ! The default initialization [=0] is the [init] part. + + ! 2nd case: protected + integer, protected :: i + ! In contrary to private, protected allows access to i assigned value outside of t_example + ! but is not definable, i.e. a value may be assigned to i only within t_example. + + ! 3rd case: dynamic 1-D array + real, allocatable, dimension(:) :: x + ! the same as + real, allocatable :: x(:) + ! This parentheses' usage implies dimension(:) and is one of the possible [attr-dependent-spec]. +end type +``` + +>The following attributes: `pointer`, `codimension`, `contiguous`, `volatile`, `asynchronous` are advanced features that will not be addressed in the *Quickstart* tutorial. However, they are presented here, in order for the readers to know that these features do exist and be able to recognize them. These features will be covered in detail in the upcoming *Advanced programing* mini-book. + +## Type-bound procedures + +A derived type can contain functions or subroutines that are *bound* to it. We'll refer to them as _type-bound procedures_. Type-bound procedures follow the `contains` statement that, in turn, follows all member variable declarations. + +>It is impossible to describe type-bound procedures in full without delving into OOP features of modern Fortran. For now we'll focus on a simple example to show their basic use. + +Here's an example of a derived type with a basic type-bound procedure: + +```fortran +module m_shapes + implicit none + private + public t_square + + type :: t_square + real :: side + contains + procedure :: area ! procedure declaration + end type + +contains + + ! Procedure definition + real function area(self) result(res) + class(t_square), intent(in) :: self + res = self%side**2 + end function + +end module m_shapes + +program main + use m_shapes + implicit none + + ! Variables' declaration + type(t_square) :: sq + real :: x, side + + ! Variables' initialization + side = 0.5 + sq%side = side + + x = sq%area() + ! self does not appear here, it has been passed implicitly + + ! Do stuff with x... + +end program main +``` +What is new: + + - `self` is an arbitrary name that we chose to represent the instance of the derived type `t_square` inside the type-bound function. This allows us to access its members and to automatically pass it as an argument when we invoke a type-bound procedure. + - We now use `class(t_square)` instead of `type(t_square)` in the interface of the `area` function. This allows us to invoke the `area` function with any derived type that extends `t_square`. The keyword `class` introduces the OOP feature polymorphism. + +In the above example, the type-bound procedure `area` is defined as a function and can be invoked only in an expression, for example `x = sq%area()` or `print *, sq%area()`. If you define it instead as a subroutine, you can invoke it from its own `call` statement: + +```fortran +! Change within module +contains + subroutine area(self, x) + class(t_square), intent(in) :: self + real, intent(out) :: x + x = self%side**2 + end subroutine + +! ... + +! Change within main program +call sq%area(x) + +! Do stuff with x... +``` +In contrast to the example with the type-bound function, we now have two arguments: + +* `class(t_square), intent(in) :: self` -- the instance of the derived type itself +* `real, intent(out) :: x` -- used to store the calculated area and return to the caller diff --git a/source/learn/quickstart/hello_world.md b/source/learn/quickstart/hello_world.md new file mode 100644 index 000000000..174cf84fb --- /dev/null +++ b/source/learn/quickstart/hello_world.md @@ -0,0 +1,69 @@ +--- +layout: book +title: Hello world +permalink: /learn/quickstart/hello_world +--- + +In this part of the tutorial, we will write our first Fortran program: +the ubiquitous ["Hello, World!"](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) example. + +However, before we can write our program, we need to ensure that we have +a Fortran compiler set up. + +>Fortran is a *compiled language*, which means that, once written, the source code must be passed through a +>compiler to produce a machine executable that can be run. + + +# Compiler setup + +In this tutorial, we'll work with the free and open source +[GNU Fortran compiler (gfortran)](https://gcc.gnu.org/fortran/), +which is part of the +[GNU Compiler Collection (GCC)](https://gcc.gnu.org/). + +To install gfortran on Linux, use your system package manager. +On macOS, you can install gfortran using [Homebrew](https://brew.sh/) or [MacPorts](https://www.macports.org/). +On Windows, you can get native binaries [here](http://www.equation.com/servlet/equation.cmd?fa=fortran). + +To check if you have _gfortran_ setup correctly, open a terminal and run the following command: + +```shell +$> gfortran --version +``` + +this should output something like: + +``` +GNU Fortran 7.5.0 +Copyright (C) 2017 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +``` + +## Hello world + +Once you have set up your compiler, open a new file in your favourite code editor and enter the following: + +```fortran +program hello + ! This is a comment line; it is ignored by the compiler + print *, 'Hello, World!' +end program hello +``` + +Having saved your program to `hello.f90`, compile at the command line with: +```shell +$> gfortran hello.f90 -o hello +``` + +>`.f90` is the standard file extension for modern Fortran source files. +The 90 refers to the first modern Fortran standard in 1990. + +To run your compiled program: +```shell +$> ./hello +Hello, World! +``` + +Congratulations, you've written, compiled and run your first Fortran program! +In the next part of this tutorial, we will introduce variables for storing data. diff --git a/source/learn/quickstart/index.md b/source/learn/quickstart/index.md new file mode 100644 index 000000000..a0aefee28 --- /dev/null +++ b/source/learn/quickstart/index.md @@ -0,0 +1,26 @@ +--- +layout: book +title: Quickstart tutorial +permalink: /learn/quickstart/index +--- + +# Quickstart + +This quickstart tutorial gives an overview of the Fortran programming language +and its syntax for common structured programming concepts including: +types, variables, arrays, control flow and functions. + +The contents of this tutorial are shown in the navigation bar on the left with the current page highlighted bold. + +Use the _Next_ button at the bottom to start the tutorial with a _Hello World_ example. + +````{toctree} +:maxdepth: 2 +:hidden: +arrays strings +hello world +operators control_flow +variables +derived types +organising code +```` \ No newline at end of file diff --git a/source/learn/quickstart/operators_control_flow.md b/source/learn/quickstart/operators_control_flow.md new file mode 100644 index 000000000..84e87d83a --- /dev/null +++ b/source/learn/quickstart/operators_control_flow.md @@ -0,0 +1,240 @@ +--- +layout: book +title: Operators and flow control +permalink: /learn/quickstart/operators_control_flow +--- + +One of the powerful advantages of computer algorithms, compared to simple mathematical formulae, +comes in the form of program _branching_ whereby the program can decide which instructions to +execute next based on a logical condition. + +There are two main forms of controlling program flow: + +- _Conditional_ (if): choose program path based on a boolean (true or false) value + +- _Loop_: repeat a portion of code multiple times + + + +# Logical operators +Before we use a conditional branching operator, we need to be able to form +a logical expression. + +To form a logical expression, the following set of relational operators are available: + +| Operator   | Alternative   | Description | +|:----------------:|:---------------------:|-----------------------------------------------------------------| +| `==` | `.eq.` | Tests for equality of two operands | +| `/=` | `.ne.` | Test for inequality of two operands | +| `> ` | `.gt.` | Tests if left operand is strictly greater than right operand | +| `< ` | `.lt.` | Tests if left operand is strictly less than right operand | +| `>=` | `.ge.` | Tests if left operand is greater than or equal to right operand | +| `<=` | `.le.` | Tests if left operand is less than or equal to right operand | + +
+ +as well as the following logical operators: + +| Operator   | Description | +|:---------------------:|----------------------------------------------------------------------| +| `.and.` | TRUE if both left and right operands are TRUE | +| `.or.` | TRUE if either left or right or both operands are TRUE | +| `.not.` | TRUE if right operand is FALSE | +| `.eqv.` | TRUE if left operand has same logical value as right operand | +| `.neqv.` | TRUE if left operand has the opposite logical value as right operand | + +
+ + +## Conditional construct (`if`) + +In the following examples, a conditional `if` construct is used to print out a +message to describe the nature of the `angle` variable: + +__Example:__ single branch `if` + +```fortran +if (angle < 90.0) then + print *, 'Angle is acute' +end if +``` + +In this first example, the code within the `if` construct is _only executed if_ the +test expression (`angle < 90.0`) is true. + +::::{tip} +It is good practice to indent code within constructs such as `if` and `do` +to make code more readable. +:::: + +{% include tip.html content="It is good practice to indent code within constructs such as `if` and `do` +to make code more readable." %} + +We can add an alternative branch to the construct using the `else` keyword: + +__Example:__ two-branch `if`-`else` + +```fortran +if (angle < 90.0) then + print *, 'Angle is acute' +else + print *, 'Angle is obtuse' +end if +``` + +Now there are two _branches_ in the `if` construct, but _only one branch is executed_ depending +on the logical expression following the `if` keyword. + +We can actually add any number of branches using `else if` to specify more conditions: + +__Example:__ multi-branch `if`-`else if`-`else` +```fortran +if (angle < 90.0) then + print *, 'Angle is acute' +else if (angle < 180.0) then + print *, 'Angle is obtuse' +else + print *, 'Angle is reflex' +end if +``` + +When multiple conditional expressions are used, each conditional expression is tested only if none of the previous +expressions have evaluated to true. + +## Loop constructs (`do`) + +In the following example, a `do` loop construct is used to print out the numbers in +a sequence. +The `do` loop has an integer _counter_ variable which is used to track which iteration of the loop +is currently executing. In this example we use a common name for this counter variable: `i`. + +When we define the start of the `do` loop, we use our counter variable name followed by an equals (`=`) sign +to specify the start value and final value of our counting variable. + +__Example:__ `do` loop + +```fortran +integer :: i + +do i = 1, 10 + print *, i +end do +``` + +__Example:__ `do` loop with skip + +```fortran +integer :: i + +do i = 1, 10, 2 + print *, i ! Print odd numbers +end do +``` + +### Conditional loop (`do while`) + +A condition may be added to a `do` loop with the `while` keyword. The loop will be executed while the condition given +in `while()` evaluates to `.true.`. + +__Example:__ `do while()` loop + +```fortran +integer :: i + +i = 1 +do while (i < 11) + print *, i + i = i + 1 +end do +! Here i = 11 +``` + +### Loop control statements (`exit` and `cycle`) + +Most often than not, loops need to be stopped if a condition is met. Fortran provides two executable statements to deal +with such cases. + +`exit` is used to quit the loop prematurely. It is usually enclosed inside an `if`. + +__Example:__ loop with `exit` + +```fortran +integer :: i + +do i = 1, 100 + if (i > 10) then + exit ! Stop printing numbers + end if + print *, i +end do +! Here i = 11 +``` + +On the other hand, `cycle` skips whatever is left of the loop and goes into the next cycle. + +__Example:__ loop with `cycle` + +```fortran +integer :: i + +do i = 1, 10 + if (mod(i, 2) == 0) then + cycle ! Don't print even numbers + end if + print *, i +end do +``` + +::::{note} +When used within nested loops, the `cycle` and `exit` statements operate on the innermost loop. +:::: + +### Nested loop control: tags + +A recurring case in any programming language is the use of nested loops. Nested loops refer to loops that exist within another loop. Fortran allows the programmer to _tag_ or _name_ each loop. If loops are tagged, there are two potential benefits: +1. The readability of the code may be improved (when the naming is meaningful). +2. `exit` and `cycle` may be used with tags, which allows for very fine-grained control of the loops. + +__Example:__ tagged nested loops + +```fortran +integer :: i, j + +outer_loop: do i = 1, 10 + inner_loop: do j = 1, 10 + if ((j + i) > 10) then ! Print only pairs of i and j that add up to 10 + cycle outer_loop ! Go to the next iteration of the outer loop + end if + print *, 'I=', i, ' J=', j, ' Sum=', j + i + end do inner_loop +end do outer_loop +``` + +### Parallelizable loop (`do concurrent`) + +The `do concurrent` loop is used to explicitly specify that the _inside of the loop has no interdependencies_; this informs the compiler that it may use parallelization/_SIMD_ to speed up execution of the loop and conveys programmer intention more clearly. More specifically, this means +that any given loop iteration does not depend on the prior execution of other loop iterations. It is also necessary that any state changes that may occur must only happen within each `do concurrent` loop. +These requirements place restrictions on what can be placed within the loop body. + + + +>Simply replacing a `do` loop with a `do concurrent` does not guarantee parallel execution. +>The explanation given above does not detail all the requirements that need to be met in order to write a correct `do concurrent` loop. +>Compilers are also free to do as they see fit, meaning they may not optimize the loop (e.g., a small number of iterations doing a simple calculation, like the >below example). +>In general, compiler flags are required to activate possible parallelization for `do concurrent` loops. + + +__Example:__ `do concurrent()` loop + +```fortran +real, parameter :: pi = 3.14159265 +integer, parameter :: n = 10 +real :: result_sin(n) +integer :: i + +do concurrent (i = 1:n) ! Careful, the syntax is slightly different + result_sin(i) = sin(i * pi/4.) +end do + +print *, result_sin +``` diff --git a/source/learn/quickstart/organising_code.md b/source/learn/quickstart/organising_code.md new file mode 100644 index 000000000..73e1cfce2 --- /dev/null +++ b/source/learn/quickstart/organising_code.md @@ -0,0 +1,182 @@ +--- +layout: book +title: Organising code structure +permalink: /learn/quickstart/organising_code +--- +# Organising Code + +Most programming languages allow you to collect commonly-used code into +_procedures_ that can be reused by _calling_ them from other sections of code. + +Fortran has two forms of procedure: + +- __Subroutine__: invoked by a `call` statement +- __Function__: invoked within an expression or assignment to which it returns a value + +Both subroutines and functions have access to variables in the parent scope by _argument association_; +unless the `value` attribute is specified, this is similar to call by reference. + +# Subroutines + +The subroutine input arguments, known as _dummy arguments_, are specified in parentheses after the subroutine name; +the dummy argument types and attributes are declared within the body of the subroutine just like local variables. + +__Example:__ + +```fortran +! Print matrix A to screen +subroutine print_matrix(n,m,A) + implicit none + integer, intent(in) :: n + integer, intent(in) :: m + real, intent(in) :: A(n, m) + + integer :: i + + do i = 1, n + print *, A(i, 1:m) + end do + +end subroutine print_matrix +``` + + +Note the additional `intent` attribute when declaring the dummy arguments; this optional attribute signifies to the compiler whether the argument +is ''read-only'' (`intent(in)`) ''write-only'' (`intent(out)`) or ''read-write'' (`intent(inout)`) within the procedure. +In this example, the subroutine does not modify its arguments, hence all arguments are `intent(in)`. + +>It is good practice to always specify the `intent` attribute for +>dummy arguments; this allows the compiler to check for unintentional errors and provides self-documentation. + + +We can call this subroutine from a program using a `call` statement: +```fortran +program call_sub + implicit none + + real :: mat(10, 20) + + mat(:,:) = 0.0 + + call print_matrix(10, 20, mat) + +end program call_sub +``` + +>This example uses a so-called _explicit-shape_ array argument since we have passed additional variables to describe +>the dimensions of the array `A`; this will not be necessary if we place our subroutine in a module as described later. + + +## Functions + +```fortran +! L2 Norm of a vector +function vector_norm(n,vec) result(norm) + implicit none + integer, intent(in) :: n + real, intent(in) :: vec(n) + real :: norm + + norm = sqrt(sum(vec**2)) + +end function vector_norm +``` +>In production code, the intrinsic function `norm2` should be used. + +To execute this function: + +```fortran +program run_fcn + implicit none + + real :: v(9) + real :: vector_norm + + v(:) = 9 + + print *, 'Vector norm = ', vector_norm(9,v) + +end program run_fcn +``` + +>It is good programming practice for functions not to modify their arguments---that is, all function arguments should be `intent(in)`. +>Such functions are known as `pure` functions. +>Use subroutines if your procedure needs to modify its arguments. + + +## Modules + +Fortran modules contain definitions that are made accessible to programs, procedures, and other modules through the `use` statement. +They can contain data objects, type definitions, procedures, and interfaces. + +- Modules allow controlled scoping extension whereby entity access is made explicit +- Modules automatically generate explicit interfaces required for modern procedures + +>It is recommended to always place functions and subroutines +within modules. + +__Example:__ + +```fortran +module my_mod + implicit none + + private ! All entities are now module-private by default + public public_var, print_matrix ! Explicitly export public entities + + real, parameter :: public_var = 2 + integer :: private_var + +contains + + ! Print matrix A to screen + subroutine print_matrix(A) + real, intent(in) :: A(:,:) ! An assumed-shape dummy argument + + integer :: i + + do i = 1, size(A,1) + print *, A(i,:) + end do + + end subroutine print_matrix + +end module my_mod +``` + +>Compare this `print_matrix` subroutine with that written outside of a module +we no longer have to explicitly pass the matrix dimensions and can instead take +advantage of _assumed-shape_ arguments since the module will generate the required +explicit interface for us. This results in a much simpler subroutine interface. + +To `use` the module within a program: +```fortran +program use_mod + use my_mod + implicit none + + real :: mat(10, 10) + + mat(:,:) = public_var + + call print_matrix(mat) + +end program use_mod +``` + +__Example:__ explicit import list + +```fortran +use my_mod, only: public_var +``` + +__Example:__ aliased import + +```fortran +use my_mod, only: printMat=>print_matrix +``` + +>Each module should be written in a separate `.f90` source file. Modules need to be compiled prior to any program units that `use` them. + + + diff --git a/source/learn/quickstart/variables.md b/source/learn/quickstart/variables.md new file mode 100644 index 000000000..eed7f1306 --- /dev/null +++ b/source/learn/quickstart/variables.md @@ -0,0 +1,205 @@ +--- +layout: book +title: Variables +permalink: /learn/quickstart/variables +--- + +Variables store information that can be manipulated by the program. +Fortran is a _strongly typed_ language, which means that each variable +must have a type. + +There are 5 built-in data types in Fortran: + +* `integer` -- for data that represent whole numbers, positive or negative +* `real` -- for floating-point data (not a whole number) +* `complex` -- pair consisting of a real part and an imaginary part +* `character` -- for text data +* `logical` -- for data that represent boolean (true or false) values + +Before we can use a variable, we must _declare_ it; this tells the compiler +the variable type and any other variable attributes. + +>Fortran is a _statically typed_ language, which means the type of each +variable is fixed when the program is compiled---variable types cannot change while the program is running. + +# Declaring variables + +The syntax for declaring variables is: + +``` + :: +``` + +where `` is one of the built-in variable types listed above and +`` is the name that you would like to call your variable. + +Variable names must start with a letter and can consist of letters, numbers and underscores. +In the following example we declare a variable for each of the built-in types. + +__Example:__ variable declaration + +```fortran +program variables + implicit none + + integer :: amount + real :: pi + complex :: frequency + character :: initial + logical :: isOkay + +end program variables +``` + +>Fortran code is __case-insensitive__; you don't have to worry about the +capitalisation of your variable names, but it's good practice to keep it consistent. + +Note the additional statement at the beginning of the program: `implicit none`. +This statement tells the compiler that all variables will be explicitly declared; without +this statement variables will be implicitly typed according to the letter they begin with. + +>Always use the `implicit none` statement at +the beginning of each program and procedure. Implicit typing is considered bad practice in +modern programming since it hides information leading to more program errors. + + +Once we have declared a variable, we can assign and reassign values to it using the assignment operator `=`. + +__Example:__ variable assignment + +```fortran +amount = 10 +pi = 3.1415927 +frequency = (1.0, -0.5) +initial = 'A' +isOkay = .false. +``` + +Characters are surrounded by either single (`'`) or double quotes (`"`). + +Logical or boolean values can be either `.true.` or `.false.`. + +>Watch out" content="for assignment at declaration: `integer :: amount = 1`. +__This is NOT a normal initialisation;__ it implies the `save` attribute which means that the variable retains +its value between procedure calls. Good practice is to initialise your variables separately to their declaration. + + +## Standard input / output + +In our _Hello World_ example, we printed text to the command window. +This is commonly referred to as writing to `standard output` or `stdout`. + +We can use the `print` statement introduced earlier to print variable values to `stdout`: + +```fortran +print *, 'The value of amount (integer) is: ', amount +print *, 'The value of pi (real) is: ', pi +print *, 'The value of frequency (complex) is: ', frequency +print *, 'The value of initial (character) is: ', initial +print *, 'The value of isOkay (logical) is: ', isOkay +``` + +In a similar way, we can read values from the command window +using the `read` statement: + +```fortran +program read_value + implicit none + integer :: age + + print *, 'Please enter your age: ' + read(*,*) age + + print *, 'Your age is: ', age + +end program read_value +``` + +This input source is commonly referred to as `standard input` or `stdin`. + + +## Expressions +The usual set of arithmetic operators are available, listed in order or precedence: + +| Operator   | Description | +|:----------------:|----------------| +| `**` | Exponent | +| `*` | Multiplication | +| `/ ` | Division | +| `+` | Addition | +| `-` | Subtraction | + +
+ +__Example:__ + +```fortran +program arithmetic + implicit none + + real :: pi + real :: radius + real :: height + real :: area + real :: volume + + pi = 3.1415927 + + print *, 'Enter cylinder base radius:' + read(*,*) radius + + print *, 'Enter cylinder height:' + read(*,*) height + + area = pi * radius**2.0 + volume = area * height + + print *, 'Cylinder radius is: ', radius + print *, 'Cylinder height is: ', height + print *, 'Cylinder base area is: ', area + print *, 'Cylinder volume is: ', volume + +end program arithmetic +``` + + + + + + +## Floating-point precision + +The desired floating-point precision can be explicitly declared using a `kind` parameter. +The `iso_fortran_env` intrinsic module provides `kind` parameters for the common 32-bit and 64-bit floating-point types. + +__Example:__ explicit real `kind` +```fortran +program float + use, intrinsic :: iso_fortran_env, only: sp=>real32, dp=>real64 + implicit none + + real(sp) :: float32 + real(dp) :: float64 + + float32 = 1.0_sp ! Explicit suffix for literal constants + float64 = 1.0_dp + +end program float +``` + +>Always use a `kind` suffix for floating-point literal constants. + +__Example:__ C-interoperable `kind`s +```fortran +program float + use, intrinsic :: iso_c_binding, only: sp=>c_float, dp=>c_double + implicit none + + real(sp) :: float32 + real(dp) :: float64 + +end program float +``` + +In the next part we will learn how to use arrays for storing more than one +value in a variable. diff --git a/source/news.rst b/source/news.rst new file mode 100644 index 000000000..50a4b8b74 --- /dev/null +++ b/source/news.rst @@ -0,0 +1,2 @@ +News - The Fortran Programming Language +########################################### \ No newline at end of file diff --git a/source/news/2020-02-28-J3-february-meeting.md b/source/news/2020-02-28-J3-february-meeting.md new file mode 100644 index 000000000..8f6ed96d1 --- /dev/null +++ b/source/news/2020-02-28-J3-february-meeting.md @@ -0,0 +1,95 @@ +--- +date: 2020-02-28 +title: J3 February 2020 Meeting +category: newsletter +author: Ondřej Čertík and Zach Jibben +--- +# J3 February 2020 Meeting +The J3 Fortran Committee meeting took place in Las Vegas, NV, on February 24-28, +2020. + +# Attendance + +The following people / companies attended: + +Voting members: + +1. Intel: Jon Steidel +2. HPE/Cray: Bill Long +3. NVIDIA: Peter Klausler, Gary Klimowicz +4. IBM: Daniel Chen +5. ARM: Srinath Vadlamani +6. NCAR: Dan Nagle, Magne Haveraaen +7. NASA: Tom Clune +8. JPL: Van Sneider +9. LANL: Zach Jibben, Ondřej Čertík +10. ORNL: Reuben Budiardja +11. LBNL: Brian Friesen +12. Sandia: Damian Rouson +13. Lionel: Steven Lionel, Malcolm Cohen, Vipul Parekh +14. Corbett: Bob Corbett + +Others: + +15. AMD: Richard Bleikamp +16. WG23: Stephen Michell (convenor), Erhard Ploedereder (member) +17. Structural Integrity: Brad Richardson + +## Proposals Discussed at Plenary + +### Monday 2/24 + +### Tuesday 2/25 + +* [#22] : Default values of optional arguments () + +### Wednesday 2/26 + +* [#157] : Rank-agnostic array element and section denotation (, ) +* [#158] : TYPEOF and CLASSOF () +* [#1] : Namespace for modules () +* Interpretation: FORM TEAM and failed images () +* Interpretation: Collective subroutines and STAT= () + +### Thursday 2/27 + +* Interpretation: events that cause variables to become undefined () +* Edits for SIMPLE procedures () +* BFLOAT16 () +* [#146] : Interpretation: allocatable component finalization () + +### Friday 2/28 + +* [#157] : Rank-agnostic syntax (). Passed unanimously with minor changes. +* [#156] : Protected components (). Withdrawn to address conflicting interests. +* [#160] : Edits for auto-allocate characters (). Passed unanimously with minor changes. +* Edits for procedure pointer association (). Passed unanimously. +* [#157] : Edits for rank-agnostic bounds (). Withdrawn because some edits were missing and need to be added. There were concerns about fitting into the framework of generics later on. +* [#157] : Edits for rank-agnostic array element and section denotation (). Failed (5 v 7). Missing edits, and disagreement on types vs rank-1 integers, the options need to be explored more. +* [#157] : Edits for rank-agnostic allocation and pointer assignment (). Passed unanimously with minor changes. +* Interpretation: Public namelist and private variable (). Straw vote (0 yes, 8 no, 9 undecided). Passed unanimously with "no" alternative. +* Interpretation F18/015 (). Passed unanimously. + + +## Skipped + +This was on the plan but we did not get to it: + +* [#5] : US 27 POINTER dummy arguments, INTENT, and target modification () +* [#19] : Short-circuiting proposal + +## More Details + +More details available at +[j3-fortran/fortran_proposals #155](https://github.com/j3-fortran/fortran_proposals/issues/155) and at the official [minutes](https://j3-fortran.org/doc/year/20/minutes221.txt) from the meeting. + + +[#1]: https://github.com/j3-fortran/fortran_proposals/issues/1 +[#5]: https://github.com/j3-fortran/fortran_proposals/issues/5 +[#19]: https://github.com/j3-fortran/fortran_proposals/issues/19 +[#22]: https://github.com/j3-fortran/fortran_proposals/issues/22 +[#146]: https://github.com/j3-fortran/fortran_proposals/issues/146 +[#156]: https://github.com/j3-fortran/fortran_proposals/issues/156 +[#157]: https://github.com/j3-fortran/fortran_proposals/issues/157 +[#158]: https://github.com/j3-fortran/fortran_proposals/issues/158 +[#160]: https://github.com/j3-fortran/fortran_proposals/issues/160 diff --git a/source/news/2020-04-06-Announcing-FortranCon-2020.md b/source/news/2020-04-06-Announcing-FortranCon-2020.md new file mode 100644 index 000000000..835e4961d --- /dev/null +++ b/source/news/2020-04-06-Announcing-FortranCon-2020.md @@ -0,0 +1,32 @@ +--- +layout: post +date: 2020-04-06 +title: Announcing FortranCon 2020 +category: newsletter +--- + +# FortranCon 2020 + +FortranCon 2020, the first international conference targeting the Fortran +programming language, will take place on July 2-4, 2020, in Zürich, Switzerland. + + + +FortranCon aims to bring together developers of Fortran libraries, +applications, and language itself to share their experience and ideas. +The conference is organized in two full days of speaker presentations +on July 2 and 3, and a half-day workshop with lectures and hands-on sessions +on July 4. +Click [here](https://tcevents.chem.uzh.ch/event/12/abstracts/) to submit +an abstract. + +The keynote presentation will be delivered by Steve Lionel +([@doctorfortran](https://twitter.com/doctorfortran)), convener of the +US Fortran Standards Committee. + +The [registration](https://tcevents.chem.uzh.ch/event/12/registrations/) +is **free of charge**, with June 1, 2020 as the deadline. +Virtual participation will be enabled for speakers and attendees unable to +travel. + +Read more about FortranCon 2020 [here](https://tcevents.chem.uzh.ch/event/12/). diff --git a/source/news/2020-04-18-Fortran-Webinar.md b/source/news/2020-04-18-Fortran-Webinar.md new file mode 100644 index 000000000..3cbd3e28b --- /dev/null +++ b/source/news/2020-04-18-Fortran-Webinar.md @@ -0,0 +1,29 @@ +--- +layout: post +date: 2020-04-18 +title: Open Source Directions Fortran webinar +category: newsletter +--- + +# Open Source Directions Fortran webinar + +Ondřej Čertík ([@ondrejcertik](https://twitter.com/ondrejcertik)) and +Milan Curcic ([@realmilancurcic](https://twitter.com/realmilancurcic)) spoke +yesterday about the future of Fortran in Episode 40 of the Open Source +Directions Webinar. +We discussed the current state of the language, how it's currently developed, +and what we can do today to build the Fortran community, ecosystem of packages, +and developer tools. + +Watch the episode now: + + + +Special thanks to our hosts Melissa Mendonça +([@melissawm](https://twitter.com/melissawm)) and Madicken Munk +([@munkium](https://twitter.com/munkium)), as well as +[OpenTeams](https://openteams.com) and [QuanSight](https://www.quansight.com/) +for having us. + +You can find all previous episodes of the Open Source Directions webinar +[here](https://www.quansight.com/open-source-directions). diff --git a/source/news/2020-05-01-Fortran-Newsletter-May-2020.md b/source/news/2020-05-01-Fortran-Newsletter-May-2020.md new file mode 100644 index 000000000..7bb0fde47 --- /dev/null +++ b/source/news/2020-05-01-Fortran-Newsletter-May-2020.md @@ -0,0 +1,120 @@ +--- +layout: post +title: "Fortran newsletter: May 2020" +category: newsletter +date: 2020-05-01 +author: Milan Curcic +--- +# Fortran newsletter: May 2020 + +```fortran +print *, 'Hello, World!' +``` + +Welcome to the first monthly Fortran newsletter. +It will come out on the first calendar day of every month, +detailing Fortran news from the previous month. + +* [This website](#this-website) +* [Standard Library](#standard-library) +* [Package Manager](#package-manager) +* [WG5 Convenor candidates](#wg5-convenor-candidates) +* [Events](#events) +* [Who's hiring?](#whos-hiring) + +# This website + +If you came to this newsletter from elsewhere, welcome to the new Fortran website. +We built this site mid-April and hope for it to be _the_ home of Fortran on the internet, +which traditionally there hasn't been any to date. +Look around and [let us know](https://github.com/fortran-lang/fortran-lang.github.io/issues) +if you have any suggestions for improvement. +Specifically, [Learn](/learn) and [Packages](/packages) are the pages that +we'll be focusing on in the coming months. +Please help us make them better! + +## Standard Library + +Here's what's new in Fortran Standard Library: + +* [#172](https://github.com/fortran-lang/stdlib/pull/172) +New function `cov` in the `stdlib_experimental_stats` module to compute covariance of array elements. +Read the full specification [here](https://github.com/fortran-lang/stdlib/blob/HEAD/src/stdlib_experimental_stats.md#cov---covariance-of-array-elements). + +* [#168](https://github.com/fortran-lang/stdlib/pull/168) +Specify recommended order of attributes for dummy arguments in the +[Stdlib style guide](https://github.com/fortran-lang/stdlib/blob/HEAD/STYLE_GUIDE.md). + +* [#173](https://github.com/fortran-lang/stdlib/pull/173) +Minor bug fix. + +* [#170](https://github.com/fortran-lang/stdlib/pull/170) +WIP: Addition of `diag`, `eye`, and `trace` functions to make working with +matrices easier. + +## Package Manager + +In the past month we've seen the first working implementation of the [Fortran Package Manager (FPM)](https://github.com/fortran-lang/fpm). +Specifically: + +* FPM supports three commands: + - `fpm build`--compiles and links your application and/or library. + - `fpm test`--runs tests if your package has any test programs. + - `fpm run`--runs the application if your package has an executable program. +* FPM can build an executable program, a library, or a combination of both. +* Currently only gfortran is supported as the compiler backend. FPM will suport other compilers soon. + +Read the [FPM packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) +to learn how to build your package with FPM. + +FPM is still in very early development, and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for FPM. +* Improve the documentation. + +The short term goal of FPM is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## WG5 Convenor candidates + +Last month was also the deadline for the [WG5](https://wg5-fortran.org/) +convenor candidates to apply for the next 3-year term (2021-2024). +There are two candidates: + +* [Steve Lionel](https://stevelionel.com), who is also the current WG5 convenor, +announced running for another term. +Read Steve's [post](https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-forward) +about how he has guided the standardization process over the past three years and his direction for the future. + +* [Ondřej Čertík](https://ondrejcertik.com) has also announced announced to run +for the WG5 convenor. +Read Ondřej's [announcement](https://ondrejcertik.com/blog/2020/04/running-for-wg5-convenor-announcement/) +and [platform](https://github.com/certik/wg5_platform_2020) +that detail current issues with Fortran language development and how to +overcome them going forward. + +## Events + +* [OpenTeams](https://openteams.com) and [QuanSight](https://quansight.com) hosted Ondřej Čertík and Milan Curcic +in the Episode 40 of the Open Source Directions Webinar. +They talked about the current state and future of Fortran, as well as about building the Fortran community and developer tools. +Read more about it and watch the video [here](/newsletter/2020/04/18/Fortran-Webinar/). +* [FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place on July 2-4 in Zurich, Switzerland. +Virtual participation is enabled for both attendees and speakers. +Registration is free and due by June 1, 2020. +* J3/WG5 joint meeting will take place on October 12-16 in Las Vegas, Nevada. +You can submit a proposal for the Standards committee [here](https://github.com/j3-fortran/fortran_proposals). +For reference, you can read the [notes from the February meeting](/newsletter/2020/02/28/J3-february-meeting). + +## Who's hiring? + +* [Intel Corporation (Santa Clara, CA): Software Engineer, Fortran](https://g.co/kgs/aogdeh) +* [Intel Corporation (Hillsboro, OR): Software Engineer, Fortran](https://g.co/kgs/5X3d2Y) +* [Pozent (York, PA): Fortran Technical Lead](https://g.co/kgs/yuaohU) +* [American Cybersystems, Inc. (Binghamton, NY): Software Engineer (Fortran, C/C++, Ada, C#, Java, Radar)](https://g.co/kgs/VAWjWk) +* [BravoTech (Dallas, TX): C++ / Fortran Developer](https://g.co/kgs/eLsn63) +* [Siemens (Milford, OH): CAE Software Engineer (Fortran or C++) Design and Topology Optimization](https://g.co/kgs/eYftiA) diff --git a/source/news/2020-06-01-Fortran-Newsletter-June-2020.md b/source/news/2020-06-01-Fortran-Newsletter-June-2020.md new file mode 100644 index 000000000..80a3be147 --- /dev/null +++ b/source/news/2020-06-01-Fortran-Newsletter-June-2020.md @@ -0,0 +1,137 @@ +--- +layout: post +title: "Fortran newsletter: June 2020" +category: newsletter +date: 2020-06-01 +author: Jeremie Vandenplas, Brad Richardson, Milan Curcic and Ondřej Čertík +--- + +# Fortran newsletter: June 2020 +Welcome to the June 2020 edition of the monthly Fortran newsletter. +The newsletter comes out on the first calendar day of every month +and details Fortran news from the previous month. + +* [fortran-lang.org](#fortran-lang.org) +* [Fortran Discourse](#fortran-discourse) +* [Standard Library](#fortran-standard-library) +* [Package Manager](#package-manager) +* [Events](#events) +* [Contributors](#contributors) + +# fortran-lang.org + +The Fortran website has been up since mid-April, and we've already got great +feedback from the community. +In the past month we've updated the [Compilers](/compilers) page which is now +comprehensive and includes all major open source and commercial compilers. +The [Learn](/learn) page has also seen significant updates—it's been +reorganized for easier navigation and currently features a quickstart tutorial, +Fortran books, and other online resources. + +If you haven't yet, please explore the website and [let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for improvement. +Specifically, we'll be focusing on the [Learn](/learn) page and its mini-books +in the coming months. +Please help us make them better! + +Here are some specific items that we worked on: + +* [#90](https://github.com/fortran-lang/fortran-lang.org/pull/90) +WIP: Mini-book on building programs +* [#83](https://github.com/fortran-lang/fortran-lang.org/pull/83) +Improving the structure and navigation of the [Learn](/learn) pages +* [#46](https://github.com/fortran-lang/fortran-lang.org/pull/46) +Build website previews from pull requests + +## Fortran Discourse + +On May 4 we launched the [Fortran Discourse](https://fortran-lang.discourse.group), an online discussion board +for anything and everything Fortran related. +You can use it discuss the Fortran language, ask for help, announce events and/or personal projects, or just lurk +around. +There are already quite a few interesting discussions going on. +Join us! + +## Fortran Standard Library + +Recently we launched a [website](https://stdlib.fortran-lang.org) for the API documentation of the Fortran Standard Library. +The [website](https://stdlib.fortran-lang.org) is automaticaly generated by [FORD](https://github.com/Fortran-FOSS-Programmers/ford#readme). +[Code of Conduct](https://stdlib.fortran-lang.org/page/contributing/CodeOfConduct.html), [licence](https://stdlib.fortran-lang.org/page/License.html), and [workflow](https://stdlib.fortran-lang.org/page/contributing/Workflow.html) for contributing to the Fortran Standard Library can also be found on the [website](https://stdlib.fortran-lang.org/). + +Here's what's new in the Fortran Standard Library: + +* [#191](https://github.com/fortran-lang/stdlib/pull/191) +WIP: Function for computing Pearson correlations among elements of +an array in the `stdlib_experimental_stats` module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) +WIP: Procedures for sparse matrices operations. Ongoing discussion on the API can be found +[here](https://github.com/fortran-lang/stdlib/wiki/Stdlib-Sparse-matrix-API). +* [#183](https://github.com/fortran-lang/stdlib/pull/183) +Automatic API-doc generation and deployment of this [stdlib website](https://stdlib.fortran-lang.org) +* [#170](https://github.com/fortran-lang/stdlib/pull/170) +Addition of the new functions `diag`, `eye`, and `trace` functions to make working with +matrices easier. +Read the full specifications [here](https://stdlib.fortran-lang.org/page/specs/stdlib_experimental_linalg.html). + +## Package Manager + +In this past month support for dependencies between packages has been added +to the [Fortran Package Manager (fpm)](https://github.com/fortran-lang/fpm). +You can specify either a path to another folder on your machine with an fpm package, +or a git repository (and optionally a specific branch, tag or commit) that +contains the package. fpm will then take care of fetching the dependency for you +(if necessary) and any packages it depends on, and compiling and linking it into +your project. Check out an example [hello world package](https://gitlab.com/everythingfunctional/hello_fpm) +that uses this functionality. + +fpm is still in very early development, and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm. +* Improve the documentation. + +The short term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +Specific items that are new this month: + +* [#82](https://github.com/fortran-lang/fpm/pull/82) +You can now add remote git repositories as Fortran dependencies to your project. +* [#73](https://github.com/fortran-lang/fpm/pull/73) +Improved output messages for the user + +## Events + +* We hosted the very first Fortran Monthly call on May 14. +The turnout was astonishing--over 23 people joined. +You can read the notes from the call [here](https://fortran-lang.discourse.group/t/fortran-monthly-call-may-2020). +We'll have another one this month. +Subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned. +* [FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) will take place on July 2-4 in Zurich, Switzerland. +Virtual participation is enabled for both attendees and speakers. +Registration is free and due by June 1, 2020. +There are quite a few submissions from the fortran-lang community: +A talk on [stdlib](https://github.com/fortran-lang/talks/tree/HEAD/FortranCon2020-stdlib) by Jeremie Vandenplas, +one about the [Fortran Package Manager (fpm)](https://github.com/fortran-lang/talks/tree/HEAD/FortranCon2020-fpm) by Brad Richardson, +a talk on [LFortran compiler](https://gitlab.com/lfortran/talks/fortrancon-2020-talk) by Ondřej Čertík, +as well as one about [building the Fortran community](https://github.com/fortran-lang/talks/tree/HEAD/FortranCon2020-community) +by Milan Curcic. +* J3/WG5 joint meeting, originally slated for October 12-16 in Las Vegas, Nevada, has been [cancelled](https://mailman.j3-fortran.org/pipermail/j3/2020-May/012034.html). +However, the work on proposals for the Fortran Standard doesn't stop. +You can submit a proposal for the Standards committee [here](https://github.com/j3-fortran/fortran_proposals). +For reference, you can read the [notes from the February meeting](/newsletter/2020/02/28/J3-february-meeting). + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of the four repositories +[fortran-lang/stdlib](https://github.com/fortran-lang/stdlib), +[fortran-lang/fpm](https://github.com/fortran-lang/fpm), +[fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org), +[j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals): + +Ondřej Čertík ([@certik](https://github.com/certik)), Milan Curcic ([@milancurcic](https://github.com/milancurcic)), Laurence Kedward ([@LKedward](https://github.com/LKedward)), Jeremie Vandenplas ([@jvdp1](https://github.com/jvdp1)), Brad Richardson ([@everythingfunctional](https://github.com/everythingfunctional)), Izaak "Zaak" Beekman ([@zbeekman](https://github.com/zbeekman)), Martin Diehl ([@MarDiehl](https://github.com/MarDiehl)), [@arjenmarkus](https://github.com/arjenmarkus), Van Snyder ([@vansnyder](https://github.com/vansnyder)), [@FortranFan](https://github.com/FortranFan), [@epagone](https://github.com/epagone), Ivan ([@ivan-pi](https://github.com/ivan-pi)), Neil Carlson ([@nncarlson](https://github.com/nncarlson)), Ashwin Vishnu ([@ashwinvis](https://github.com/ashwinvis)), Williams A. Lima ([@ghwilliams](https://github.com/ghwilliams)), Peter Klausler ([@klausler](https://github.com/klausler)), Chris MacMackin ([@cmacmackin](https://github.com/cmacmackin)), Pedro Costa ([@p-costa](https://github.com/p-costa)), [@mobius-eng](https://github.com/mobius-eng), Salvatore Filippone ([@sfilippone](https://github.com/sfilippone)), [@ShamanTcler](https://github.com/ShamanTcler), Amit Kumar ([@aktech](https://github.com/aktech)), Bálint Aradi ([@aradi](https://github.com/aradi)), Melissa Weber Mendonça ([@melissawm](https://github.com/melissawm)), Jacob Williams ([@jacobwilliams](https://github.com/jacobwilliams)), Rohit Goswami ([@HaoZeke](https://github.com/HaoZeke)), Amir Shahmoradi ([@shahmoradi](https://github.com/shahmoradi)), Bill Long ([@longb](https://github.com/longb)). diff --git a/source/news/2020-07-01-Fortran-Newsletter-July-2020.md b/source/news/2020-07-01-Fortran-Newsletter-July-2020.md new file mode 100644 index 000000000..e992c1371 --- /dev/null +++ b/source/news/2020-07-01-Fortran-Newsletter-July-2020.md @@ -0,0 +1,117 @@ +--- +layout: post +title: "Fortran newsletter: July 2020" +category: newsletter +date: 2020-07-01 +author: Milan Curcic, Laurence Kedward, and Jérémie Vandenplas +--- +# Fortran newsletter: July 2020 + +Welcome to the July 2020 edition of the monthly Fortran newsletter. +The newsletter comes out on the first calendar day of every month +and details Fortran news from the previous month. + + + +# fortran-lang.org + +Work has continued on the Fortran-lang website, including a new community page and additional tutorial content: + +* [#98](https://github.com/fortran-lang/fortran-lang.org/pull/98): updated the [Quickstart mini-book](https://fortran-lang.org/learn/quickstart/derived_types) tutorial with a comprehensive overview of derived types; + +* [#99](https://github.com/fortran-lang/fortran-lang.org/pull/99): added a second mini-book tutorial to the [Learn](https://fortran-lang.org/learn) page on building compiled programs and libraries; + +* [#100](https://github.com/fortran-lang/fortran-lang.org/pull/100): added a new top-level web-page for Fortran-lang community projects. +The page gives useful information and links for new contributors, as well as acknowledging each of our many existing contributors. +Check it out at . + +Ongoing work: + +* [#101](https://github.com/fortran-lang/fortran-lang.org/issues/101): Code style for Fortran examples in the tutorials. +See the corresponding community poll and discussion on [Discourse](https://fortran-lang.discourse.group/t/should-tutorials-on-fortran-lang-org-follow-a-consistent-style-for-code-listings/134); + +* [#112](https://github.com/fortran-lang/fortran-lang.org/issues/112): Plan for core language tutorials. + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +__Did you know__ you don't need to know HTML or any fancy languages to contribute to the website; +all of the online tutorials and most of the website content are written in [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet), a simple markup language for formatting text - don't worry if you haven't used it before, it's very easy to pick up! + + +## Fortran Standard Library + +What's new in the Fortran Standard Library: + +* [#209](https://github.com/fortran-lang/stdlib/pull/209) +Implements Simpson's rule for 1-d arrays (`simps` and `simps_weights`) in the +quadrature module (`stdlib_experimental_quadrature`). +* [#205](https://github.com/fortran-lang/stdlib/pull/205) +Tests for and improved standard conformance. + +Some miscellaneous fixes and improvements: + +* [#208](https://github.com/fortran-lang/stdlib/pull/208) +Fixes to support Intel Fortran compilers +* [#210](https://github.com/fortran-lang/stdlib/pull/210) +Fixes to support NAG compiler +* [#207](https://github.com/fortran-lang/stdlib/pull/207) +[#211](https://github.com/fortran-lang/stdlib/pull/211) +Other minor fixes and improvements + +## Fortran Package Manager + +What's new in fpm: + +* [#99](https://github.com/fortran-lang/fpm/pull/99) +fpm now lets you specify a custom build script or a Makefile to use. +This will help building packages that use a custom structure and/or external +dependencies in other languages. +* [#89](https://github.com/fortran-lang/fpm/pull/89) +Allow specifying specific tests or executables to run via command-line arguments. +* [#85](https://github.com/fortran-lang/fpm/pull/85) +Enables having specific dependencies for tests and executables. +* [#97](https://github.com/fortran-lang/fpm/pull/97) +[#100](https://github.com/fortran-lang/fpm/pull/100) +[#101](https://github.com/fortran-lang/fpm/pull/101) +Minor improvements to the README. + +fpm is still in very early development, and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm. +* Improve the documentation. + +The short term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Events + +* We had our second Fortran Monthly call on June 19. +You can read watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +* [FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) began today (July 2), +with many interesting talks. +See the talk schedule [here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed). + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of the four repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib), +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm), +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org), +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals): + + + +
diff --git a/source/news/2020-08-01-Fortran-Newsletter-August-2020.md b/source/news/2020-08-01-Fortran-Newsletter-August-2020.md new file mode 100644 index 000000000..d8f94e580 --- /dev/null +++ b/source/news/2020-08-01-Fortran-Newsletter-August-2020.md @@ -0,0 +1,169 @@ +--- +layout: post +title: "Fortran newsletter: August 2020" +category: newsletter +date: 2020-08-01 +author: Ondřej Čertík, Milan Curcic, Laurence Kedward, Jérémie Vandenplas, Arjen Markus and Gary Klimowicz +--- +# Fortran newsletter: August 2020 +Welcome to the August 2020 edition of the monthly Fortran newsletter. +The newsletter comes out on the first calendar day of every month +and details Fortran news from the previous month. + + + +# fortran-lang.org + +We continued the work on the Fortran-lang website, including: + +* [#116](https://github.com/fortran-lang/fortran-lang.org/pull/116): updates to the Quickstart tutorial on loop control and syntax + +* [#120](https://github.com/fortran-lang/fortran-lang.org/pull/120): updated the + [Book section](https://fortran-lang.org/learn/) with a comprehensive list of + books about Fortran + +* [#121](https://github.com/fortran-lang/fortran-lang.org/pull/121), [#122](https://github.com/fortran-lang/fortran-lang.org/pull/122), [#127](https://github.com/fortran-lang/fortran-lang.org/pull/127), [#128](https://github.com/fortran-lang/fortran-lang.org/pull/128): additional packages added to the Fortran-lang.org [packages](https://fortran-lang.org/packages) page + +Ongoing work: + +* [#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): Adding a + Benchmarks section, a new dedicated repository was created at + https://github.com/fortran-lang/benchmarks and many details have been + discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) there + + + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + + +## Fortran Standard Library + +What's new in the Fortran Standard Library: +* [#223](https://github.com/fortran-lang/stdlib/pull/223): the structure of the Fortran Standard Library has been modified for clarity and ease of use. With these changes, both experimental and stable procedures will reside together in the same modules. The status of the procedures (experimental vs stable) are documented in the code, in the specs, and in the [API docs](https://stdlib.fortran-lang.org/) + +Main ongoing discussions: +* [#225](https://github.com/fortran-lang/stdlib/issues/225): Name convention for derived types in `stdlib` +* [#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and propagating errors inside `stdlib` +* [#221](https://github.com/fortran-lang/stdlib/issues/221): API for a bitset data type +* [#201](https://github.com/fortran-lang/stdlib/issues/201): API for file system operations + +## Fortran Package Manager + +What's new in fpm: +* We created the [fpm-registry](https://github.com/fortran-lang/fpm-registry) repository, +which serves as a registry of fpm-enabled Fortran packages. +Please see the README there to learn how to contribute a package. +For now, the registry is simply a list of fpm-enabled Fortran packages that you can use as a dependency in your `fpm.toml` file. +Soon, this registry will be used to generate detailed metadata that will be used by fpm to allow you to search for packages from the command-line, e.g. `fpm search ` or similar. +* [#146](https://github.com/fortran-lang/fpm/issues/146): We discussed the design of the new Fortran implementation of fpm in a video call. We agreed on the need for an intermediate package model which will allow for clean separation of fpm frontends (user interface, parsing, and semantics) and fpm backends (fpm itself, CMake, Make, etc.). +* [#131](https://github.com/fortran-lang/fpm/pull/131), +[#132](https://github.com/fortran-lang/fpm/pull/132), +[#139](https://github.com/fortran-lang/fpm/pull/139), +[#140](https://github.com/fortran-lang/fpm/pull/140), +[#142](https://github.com/fortran-lang/fpm/pull/142), +[#145](https://github.com/fortran-lang/fpm/pull/145), +[#147](https://github.com/fortran-lang/fpm/pull/147), +[#148](https://github.com/fortran-lang/fpm/pull/148), +[#151](https://github.com/fortran-lang/fpm/pull/151): +We merged several pull requests toward the Fortran fpm implementation. The Haskell implementation has moved to the `fpm/bootstrap` directory, and the Fortran implementation is developed in `fpm/fpm`. The Fortran fpm is, of course, an fpm package itself so it can be built by the Haskell fpm. Soon, it will be able to be build by itself. + +fpm is still in very early development, and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm. +* Improve the documentation. + +The short term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Fortran benchmarks + +We created the [benchmarks repository](https://github.com/fortran-lang/benchmarks) with the goal to design and implement a comprehensive set of benchmarks. +The benchmarks will aim to compare the performance of various Fortran compilers, as well as the performance of canonical algorithms implemented in Fortran and different languages. +If you'd like to contribute in any way, be it the design, implementation, or testing of benchmarks, please join the ongoing discussion [here](https://github.com/fortran-lang/benchmarks/issues). + +## Classic Flang + +We've begun to evaluate pull requests and merge them into the original Flang +compiler again. There is now a biweekly call to discuss issues and plans for +Classic Flang. The next call will be Wednesday, August 12, 8:30 AM Pacific time. +The notes from previous calls, upcoming agenda and a link to join the call can +be found [here](https://docs.google.com/document/d/1-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI). + +In the last call, AMD reviewed their outstanding pull requests for Fortran debug +metadata enhancements. + +## LLVM Flang + +Work continues on LLVM Flang, concentrating on semantics, lowering and runtime +sufficient to compile and run Fortran 77 programs. We are fixing bugs we find in +running FCVS and other test suites that use F77. + +We cominue upstreaming the lowering code from the fir-dev fork (MLIR-based +Fortran IR) into the llvm-project repository. Arm is working on changes to +support a driver program to replace the throwaway driver we currently have. + +AMD has been contributing parser and semantic processing for OpenMP constructs +like task wait, barrier and parallel constructs. + +Changes have been made to default parse/unparse/compile processing to default to +gfortran (not NVIDIA Fortran). + +Valentin Clement has been committing initial changes for OpenACC support. + + +## LFortran + +What's new in LFortran: + +* The initial prototype C++ backend can translate Fortran's `do concurrent` to C++'s `Kokkos::parallel_for`: [https://twitter.com/lfortranorg/status/1280764915242811393](https://twitter.com/lfortranorg/status/1280764915242811393) +* LFortran has a Twitter account for latest updates: [@lfortranorg](https://twitter.com/lfortranorg) +* Work is progressing on the production version of LFortran that is written in C++ +* 22 Merge Requests were merged and 4 issues fixed in July 2020. Some notable ones: + * [#163](https://gitlab.com/lfortran/lfortran/-/issues/163): Implement basic Fortran to C++ translation backend + * [!410](https://gitlab.com/lfortran/lfortran/-/merge_requests/410): Make simple calculations work via LLVM in interactive mode + * [!402](https://gitlab.com/lfortran/lfortran/-/merge_requests/402): Build ASR (Abstract Semantic Representation) properly for subroutines and functions + +The short term goal is to get the C++ based production version of LFortran +matching most of the features from the Python prototype version and make a +public release. The long term goal is to build a modern Fortran compiler that +works with any production code and allows it to run efficiently on modern +hardware (CPUs and GPUs), both interactively and compiling to binaries, and +provide the basis for other tools such as the Fortran to C++ translation, editor +support, automatic documentation generation (and doctesting like in Python), +automatic formatting and others. + +## Events + +* [FortranCon 2020](https://tcevents.chem.uzh.ch/event/12) was held July 2 - 4. +with many interesting talks. +See the talk schedule +[here](https://tcevents.chem.uzh.ch/event/12/timetable/#20200702.detailed). +All presentations have been recorded and will be soon made available online by the FortranCon organizers. + +* We had our third Fortran Monthly call on July 16. +You can read watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of the four repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib), +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm), +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org), +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals): + + + +
diff --git a/source/news/2020-09-01-Fortran-Newsletter-September-2020.md b/source/news/2020-09-01-Fortran-Newsletter-September-2020.md new file mode 100644 index 000000000..7b25e9133 --- /dev/null +++ b/source/news/2020-09-01-Fortran-Newsletter-September-2020.md @@ -0,0 +1,163 @@ +--- +layout: post +title: "Fortran newsletter: September 2020" +category: newsletter +date: 2020-09-01 +author: Milan Curcic, Ondřej Čertík, Gary Klimowicz, Brad Richardson, Jérémie Vandenplas, Thomas König, and Laurence Kedward +--- +# Fortran newsletter: September 2020 +Welcome to the September 2020 edition of the monthly Fortran newsletter. +The newsletter comes out on the first calendar day of every month +and details Fortran news from the previous month. + + + +# fortran-lang.org + +We continued the work on the Fortran-lang website, specifically: + +* [#133](https://github.com/fortran-lang/fortran-lang.org/pull/133): +Listing fpm packages on the Packages page of the website + +Ongoing work: + +* [#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): Adding a + Benchmarks section, a new dedicated repository was created at + https://github.com/fortran-lang/benchmarks and many details have been + discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) there + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +There hasn't been new stdlib development in August, however ongoing work and discussions continue: + +* [#227](https://github.com/fortran-lang/stdlib/issues/227): API proposal for logging facilities in stdlib +* [#225](https://github.com/fortran-lang/stdlib/issues/225): Name convention for derived types in stdlib +* [#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and propagating errors inside stdlib +* [#221](https://github.com/fortran-lang/stdlib/issues/221): API for a bitset data type +* [#201](https://github.com/fortran-lang/stdlib/issues/201): API for file system operations + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Ongoing work in fpm: + +* [#146](https://github.com/fortran-lang/fpm/issues/146) (WIP): +Implementing internal dependencies and build backend in the Fortran fpm + +fpm is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Fortran benchmarks + +We created the [benchmarks repository](https://github.com/fortran-lang/benchmarks) with the goal to design and implement a comprehensive set of benchmarks. +The benchmarks will aim to compare the performance of various Fortran compilers, as well as the performance of canonical algorithms implemented in Fortran and different languages. +If you'd like to contribute in any way, be it the design, implementation, or testing of benchmarks, please join the ongoing discussion [here](https://github.com/fortran-lang/benchmarks/issues). + +## Compilers + +### GFortran + +GFortran 10.2 has been released, a bugfix release for 10.1. +Bugs fixed include PR94361, a memory leak with finalizers. + +The development version of `gfortran` now supports the +full OpenMP 4.5 specification. This will be released +with GCC 11, but of course people can already download +and test it. + +### Classic Flang + +We're evaluating pull requests and merging them into the original Flang +compiler again. We pulled in 4 changes in the past couple of weeks, and expect +to merge in a few more each week. One upcoming change is the support for LLVM 10, +which requires the use of a new fork, the _classic-flang-llvm-project_ +fork of the LLVM monorepo. See +[PR#1](https://github.com/flang-compiler/classic-flang-llvm-project/pull/1) +for details. + +The Classic Flang biweekly call has been set up to discuss issues and plans +for the next pull requests to be validated and merged. Our next calls will be +Wednesday, September 9 and 23, 8:30 AM Pacific time. The notes from previous +calls, upcoming agenda and a link to join the call can be found +[here](https://docs.google.com/document/d/1-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI). + +### LLVM Flang + +Work continues on LLVM Flang, concentrating on semantics, lowering and runtime +sufficient to compile and run Fortran 77 programs. We are fixing bugs we find +in running FCVS and other F77 test suites (and the F77 parts of non-F77 +suites). + +In conjunction with the MLIR-based code from the _fir-dev_ fork (the Fortran +IR used for lowering), Flang can compile and run most F77 programs. We +continue to work on refactoring necessary to upstream this fork into LLVM +flang proper. + +Arm is working on changes to support a driver program to replace the temporary +driver we currently use. + +Valentin Clement continues to contribute parsing and semantics changes for +OpenACC support. + +### LFortran + +What's new in LFortran: + +* 143 Merge Requests were merged and 22 issues fixed in August 2020 +* The C++ backend can now translate to C++ and compile many simple Fortran programs +* The parser can now parse a large subset of Fortran (if you find something that + cannot be parsed, please [report](https://gitlab.com/lfortran/lfortran/-/issues) a bug). Not all the information is yet + represented in the AST (so later stages of the compiler also work on a smaller + subset), but one should not get parse errors anymore for most valid codes. +* Initial `lfortran fmt` subcommand for formatting Fortran files, you can + provide feedback + [here](https://fortran-lang.discourse.group/t/feedback-for-lfortran-fmt-to-format-fortran-source-code/281). +* A new command `lfortran kernel` can run LFortran as a Jupyter kernel. +* LFortran itself gives a nice Python like stacktrace (on Linux and macOS) in + Debug mode when an unhandled excetion happens or a segfault. + +Our goal for September is to get LFortran working for a much larger subset of +Fortran and allow it to compile and run via the C++ translation backend (the +LLVM backend will follow soon after). + +You can follow LFortran on Twitter for latest updates: [@lfortranorg](https://twitter.com/lfortranorg). + +## Events + +* We had our fourth Fortran Monthly call on August 20. +You can watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib), +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm), +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry), +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org), +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks), +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals): + +
diff --git a/source/news/2020-10-01-Fortran-Newsletter-October-2020.md b/source/news/2020-10-01-Fortran-Newsletter-October-2020.md new file mode 100644 index 000000000..252297317 --- /dev/null +++ b/source/news/2020-10-01-Fortran-Newsletter-October-2020.md @@ -0,0 +1,199 @@ +--- +layout: post +title: "Fortran newsletter: October 2020" +category: newsletter +date: 2020-10-01 +author: Milan Curcic, Ondřej Čertík, Gary Klimowicz, Brad Richardson, Jérémie Vandenplas, and Laurence Kedward +--- +# Fortran newsletter: October 2020 + +Welcome to the October 2020 edition of the monthly Fortran newsletter. +The newsletter comes out on the first calendar day of every month +and details Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had only one minor change to the website: + +* [#136](https://github.com/fortran-lang/fortran-lang.org/pull/136): +Small fix in the opening sentence on the compilers page + +Ongoing work: + +* [#117](https://github.com/fortran-lang/fortran-lang.org/issues/117): Adding a + Benchmarks section, a new dedicated repository was created at + https://github.com/fortran-lang/benchmarks and many details have been + discussed in [issues](https://github.com/fortran-lang/benchmarks/issues) there. + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +This month we've had an improvement to the `stdlib_ascii` module, +as well as addition of logging facilities. + +* [#238](https://github.com/fortran-lang/stdlib/pull/238): Improvements to the `stdlib_stats` module by adding explicit conversions. +* [#228](https://github.com/fortran-lang/stdlib/pull/228): Implementation of the `stdlib_logger` module. +It provides a global logger instance for easy use in user applications, as well as a `logger_type` derived type +if multiple concurrent loggers are needed. +See the [logger specification](https://stdlib.fortran-lang.org/page/specs/stdlib_logger.html) +to learn more. + +Work in progress: + +* [#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation of the `stdlib_bitsets` module. It provides a bitset data type. +* [#235](https://github.com/fortran-lang/stdlib/pull/235): Improvements to the `stdlib_ascii` module + + + +Otherwise, ongoing discussions continue: + +* [#225](https://github.com/fortran-lang/stdlib/issues/225): Name convention for derived types in stdlib +* [#224](https://github.com/fortran-lang/stdlib/issues/224): Handling and propagating errors inside stdlib +* [#221](https://github.com/fortran-lang/stdlib/issues/221): API for a bitset data type +* [#201](https://github.com/fortran-lang/stdlib/issues/201): API for file system operations + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +This month has seen over a dozen additions and improvements to the Fortran implementation of fpm: + +* [#186](https://github.com/fortran-lang/fpm/issues/186): Implement version string validation and comparison +* [#185](https://github.com/fortran-lang/fpm/issues/185): Update CI workflow +* [#182](https://github.com/fortran-lang/fpm/issues/182): CLI interface to further development of subcommands +* [#180](https://github.com/fortran-lang/fpm/issues/180): Recursive source discovery +* [#178](https://github.com/fortran-lang/fpm/issues/178): Add more example packages +* [#177](https://github.com/fortran-lang/fpm/issues/177): Allow selective testing of single suites and tests +* [#175](https://github.com/fortran-lang/fpm/issues/175): Updated formatting of Markdown documents +* [#174](https://github.com/fortran-lang/fpm/issues/174): Cache Haskell Stack build in CI +* [#171](https://github.com/fortran-lang/fpm/issues/171): Increase test coverage of fpm manifest +* [#170](https://github.com/fortran-lang/fpm/issues/170): Source parsing tests +* [#163](https://github.com/fortran-lang/fpm/issues/163): Use different strategy to fetch git dependencies +* [#162](https://github.com/fortran-lang/fpm/issues/162): Updated OS type identification +* [#160](https://github.com/fortran-lang/fpm/issues/160): Add contributing guidelines +(you can read them [here](https://github.com/fortran-lang/fpm/CONTRIBUTING.md)) +* [#157](https://github.com/fortran-lang/fpm/issues/157): Implement reading of fpm.toml +* [#155](https://github.com/fortran-lang/fpm/issues/155): Internal dependencies and build backend + + +Work in progress: + +* [#193](https://github.com/fortran-lang/fpm/issues/193) (WIP): Local path dependencies +* [#190](https://github.com/fortran-lang/fpm/issues/190) (WIP): Auto discovery of executables +* [#189](https://github.com/fortran-lang/fpm/issues/189) (WIP): Implement `fpm new` + +fpm is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + + +## Compilers + +### Classic Flang + +We continue to evaluate and merge pull requests into the original Flang +compiler again. We pulled in several changes in the past month. + +One important merge was support for LLVM 10, +which required the use of a new fork, the _classic-flang-llvm-project_ +fork of the LLVM monorepo. See +[PR#1](https://github.com/flang-compiler/classic-flang-llvm-project/pull/1) +for details. + +Other recently merged pull requests into Classic Flang include: +* [PR#658: Fix in preprocessing for Flexi app](https://github.com/flang-compiler/flang/pull/658) +* [PR#737: TRAILZ function added to the fortran compiler](https://github.com/flang-compiler/flang/pull/737) +* [PR#756: Fix ICE interf:new_symbol_and_link symbol not found](https://github.com/flang-compiler/flang/pull/756) +* [PR#888: flang gen-exec does not show routine variables with parameter attribute; there are multiple pull requests that this includes (details below)](https://github.com/flang-compiler/flang/pull/888) +* [PR#916: Fix off-by-one error in minimum integers](https://github.com/flang-compiler/flang/pull/916) +* [PR#921: Correction of representation of string (character type) constants](https://github.com/flang-compiler/flang/pull/921) + +The Classic Flang biweekly call has been set up to discuss issues and plans +for the next pull requests to be validated and merged. Our next calls will be +Wednesday, October 7 and 21, 8:30 AM Pacific time. The notes from previous +calls, upcoming agenda and a link to join the call can be found +[here](https://docs.google.com/document/d/1-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI). + +### LLVM Flang + +Work continues on LLVM Flang, concentrating on semantics, lowering and runtime +sufficient to compile and run Fortran 77 programs. + +In conjunction with the MLIR-based code from the _fir-dev_ fork (the Fortran +IR used for lowering), Flang can compile and run most F77 programs, +including the Fortran Compiler Validation Suite (FCVS). +We continue to work on refactoring necessary to upstream the _fir-dev_ fork into LLVM +flang proper. + +Arm has contributed changes toward a full-fledged driver for flang. + +AMD continues to add support for OpenMP semantics and lowering. + +Valentin Clement continues to contribute parsing and semantics changes for +OpenACC support. This will be the topic of the next Flang Technical Community call +on Monday, October 5, 8:30 AM Pacific Time. + +Michael Kruse continues to add support for building Flang on Windows with MSVC. + +### LFortran + +What's new in LFortran: + +* 59 Merge Requests were merged and 3 issues fixed in September 2020 +* The FortranCon 2020 LFortran video now [available](https://www.youtube.com/watch?v=tW9tUxVMnzc) +* LFortran, now imlemented in C++, has surpassed the Python prototype from a + year ago +* The Jupyter notebook now works as it used to with the Python prototype +* A new notebook added showcasing how to visualize AST, ASR and C++ translation + in Jupyter ([!624](https://gitlab.com/lfortran/lfortran/-/merge_requests/624)) +* X86 backend to generate direct x86-32 machine code (very fast compilation in + Debug mode) +* Further parser improvements +* Initial Fortran modules support +* Initial support for using GFortran modules + ([!632](https://gitlab.com/lfortran/lfortran/-/merge_requests/632)) +* Better compiler error messages + ([!617](https://gitlab.com/lfortran/lfortran/-/merge_requests/617)) +* The interactive prompt (REPL) now understands arrow keys + ([!603](https://gitlab.com/lfortran/lfortran/-/merge_requests/603)) + +You can follow LFortran on Twitter for latest updates: [@lfortranorg](https://twitter.com/lfortranorg). + +## Events + +* We had our fourth Fortran Monthly call on September 25. +You can watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib), +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm), +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry), +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org), +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks), +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals): + +
diff --git a/source/news/2020-11-01-Fortran-Newsletter-November-2020.md b/source/news/2020-11-01-Fortran-Newsletter-November-2020.md new file mode 100644 index 000000000..b504840a3 --- /dev/null +++ b/source/news/2020-11-01-Fortran-Newsletter-November-2020.md @@ -0,0 +1,192 @@ +--- +layout: post +title: "Fortran newsletter: November 2020" +category: newsletter +date: 2020-11-01 +author: Milan Curcic, Sebastian Ehlert, Laurence Kedward, Jeremie Vandenplas, Ivan Pribec, Ondřej Čertík, Gary Klimowicz, Brad Richardson +--- +# Fortran newsletter: November 2020 + +Welcome to the November 2020 edition of the monthly Fortran newsletter. +The newsletter comes out on the first calendar day of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had a few additions and improvements to the website: + +* [#152](https://github.com/fortran-lang/fortran-lang.org/pull/152): +New mini-book on setting up the Fortran development environment. +You can read it [here](https://fortran-lang.org/learn/os_setup). +* [#147](https://github.com/fortran-lang/fortran-lang.org/pull/147): +Automated posting to @fortranlang Twitter using twitter-together. +* [#155](https://github.com/fortran-lang/fortran-lang.org/pull/155): +Fix for a security vulnerability reported by the GitHub Security Team. +* The following packages were added to the +[Package Index](https://fortran-lang.org/packages): +atomsk, ddPCM, DFTB+, DFT-D4, ELPA, ELSI, FortJSON, fypp, HANDE, libmbd, libnegf, +mpifx, NTPoly, NWChem, OpenMolcas, PoisFFT, QMD-PROGRESS, scalapackfx, +tapenade, wannier90, and xtb. +* [#145](https://github.com/fortran-lang/fortran-lang.org/pull/145), +[#146](https://github.com/fortran-lang/fortran-lang.org/pull/146), +[#154](https://github.com/fortran-lang/fortran-lang.org/pull/154), +[#158](https://github.com/fortran-lang/fortran-lang.org/pull/158): +Minor fixes and improvements. + +Ongoing work: + +* [#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): +In-depth introduction for Fortran with Make. +* [#156](https://github.com/fortran-lang/fortran-lang.org/pull/156) (WIP): +Updating the mini-book on building programs. + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +This month progress was made on a few pull requests: + +* [#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation of the `stdlib_bitsets` module. It provides a bitset data type. +* [#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation of the `stdlib_stats_distribution` module. It provides probability distribution and statistical functions. +* [#243](https://github.com/fortran-lang/stdlib/pull/243): A proposition to support newline characters in the message provided to the logger. + +Don't hesitate to test and review these pull requests! + +Otherwise, ongoing discussions continue; + * [#220](https://github.com/fortran-lang/stdlib/pull/220): API for file system operations: directory manipulation + * [#241](https://github.com/fortran-lang/stdlib/pull/241): Include a `split` function (202X feature) + + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +What's new: + +* [#213](https://github.com/fortran-lang/fpm/issues/213): Bootstrap fpm submodule support +* [#208](https://github.com/fortran-lang/fpm/issues/208): Minor fixes to `list_files` and `mkdir` in `fpm_filesystem` +* [#206](https://github.com/fortran-lang/fpm/issues/206): Add installation script in `install.sh` +* [#193](https://github.com/fortran-lang/fpm/issues/193): Local and remote package dependencies (Fortran fpm can now build itself) +* [#190](https://github.com/fortran-lang/fpm/issues/190): Auto discovery of executables +* [#189](https://github.com/fortran-lang/fpm/issues/189), +[#204](https://github.com/fortran-lang/fpm/issues/204), +[#203](https://github.com/fortran-lang/fpm/issues/203): Implement `fpm new` in Fortran fpm + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): First feature-complete release of the Fortran implementation. +* [#221](https://github.com/fortran-lang/fpm/issues/221) (WIP): Test and executable runner options +* [#220](https://github.com/fortran-lang/fpm/issues/220) (WIP): Compiler and flags +* [#216](https://github.com/fortran-lang/fpm/issues/216) (WIP): Remove bashism from install.sh +* [#209](https://github.com/fortran-lang/fpm/issues/209) (WIP): Add automatic documentation for Fortran fpm +* [#202](https://github.com/fortran-lang/fpm/issues/202) (WIP): Create package manifest with toml-f build interface + +fpm is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Try to use it. Does it work? No? Let us know! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Classic Flang + +We continue to evaluate and merge pull requests into the original Flang +compiler again. We pulled in several changes in October. + +Recently merged pull requests into Classic Flang include: +* [PR#660: Enable support for simd directives](https://github.com/flang-compiler/flang/pull/660) +* [PR#878: [DebugInfo]: Fix for missing DISPFlagOptimized in debug metadata](https://github.com/flang-compiler/flang/pull/878) +* [PR#910: Fix f90_correct tests](https://github.com/flang-compiler/flang/pull/910) +* [PR#922: Fix private flag overwrite in find_def_in_most_recent_scope()](https://github.com/flang-compiler/flang/pull/922) +* [PR#927: f90_correct: exclude tests failing with LLVM 10 on OpenPOWER](https://github.com/flang-compiler/flang/pull/927) +* [PR#930: Fix HTML docs generation](https://github.com/flang-compiler/flang/pull/930) +* [PR#931: [flang2] Fix segmentation faults (#421)](https://github.com/flang-compiler/flang/pull/931) +* [PR#932: [flang1] Do not assume unempty derived types](https://github.com/flang-compiler/flang/pull/932) +* [PR#938: [flang2] Fixing possible crash due to ivl being NULL in dinit.cpp](https://github.com/flang-compiler/flang/pull/938) + +The Classic Flang biweekly call has been set up to discuss issues and plans +for the next pull requests to be validated and merged. Our next calls will be +Wednesday, November 4 and 18, 8:00 AM Pacific time (note the time change). +The notes from previous calls, upcoming agenda and a link to join the call can be found +[here](https://docs.google.com/document/d/1-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI). + +### LLVM Flang + +Work continues on LLVM Flang, concentrating on semantics, lowering and runtime. + +In conjunction with the MLIR-based code from the _fir-dev_ fork (the Fortran +IR used for lowering), Flang can compile and run most F77 programs, +including the Fortran Compiler Validation Suite (FCVS). + +Pat McCormick is working on an RFC for the merge of the lowering code +in the fir-dev fork into LLVM master. +The goal is to expedite this in a way that is acceptable to the Flang community, +so we can do further work in the single master branch. + +Arm continues to contribute changes toward a full-fledged driver for flang. + +AMD continues to add support for OpenMP semantics and lowering. + +Valentin Clement continues to contribute parsing and semantics changes for +OpenACC support. + +Michael Kruse continues to add support for building Flang on Windows with MSVC +to the point that he can build and test Flang on Windows. + +### LFortran + +What's new in LFortran: + +* 9 Merge Requests were merged and 5 issues fixed in October 2020 +* We gave LFortran + [talk](https://cfp.jupytercon.com/2020/schedule/presentation/169/lfortran-interactive-llvm-based-fortran-compiler-for-modern-architectures/) + at JupyterCon 2020 +* A prototype compiler implementation of conditional expressions for the + October 2020 Fortran Standards Committee meeting + ([!645](https://gitlab.com/lfortran/lfortran/-/merge_requests/645)) +* Better code formatting support (`lfortran fmt`) +* Improvements to AST +* Capture stdout on Windows in a Jupyter notebook + ([!642](https://gitlab.com/lfortran/lfortran/-/merge_requests/642)) + +You can follow LFortran on Twitter for latest updates: [@lfortranorg](https://twitter.com/lfortranorg). + +## Events + +* The US Fortran Standards Committee held a virtual meeting from October 12-14. +You can read the summary and the discussion [here](https://github.com/j3-fortran/fortran_proposals/issues/185) and all the documents [here](https://j3-fortran.org/doc/meeting/222). + +* We had our 5th Fortran Monthly call on October 27. +You can watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2020-12-01-Fortran-Newsletter-December-2020.md b/source/news/2020-12-01-Fortran-Newsletter-December-2020.md new file mode 100644 index 000000000..68eefe65a --- /dev/null +++ b/source/news/2020-12-01-Fortran-Newsletter-December-2020.md @@ -0,0 +1,186 @@ +--- +layout: post +title: "Fortran newsletter: December 2020" +category: newsletter +date: 2020-12-01 +author: Milan Curcic, Jérémie Vandenplas, Laurence Kedward, Gary Klimowicz, Ondřej Čertík +--- + +# Fortran newsletter: December 2020 +Welcome to the December 2020 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had a few updates to the website: + +* [#156](https://github.com/fortran-lang/fortran-lang.org/pull/156): +Updates to the mini-book on building Fortran programs, including the addition of +short guides on Meson and CMake. +You can read the mini-book [here](https://fortran-lang.org/learn/building_programs). +* [#169](https://github.com/fortran-lang/fortran-lang.org/pull/169): +Add PSBLAS to the package index. + +Ongoing work: + +* [#160](https://github.com/fortran-lang/fortran-lang.org/pull/160) (WIP): +In-depth introduction for Fortran with Make. + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#239](https://github.com/fortran-lang/stdlib/pull/239): Implementation of bitsets in `stdlib_bitsets`. +* [#243](https://github.com/fortran-lang/stdlib/pull/243), + [#245](https://github.com/fortran-lang/stdlib/pull/245), + [#252](https://github.com/fortran-lang/stdlib/pull/253), + [#255](https://github.com/fortran-lang/stdlib/pull/255): Various improvements to `stdlib_logger`. +* [#245](https://github.com/fortran-lang/stdlib/pull/245), + [#250](https://github.com/fortran-lang/stdlib/pull/250): Minor fixes to the CI. + +Work in progress: + +* (WIP) [#240](https://github.com/fortran-lang/stdlib/pull/240): Implementation of the `stdlib_stats_distribution` module. It provides probability distribution and statistical functions. +* (WIP) [#189](https://github.com/fortran-lang/stdlib/pull/189): Initial implementation of sparse matrices. + +Don't hesitate to test and review these pull requests! + +Otherwise, ongoing discussions continue: +* [#220](https://github.com/fortran-lang/stdlib/issues/220): API for file system operations: directory manipulation +* [#241](https://github.com/fortran-lang/stdlib/issues/241): Include a `split` function (202X feature) +* [#254](https://github.com/fortran-lang/stdlib/issues/254): Proposition to add a logger for debug phases and levels among the different logs. + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in `fpm`: + +* [#259](https://github.com/fortran-lang/fpm/pull/259): Update the instructions for building from source in README.md. +* [#246](https://github.com/fortran-lang/fpm/pull/246): Automated binary releases in CI. +* [#233](https://github.com/fortran-lang/fpm/pull/233): Allow linking with external libraries. +* [#224](https://github.com/fortran-lang/fpm/pull/224): Add a reference document for the package manifest (fpm.toml). +* [#221](https://github.com/fortran-lang/fpm/pull/221), + [#239](https://github.com/fortran-lang/fpm/pull/239): Runner options for test and app executables. +* [#220](https://github.com/fortran-lang/fpm/pull/220): Implement compiler and flags settings in Haskell fpm. +* [#209](https://github.com/fortran-lang/fpm/pull/209): + [#237](https://github.com/fortran-lang/fpm/pull/237): Developer API docs. +* [#216](https://github.com/fortran-lang/fpm/pull/216), + [#225](https://github.com/fortran-lang/fpm/pull/225), + [#226](https://github.com/fortran-lang/fpm/pull/226), + [#229](https://github.com/fortran-lang/fpm/pull/229), + [#236](https://github.com/fortran-lang/fpm/pull/236), + [#240](https://github.com/fortran-lang/fpm/pull/240), + [#247](https://github.com/fortran-lang/fpm/pull/240): Other fixes and improvements. + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): First feature-complete release of the Fortran implementation. +* (WIP) [#230](https://github.com/fortran-lang/fpm/pull/230), + [#261](https://github.com/fortran-lang/fpm/pull/261): Specification of the fpm CLI. +* (WIP) [#232](https://github.com/fortran-lang/fpm/pull/232): Allowing the `extra` section in fpm.toml. +* (WIP) [#248](https://github.com/fortran-lang/fpm/pull/248): Refactor backend for incremental rebuilds. +* (WIP) [#251](https://github.com/fortran-lang/fpm/pull/251): Dependency management. +* (WIP) [#255](https://github.com/fortran-lang/fpm/pull/255): Setting the compiler and specifying test or app target. +* (WIP) [#257](https://github.com/fortran-lang/fpm/pull/257): Implement `fpm install`. +* (WIP) [#260](https://github.com/fortran-lang/fpm/pull/260): Fix CI to test release build. + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Classic Flang + +We continue to evaluate and merge pull requests into Classic Flang. Recently merged pull requests into Classic Flang include: +* [PR#883: Flang generated executable does not show result variable of function](https://github.com/flang-compiler/flang/pull/883) +* [PR#933: Updating X-flag entries for internal command line option "-x 49"](https://github.com/flang-compiler/flang/pull/933) +* [PR#939: Publish Arm's internal documentation](https://github.com/flang-compiler/flang/pull/939) +* [PR#941: [DebugInfo] Internal subprogram variable is not accessible for printing in gdb](https://github.com/flang-compiler/flang/pull/941) +* [PR#942: Implement UNROLL(n) directive](https://github.com/flang-compiler/flang/pull/942) +* [PR#943: Enable github Actions for push to master and pull requests to master](https://github.com/flang-compiler/flang/pull/943) +* [PR#945: libpgmath: Stop using pgstdinit.h](https://github.com/flang-compiler/flang/pull/945) +* [PR#946: Call check_member() for PD_is_contiguous](https://github.com/flang-compiler/flang/pull/946) +* [PR#951: Fix for ICE in atomic instruction generation](https://github.com/flang-compiler/flang/pull/951) + +Pull requests merged into the supporting projects: +* [classic flang LLVM monorepo PR#5: [Driver] Reduce downstream delta](https://github.com/flang-compiler/classic-flang-llvm-project/pull/5) +* [classic flang LLVM monorepo PR#6: Removing a few CI pipelines](https://github.com/flang-compiler/classic-flang-llvm-project/pull/6) +* [classic flang LLVM monorepo PR#7: Github Actions added to pre-compile artifacts for flang](https://github.com/flang-compiler/classic-flang-llvm-project/pull/7) +* [llvm mirror PR#87: Enable github actions for llvm](https://github.com/flang-compiler/llvm/pull/87) +* [flang-driver PR#94: Enable github actions](https://github.com/flang-compiler/flang-driver/pull/94) + +The Classic Flang biweekly call has been set up to discuss issues and plans +for the next pull requests to be validated and merged. Our next calls are Wednesday, December 16 and 30, 8:00 AM Pacific time. The notes from previous calls, upcoming agenda and a link to join the call can be found +[here](https://docs.google.com/document/d/1-OuiKx4d7O6eLEJDBDKSRnSiUO2rgRR-c2Ga4AkrzOI). + +### LLVM Flang + +Work continues on LLVM Flang, concentrating on semantics, lowering and runtime. Significant contributions are being made for OpenMP and OpenACC support. + +In conjunction with the MLIR-based code from the _fir-dev_ fork (the Fortran IR used for lowering), Flang can compile and run most F77 programs, including the Fortran Compiler Validation Suite (FCVS). + +Pat McCormick is (still) working on an RFC for the merge of the lowering code +in the fir-dev fork into LLVM master. (This was interrupted by Supercomputing 2020 and other ECP duties.) The goal is to expedite this in a way that is acceptable to the Flang community, so we can do further work in the single master branch. + +Recent updates include: +* Johannes Doerfert has created a web page at https://flang.llvm.org; you can find call and Slack logistics there +* Nichols Romero has an llvm-dev RFC for adding Fortran tests to the llvm-tests project: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146873.html +* Andzrej Warzynski has a flang-dev RFC regarding flang option names: http://lists.llvm.org/pipermail/flang-dev/2020-November/000588.html +* Andzrej Warzynski has a cfe-dev RFC regarding refactoring clang to help flang driver become independent of clang: http://lists.llvm.org/pipermail/cfe-dev/2020-November/067263.html +* Changed representation of CHARACTER data in type system to make more consistent with other types (for arrays) +* Changed COMPLEX expression representation to provide better handling in lowering +* More improvements for supporting Fortran 77 programs +* Implemented runtime support for basic ALLOCATE/DEALLOCATE and further work +* Continued implementation of table-driven runtime for derived types; posted documentation +* Continued implementation of array expression lowering +* Improved error checks on forward references +* More updates to flang driver (option handling; -E can now be used to invoke just the Flang preprocessor) +* OpenACC semantic checks for modifiers on enter/exit data, set directives +* OpenACC lowering (enter/exit data, update, init, shutdown, wait directives) +* OpenMP structure checker updates; semantic checks for copyin clause; schedule class + + +## Events + +* Brian Friesen (Lawrence Berkeley National Laboratory) was selected to be the new Chair of PL22.3 (J3, US Standards Committee). +Brian will serve in his first term until November 2023. Congratulations, Brian! +* We had our 6th Fortran Monthly call on November 17. +You can watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-01-01-Fortran-Newsletter-January-2021.md b/source/news/2021-01-01-Fortran-Newsletter-January-2021.md new file mode 100644 index 000000000..bc9d59468 --- /dev/null +++ b/source/news/2021-01-01-Fortran-Newsletter-January-2021.md @@ -0,0 +1,244 @@ +--- +layout: post +title: "Fortran newsletter: January 2021" +category: newsletter +date: 2021-01-01 +author: Jérémie Vandenplas, Sebastian Ehlert, Laurence Kedward, Milan Curcic, Gary Klimowicz, Ondřej Čertík +--- +# Fortran newsletter: January 2021 + +Happy New Year! +Welcome to the January 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had a few updates to the website: + +* [#178](https://github.com/fortran-lang/fortran-lang.org/pull/178), + [#188](https://github.com/fortran-lang/fortran-lang.org/pull/188): +Fix build preview +* [#179](https://github.com/fortran-lang/fortran-lang.org/pull/179): +Fix word spelling error in quickstart page +* [#173](https://github.com/fortran-lang/fortran-lang.org/pull/173), + [#180](https://github.com/fortran-lang/fortran-lang.org/pull/180), + [#186](https://github.com/fortran-lang/fortran-lang.org/pull/186): +Add missing packages from the list of popular Fortran projects to the package index +* [#182](https://github.com/fortran-lang/fortran-lang.org/pull/182): +Update compilers page following Intel oneAPI release +* [#160](https://github.com/fortran-lang/fortran-lang.org/pull/160), + [#171](https://github.com/fortran-lang/fortran-lang.org/pull/171): +In-depth introduction for Fortran with Make. + +Ongoing work: + +* [#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): +Correct compiler page and tutorial regarding Intel oneAPI and PGI to NVIDIA +* [#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) (WIP): +We are searching for a representative Fortran code snippet for the website and are looking forward to suggestions. +* [#190](https://github.com/fortran-lang/fortran-lang.org/pull/190) (WIP): +Add links to fpm contributing guidelines + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#256](https://github.com/fortran-lang/stdlib/pull/256): Add the method `log_debug` to `stdlib_logger` +* [#257](https://github.com/fortran-lang/stdlib/pull/257): Improve CMake check for F18 error stop +* [#260](https://github.com/fortran-lang/stdlib/pull/260): Add Intel oneAPI Fortran compiler to CI +* [#261](https://github.com/fortran-lang/stdlib/pull/261): Add a level option to ignore logging messages +* [#263](https://github.com/fortran-lang/stdlib/pull/263), + [#267](https://github.com/fortran-lang/stdlib/pull/267): Minor fixes to CI +* [#270](https://github.com/fortran-lang/stdlib/pull/270): Add GFortran 10 to CI +* [#275](https://github.com/fortran-lang/stdlib/pull/275): Add MSYS2 systems to Windows CI +* [#282](https://github.com/fortran-lang/stdlib/pull/282): Add a note about memory issues when compiling stdlib with the support of arrays to up 15 ranks +* [#283](https://github.com/fortran-lang/stdlib/pull/283): Improve the compilation load by splitting submodules + + +Work in progress: + +* [#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): Implementation of a module for handling lists of strings +* [#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), + [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), + [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), + [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), + [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): Implementation of the `stdlib_stats_distribution` modules. It provides probability distribution and statistical functions. +* [#284](https://github.com/fortran-lang/stdlib/pull/284) (WIP): Required changes to be able to use `stdlib` as a subproject in CMake +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): Initial implementation of sparse matrices. + +Don't hesitate to test and review these pull requests! + +Otherwise, ongoing discussions continue about usability of `stdlib` +([#7](https://github.com/fortran-lang/stdlib/issues/7), +[#215](https://github.com/fortran-lang/stdlib/issues/215), +[#279](https://github.com/fortran-lang/stdlib/issues/279), +[#280](https://github.com/fortran-lang/stdlib/issues/280), +[#285](https://github.com/fortran-lang/stdlib/issues/285)), +and new implementations for `stdlib` +([#135](https://github.com/fortran-lang/stdlib/issues/135), +[#212](https://github.com/fortran-lang/stdlib/issues/212), +[#234](https://github.com/fortran-lang/stdlib/issues/234), +[#241](https://github.com/fortran-lang/stdlib/issues/241), +[#258](https://github.com/fortran-lang/stdlib/issues/258), +[#259](https://github.com/fortran-lang/stdlib/issues/259), +[#262](https://github.com/fortran-lang/stdlib/issues/262), +[#268](https://github.com/fortran-lang/stdlib/issues/268), +[#277](https://github.com/fortran-lang/stdlib/issues/277)). + + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in `fpm`: + +* [Alpha release version 0.1.3](https://github.com/fortran-lang/fpm/releases/tag/v0.1.3) +* [setup-fpm action](https://github.com/marketplace/actions/setup-fpm): + GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and Windows runners +* [Discussion board](https://github.com/fortran-lang/fpm/discussions): + For questions & answers, sharing of ideas, showing off projects and, of course, discussions around fpm +* [#248](https://github.com/fortran-lang/fpm/pull/248): + Refactor backend for incremental rebuilds +* [#266](https://github.com/fortran-lang/fpm/pull/251): + Dependency management and `fpm update` subcommand +* [#255](https://github.com/fortran-lang/fpm/pull/255) + Setting the compiler and specifying test or app target +* [#262](https://github.com/fortran-lang/fpm/pull/262): + Add -fcoarray=single to default gfortran flags +* [#257](https://github.com/fortran-lang/fpm/pull/257): + Implement `fpm install` +* [#260](https://github.com/fortran-lang/fpm/pull/260): + Fix CI to test release build +* [#267](https://github.com/fortran-lang/fpm/pull/267): + Fix enumeration of non-library link objects +* [#268](https://github.com/fortran-lang/fpm/pull/268): + Fix dependency tracking issue in bootstrap version +* [#271](https://github.com/fortran-lang/fpm/pull/271): + Fix Windows run and test commands +* [#273](https://github.com/fortran-lang/fpm/pull/273): + Update developer documentation (manifest + command line) +* [#274](https://github.com/fortran-lang/fpm/pull/274): + Update README with link to setup-fpm github action. +* [#280](https://github.com/fortran-lang/fpm/pull/280): + Create specification for example section +* [#281](https://github.com/fortran-lang/fpm/pull/281): + Cleanup: Remove archived Rust prototype +* [#284](https://github.com/fortran-lang/fpm/pull/284): + Document model and backend for developers +* [#285](https://github.com/fortran-lang/fpm/pull/285): + CI: update naming of release binaries +* [#286](https://github.com/fortran-lang/fpm/pull/286): + Implement check for duplicated program names +* [#289](https://github.com/fortran-lang/fpm/pull/289): + Add support for same compilers as Fortran version to Haskell version +* [#291](https://github.com/fortran-lang/fpm/pull/291): + Initial implementation of `fpm build --show-model` +* [#292](https://github.com/fortran-lang/fpm/pull/292): + Specify the correct help for `fpm run -h` +* [#293](https://github.com/fortran-lang/fpm/pull/293): + Fix: missing error check after `new_package` call +* [#294](https://github.com/fortran-lang/fpm/pull/294): + Add: support for detecting .f and .F files +* [#300](https://github.com/fortran-lang/fpm/pull/300): + Remove -coarray=single option from ifort compiler default options +* [#303](https://github.com/fortran-lang/fpm/pull/303): + Fixes to source parsing +* [#304](https://github.com/fortran-lang/fpm/pull/304): + Remove note on not supported dependencies in program targets +* [#307](https://github.com/fortran-lang/fpm/pull/307): + Fix: program object file collision +* [#315](https://github.com/fortran-lang/fpm/pull/315): + Remove: -ffast-math in gfortran default release flags +* [#322](https://github.com/fortran-lang/fpm/pull/322): + Group sources by package in the model + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#230](https://github.com/fortran-lang/fpm/pull/230), + [#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): + Specification of the fpm CLI. +* [#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): + Update subcommand "new" to reflect the addition of support for examples + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Classic Flang + +There are several pull requests out for evaluation. + +Only one pull request was merged in December: + +* [PR#951 Fix for ICE in atomic instruction generation](https://github.com/flang-compiler/flang/pull/951) + +### LLVM Flang + +Alexis-Perry Holby (aperry@lanl.gov) has taken over the Flang biweekly calls. +An invitation was sent to the _flang-dev_ LLVM email list on December 22nd. +Call notes will be sent to the _flang-dev_ email list and also recorded [here]( https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). + +Recent development updates: + +* Semantic analysis fix for index-names of `FORALL` statements +* Continued work on parser support for `ALLOCATE` +* Build tidying +* OpenMP semantic checks: atomic, flush +* Continued work on new driver +* Fix for list-directed REAL output editing +* Bug fixes: USE of USE of generic, crash in folding (#48437), crash in OpenMP semantic check (#48308), `IMPLICIT_NONE(EXTERNAL)` +* Implement `STORAGE_SIZE()`, `SIZEOF()`, and `C_SIZEOF()` +* OpenACC: update serial construct clauses for 3.1, enforce restriction on routine directive and clauses +* OpenMP: adding important clauses to OmpClause, task reduction clause + +## Events + +* We had our 7th Fortran Monthly call on December 15. +You can watch the recording below: + + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +* [Episode 6](https://adspthepodcast.com/2021/01/01/Episode-6.html) of the +Algorithms+Data Structures=Programs (ADSP) Podcast discussed Fortran and +the recent fortran-lang developments. +* [First year of Fortran-lang](https://medium.com/modern-fortran/first-year-of-fortran-lang-d8796bfa0067) by Milan Curcic. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [j3-fortran/fortran_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-02-01-Fortran-Newsletter-February-2021.md b/source/news/2021-02-01-Fortran-Newsletter-February-2021.md new file mode 100644 index 000000000..31e16e46a --- /dev/null +++ b/source/news/2021-02-01-Fortran-Newsletter-February-2021.md @@ -0,0 +1,203 @@ +--- +layout: post +title: "Fortran newsletter: February 2021" +category: newsletter +date: 2021-02-01 +author: Sebastian Ehlert, Milan Curcic, Laurence Kedward, Jérémie Vandenplas, Alexis Perry-Holby +--- +# Fortran newsletter: February 2021 +Welcome to the February 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had a few updates to the website: + +* [#190](https://github.com/fortran-lang/fortran-lang.org/pull/190): + Add links to fpm contributing guidelines + +Ongoing work: + +* [#191](https://github.com/fortran-lang/fortran-lang.org/pull/191) (WIP): + Fix author/maintainer output in fpm registry +* [#187](https://github.com/fortran-lang/fortran-lang.org/pull/187) (WIP): + Correct compiler page and tutorial regarding Intel oneAPI and PGI to NVIDIA +* [#174](https://github.com/fortran-lang/fortran-lang.org/issues/174) (WIP): + We are searching for a representative Fortran code snippet for the website and are looking forward to suggestions. + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#303](https://github.com/fortran-lang/stdlib/pull/303), + [#301](https://github.com/fortran-lang/stdlib/pull/301), + [#294](https://github.com/fortran-lang/stdlib/pull/294): + Fixes and improvements for the manual Makefile build +* [#293](https://github.com/fortran-lang/stdlib/pull/293): + Write a more verbose introduction to building stdlib +* [#291](https://github.com/fortran-lang/stdlib/pull/291): + Export package files (CMake and pkg-config) +* [#290](https://github.com/fortran-lang/stdlib/pull/290): + Rename CMake project from stdlib to fortran\_stdlib +* [#288](https://github.com/fortran-lang/stdlib/pull/288): + Follow GNU install conventions +* [#284](https://github.com/fortran-lang/stdlib/pull/284): + Required changes to be able to use `stdlib` as a subproject in CMake +* [CMake example](https://github.com/fortran-lang/stdlib-cmake-example): + Integration of the Fortran standard library in CMake projects + +Work in progress: + +* [#304](https://github.com/fortran-lang/stdlib/pull/304) (WIP): + Add supported compilers MinGW 8, 9, 10 +* [#269](https://github.com/fortran-lang/stdlib/pull/269) (WIP): + Implementation of a module for handling lists of strings +* [#271](https://github.com/fortran-lang/stdlib/pull/271) (WIP), + [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), + [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), + [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), + [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Implementation of the `stdlib_stats_distribution` modules. + It provides probability distribution and statistical functions. +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of sparse matrices. + +Don't hesitate to test and review these pull requests! + +Otherwise, ongoing discussions continue about usability of `stdlib` +([#7](https://github.com/fortran-lang/stdlib/issues/7), +[#215](https://github.com/fortran-lang/stdlib/issues/215), +[#279](https://github.com/fortran-lang/stdlib/issues/279), +[#280](https://github.com/fortran-lang/stdlib/issues/280), +[#285](https://github.com/fortran-lang/stdlib/issues/285)), +and new implementations for `stdlib` +([#135](https://github.com/fortran-lang/stdlib/issues/135), +[#212](https://github.com/fortran-lang/stdlib/issues/212), +[#234](https://github.com/fortran-lang/stdlib/issues/234), +[#241](https://github.com/fortran-lang/stdlib/issues/241), +[#258](https://github.com/fortran-lang/stdlib/issues/258), +[#259](https://github.com/fortran-lang/stdlib/issues/259), +[#262](https://github.com/fortran-lang/stdlib/issues/262), +[#268](https://github.com/fortran-lang/stdlib/issues/268), +[#277](https://github.com/fortran-lang/stdlib/issues/277)). + + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in `fpm`: + +* [#342](https://github.com/fortran-lang/fpm/pull/342): + Fix broken link in contributing guidelines +* [#337](https://github.com/fortran-lang/fpm/pull/337): + Allow hyphens in fpm project names in "fpm new" +* [#335](https://github.com/fortran-lang/fpm/pull/335): + Fix: performance regression +* [#334](https://github.com/fortran-lang/fpm/pull/334): + Remove a name clash in the fpm testsuite + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#230](https://github.com/fortran-lang/fpm/pull/230), + [#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): + Specification of the fpm CLI. +* [#316](https://github.com/fortran-lang/fpm/pull/316) (WIP): + Update subcommand "new" to reflect the addition of support for examples +* [#345](https://github.com/fortran-lang/fpm/pull/345) (WIP): + Update: fpm\_backend with dynamic openmp scheduling + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Classic Flang + +There are a number of pull requests out for evaluation. + +A total of 12 pull requests were merged in January. + +* [PR#932 Do not assume unempty derived types](https://github.com/flang-compiler/flang/pull/932) +* [PR#957 Support Prefetch Directive](https://github.com/flang-compiler/flang/pull/957) +* [PR#947 Fix gcc-10 compilaton issues](https://github.com/flang-compiler/flang/pull/947) +* [PR#948 Expand CI to run with GCC-9/10 and LLVM-9/10/11](https://github.com/flang-compiler/flang/pull/948) +* [PR#949 USE rename should check if renamed sptr is available in the scope](https://github.com/flang-compiler/flang/pull/949) +* [PR#971 Remove dwarfdump_prolog.f90 test since it is dependent on codegen](https://github.com/flang-compiler/flang/pull/971) +* [PR#940 Flang should generate debug location for limited instructions in prolog](https://github.com/flang-compiler/flang/pull/940) +* [PR#977 Update apt data before installing sphinx](https://github.com/flang-compiler/flang/pull/977) +* [PR#751 Fix for len intrinsic returning int*8 in some cases](https://github.com/flang-compiler/flang/pull/751) +* [PR#956 Minor FileCheck pattern fixes](https://github.com/flang-compiler/flang/pull/956) +* [PR#978 Fix the readme to point to the correct flang-dev list](https://github.com/flang-compiler/flang/pull/978) +* [PR#979 Rename direct header to avoid windows conflict](https://github.com/flang-compiler/flang/pull/979) + + +### LLVM Flang + +Recent development updates: + +* OpenMP semantic checks: private, firstprivate, lastprivate, Workshare Construct, `DO` loop restrictions +* Detect call to abstract interface +* OpenMP - add task_reduction clause, make reduction clause part of OmpClause +* New Driver - adding support for various options, testing improvements, standard macro pre-definitions, fixed-form detection, CMake improvements +* OpenACC - semantic checks to enforce declare directive restrictions +* Internal subprogram improvements +* OpenMP/OpenACC - Extend CheckNoBranching to handle branching provided by LabelEnforce +* Disallow `INTENT` attribute on procedure dummy arguments +* Module file improvements and bug fixes +* Add tests for procedure arguments with implicit interfaces + +Call notes will be sent to the _flang-dev_ email list and also recorded [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). + + +## Events + +* We had our 8th Fortran Monthly call on January 19. +You can watch the recording below: + + + +* This year fortran-lang will be applying as a mentor organisation for [Google Summer of Code](https://summerofcode.withgoogle.com/). +We have started working on the application and the project ideas; you can join the ongoing discussion [here](https://fortran-lang.discourse.group/t/google-summer-of-code-2021/658). +If you'd like to help us flesh out the ideas, or have a project idea of your own, please join our upcoming video calls on February 9 and 16 (call info will be posted in the Discourse thread), or write directly in the Discourse thread. +If you're a student, or know students who are [eligible to participate](https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation), and you'd like to help build the Fortran ecosystem please reach out and let us know. + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-03-01-Fortran-Newsletter-March-2021.md b/source/news/2021-03-01-Fortran-Newsletter-March-2021.md new file mode 100644 index 000000000..8c664243d --- /dev/null +++ b/source/news/2021-03-01-Fortran-Newsletter-March-2021.md @@ -0,0 +1,202 @@ +--- +layout: post +title: "Fortran newsletter: March 2021" +category: newsletter +date: 2021-03-01 +author: Milan Curcic, Laurence Kedward, Ondřej Čertík +--- +# Fortran newsletter: March 2021 +Welcome to the March 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#191](https://github.com/fortran-lang/fortran-lang.org/pull/191): + Fix author/maintainer output in fpm registry +* [#193](https://github.com/fortran-lang/fortran-lang.org/pull/193): + Rename all instances of fortran-lang.github.io to fortran-lang.org +* [#196](https://github.com/fortran-lang/fortran-lang.org/pull/196): + Update package index +* [#199](https://github.com/fortran-lang/fortran-lang.org/pull/199): + Fix broken link for LLVM flang +* [#205](https://github.com/fortran-lang/fortran-lang.org/pull/205): + Add more electronic structure and atomistic simulation packages +* [#206](https://github.com/fortran-lang/fortran-lang.org/pull/206): + Add books to learning section +* [#208](https://github.com/fortran-lang/fortran-lang.org/pull/208): + Fix package information + +Ongoing work: + +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang +* [#207](https://github.com/fortran-lang/fortran-lang.org/issues/207) (WIP): + Correct subtitle of setting up your os + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#271](https://github.com/fortran-lang/stdlib/pull/271): + Probability Distribution and Statistical Functions--PRNG Module +* [#304](https://github.com/fortran-lang/stdlib/pull/304): + Add supported compilers MinGW 8, 9, 10 +* [#310](https://github.com/fortran-lang/stdlib/pull/310): + Extend `stdlib_ascii` module for handling character variables +* [#324](https://github.com/fortran-lang/stdlib/pull/324): + Install setuptools for MinGW builds + +Work in progress: + +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of sparse matrices. +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), + [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), + [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), + [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Implementation of the `stdlib_stats_distribution` modules. + It provides probability distribution and statistical functions. +* [#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): + Implementation of a module for handling lists of strings +* [#320](https://github.com/fortran-lang/stdlib/pull/320) (WIP): + Implement non-fancy functional string type +* [#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): + Legendre polynomials and Gaussian quadrature + +Please help improve stdlib by testing and reviewing these pull requests! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in `fpm`: + +* [#316](https://github.com/fortran-lang/fpm/pull/316): + Update subcommand "new" to reflect the addition of support for the example/ directory +* [#345](https://github.com/fortran-lang/fpm/pull/345): + Fpm backend with dynamic openmp scheduling +* [#346](https://github.com/fortran-lang/fpm/pull/346): + Include root dir in path to default example setup +* [#349](https://github.com/fortran-lang/fpm/pull/349): + Suggest to move the fpm version in the boostrapping process +* [#372](https://github.com/fortran-lang/fpm/pull/372): + Unify release mode calling convention + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#230](https://github.com/fortran-lang/fpm/pull/230), + [#261](https://github.com/fortran-lang/fpm/pull/261) (WIP): + Document the specification of the fpm CLI. +* [#352](https://github.com/fortran-lang/fpm/pull/352) (WIP): + Hacky fix for the help test +* [#357](https://github.com/fortran-lang/fpm/pull/357) (WIP): + Install script for Fortran fpm +* [#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): + Plugin alpha version +* [#369](https://github.com/fortran-lang/fpm/pull/369) (WIP): + Separate build targets from model structure +* [#370](https://github.com/fortran-lang/fpm/pull/370) (WIP): + Update run subcommand + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### LFortran + +* The LFortran team is excited to announce that LFortran is now a [NumFOCUS sponsored project](https://numfocus.org/project/lfortran). +Please consider donating to LFortran to accelerate its development. +* 4 people contributed code in the last month: + [Gagandeep Singh](https://github.com/czgdp1807), + [Dominic Poerio](https://dompoer.io/), + [Rohit Goswami](https://rgoswami.me/), + [Ondřej Čertík](https://ondrejcertik.com/). +* Recent Merge Requests highlights: + * Complex type support (thanks to [Gagandeep Singh](https://github.com/czgdp1807)): + [!654](https://gitlab.com/lfortran/lfortran/-/merge_requests/654), + [!657](https://gitlab.com/lfortran/lfortran/-/merge_requests/657), + [!658](https://gitlab.com/lfortran/lfortran/-/merge_requests/658), + [!660](https://gitlab.com/lfortran/lfortran/-/merge_requests/660), + [!663](https://gitlab.com/lfortran/lfortran/-/merge_requests/663), + [!664](https://gitlab.com/lfortran/lfortran/-/merge_requests/664). + [!672](https://gitlab.com/lfortran/lfortran/-/merge_requests/672). + * Multiline REPL (thanks to [Dominic Poerio](https://dompoer.io/)): + [!655](https://gitlab.com/lfortran/lfortran/-/merge_requests/655), + [!662](https://gitlab.com/lfortran/lfortran/-/merge_requests/662), + [!670](https://gitlab.com/lfortran/lfortran/-/merge_requests/670), + [!674](https://gitlab.com/lfortran/lfortran/-/merge_requests/674). + * Initial support for runtime math functions: + [!667](https://gitlab.com/lfortran/lfortran/-/merge_requests/667), + [!673](https://gitlab.com/lfortran/lfortran/-/merge_requests/673), + * [!648](https://gitlab.com/lfortran/lfortran/-/merge_requests/648): Implement --show-stacktrace + * [!666](https://gitlab.com/lfortran/lfortran/-/merge_requests/666): Refactor + ImplicitCast nodes handling + * [!665](https://gitlab.com/lfortran/lfortran/-/merge_requests/665): Fixed + floating point printing + + + +## Events + +* We had our 9th Fortran Monthly call on February 25. +You can watch the recording below: + + + +* This year Fortran-lang applied as a mentor organization for [Google Summer of Code](https://summerofcode.withgoogle.com/). +Accepted mentor organizations will be announced on March 9. +If you're a student, or know students who are [eligible to participate](https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation), and you'd like to help build the Fortran ecosystem please reach out and let us know. + +* The 223rd meeting of the US Fortran Standards Committee is held virtually from + February 22 to March 2 (Monday and Tuesday only). + Main topics of dicussion are the planned changes for the Fortran 202X revision + of the Standard: + + * [List](https://j3-fortran.org/doc/meeting/223) of all submitted papers + * [Summary](https://github.com/j3-fortran/fortran_proposals/issues/199) of which papers were discussed each day and voting results + + If you have ideas for new improvements to the language, please propose them + [here](https://github.com/j3-fortran/fortran_proposals). + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md b/source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md new file mode 100644 index 000000000..0f09684d9 --- /dev/null +++ b/source/news/2021-03-09-fortran-lang-accepted-for-google-summer-of-code-2021.md @@ -0,0 +1,23 @@ +--- +layout: post +title: Fortran-lang accepted to Google Summer of Code 2021 +category: newsletter +date: 2021-03-09 +author: Ondřej Čertík, Milan Curcic, Sebastian Ehlert, Laurence Kedward, Arjen Markus, Brad Richardson, Damian Rouson, Marshall Ward +--- +# Fortran-lang accepted to Google Summer of Code 2021 +We are excited to announce that Fortran-lang has been accepted as a [Google Summer of Code (GSoC) 2021 mentoring organization](https://summerofcode.withgoogle.com/organizations/6633903353233408)! 🎉 + +You can review our project ideas +[here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021-Project-ideas), +and if you have any ideas that are not mentioned, please let us know. + +We are looking for students to get in touch with us and to apply. +Click [here](https://github.com/fortran-lang/fortran-lang.org/wiki/GSoC-2021-Student-instructions) +for instructions on how to do so. + +Our main communication channel will be the [Fortran Discourse](https://fortran-lang.discourse.group/). +There, we will announce a date for GSoC video calls where all prospective +students are welcome to join to ask questions, discuss, and brainstorm ideas. + +We look forward to a productive and fun Google Summer of Code! diff --git a/source/news/2021-04-01-Fortran-Newsletter-April-2021.md b/source/news/2021-04-01-Fortran-Newsletter-April-2021.md new file mode 100644 index 000000000..b390b9d33 --- /dev/null +++ b/source/news/2021-04-01-Fortran-Newsletter-April-2021.md @@ -0,0 +1,306 @@ +--- +layout: post +title: "Fortran newsletter: April 2021" +category: newsletter +date: 2021-04-01 +author: Sebastian Ehlert, Alexis Perry-Holby, Laurence Kedward, Milan Curcic, Ondřej Čertík +--- +# Fortran newsletter: April 2021 +Welcome to the April 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#229](https://github.com/fortran-lang/fortran-lang.org/pull/229): + Correct value of pi in quickstart mini-book +* [#226](https://github.com/fortran-lang/fortran-lang.org/pull/226): + Added DelaunaySparse to package list +* [#223](https://github.com/fortran-lang/fortran-lang.org/pull/223) + [#225](https://github.com/fortran-lang/fortran-lang.org/pull/225): + GSoC announcement +* [#222](https://github.com/fortran-lang/fortran-lang.org/pull/222): + Avoid unclear formulation in contributing guide +* [#221](https://github.com/fortran-lang/fortran-lang.org/pull/221): + Add information about free compiler versions +* [#216](https://github.com/fortran-lang/fortran-lang.org/pull/216): + Improve tags +* [#207](https://github.com/fortran-lang/fortran-lang.org/issues/207): + Correct subtitle of setting up your os + +Ongoing work: + +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang +* [#220](https://github.com/fortran-lang/fortran-lang.org/pull/220) (WIP): + Include learn resources to online courses + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#320](https://github.com/fortran-lang/stdlib/pull/320): + Implement non-fancy functional string type +* [#362](https://github.com/fortran-lang/stdlib/pull/362): + Fix wording in style guide for dimension attribute +* [#352](https://github.com/fortran-lang/stdlib/pull/352): + Added TOC to README +* [#346](https://github.com/fortran-lang/stdlib/pull/346) + [#356](https://github.com/fortran-lang/stdlib/pull/356): + Added to\_lower, to\_upper, reverse and to\_title function to stdlib\_string\_type module + +Work in progress: + +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of sparse matrices. +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), + [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), + [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), + [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Implementation of the `stdlib_stats_distribution` modules. + It provides probability distribution and statistical functions. +* [#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): + Implementation of a module for handling lists of strings +* [#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): + Legendre polynomials and Gaussian quadrature +* [#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): + Provide abstract base class for a string object +* [#336](https://github.com/fortran-lang/stdlib/pull/336) (WIP): + Add functions to convert integer/logical values to character values +* [#343](https://github.com/fortran-lang/stdlib/pull/343) (WIP): + Implement strip and chomp as supplement to trim +* [#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): + Simplify test makefile +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): + Implement clip function +* [#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): + Add general contributing guidelines to stdlib +* [#360](https://github.com/fortran-lang/stdlib/pull/360) (WIP): + Summarize build toolchain workflow and implied rules +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Add sort to stdlib\_string\_type module +* [#367](https://github.com/fortran-lang/stdlib/pull/367) (WIP): + Add Intel compiler workflow for OSX + + +Please help improve stdlib by testing and reviewing these pull requests! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in `fpm`: + +* [Alpha release version 0.2.0](https://github.com/fortran-lang/fpm/releases/tag/v0.2.0) +* [Fpm is now available on conda-forge](https://github.com/conda-forge/fpm-feedstock) +* [#352](https://github.com/fortran-lang/fpm/pull/352): + Hacky fix for the help test +* [#357](https://github.com/fortran-lang/fpm/pull/357): + Install script for Fortran fpm +* [#369](https://github.com/fortran-lang/fpm/pull/369): + Separate build targets from model structure +* [#370](https://github.com/fortran-lang/fpm/pull/370): + Update run subcommand +* [#377](https://github.com/fortran-lang/fpm/pull/377): + Add explicit include-dir key to manifest +* [#378](https://github.com/fortran-lang/fpm/pull/378): + Add ford-compatible documentation to fpm\_strings.f90 +* [#386](https://github.com/fortran-lang/fpm/pull/386): + Replace deprecated flags in debug\_fortran option +* [#390](https://github.com/fortran-lang/fpm/pull/390) + [#407](https://github.com/fortran-lang/fpm/pull/407): + Implement --flag option for Fortran fpm +* [#397](https://github.com/fortran-lang/fpm/pull/397): + Add Conda install instructions to the README +* [#398](https://github.com/fortran-lang/fpm/pull/398): + Minor fix: for setting executable link libraries +* [#402](https://github.com/fortran-lang/fpm/pull/402): + Add fpm description and reorganize the README intro +* [#404](https://github.com/fortran-lang/fpm/pull/404): + Correct join for null input +* [#409](https://github.com/fortran-lang/fpm/pull/409): + Give Programs Access to Code in Subdirectories +* [#414](https://github.com/fortran-lang/fpm/pull/414): + Add few important links to README +* [#412](https://github.com/fortran-lang/fpm/pull/412): + Duplicate module definitions +* [#413](https://github.com/fortran-lang/fpm/pull/413): + Add: omp\_lib to intrinsic modules list +* [#419](https://github.com/fortran-lang/fpm/pull/419): + Split workflow for Haskell and Fortran fpm + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): + Plugin alpha version +* [#420](https://github.com/fortran-lang/fpm/pull/420) (WIP): + Phase out Haskell fpm +* [fpm-haskell](https://github.com/fortran-lang/fpm-haskell) (WIP): + Separate repository for the Haskell fpm version + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Classic Flang + +A total of 10 pull requests were merged in February. + +* [PR#996 tests: one test case supporting PR #966](https://github.com/flang-compiler/flang/pull/996) +* [PR#968 Fix a clash between CONTIGUOUS and SAVE attribute in flang (issue #673)](https://github.com/flang-compiler/flang/pull/968) +* [PR#955 Do not issue an error when character kind 2 is used](https://github.com/flang-compiler/flang/pull/955) +* [PR#975 Add the option to build release_11x branch of llvm with Github Actions](https://github.com/flang-compiler/flang/pull/975) +* [PR#974 Fix hash collision handling routine that didn't work due to a fatal mistake (issue #960).](https://github.com/flang-compiler/flang/pull/974) +* [PR#1000 Add ccache support to GitHub Actions](https://github.com/flang-compiler/flang/pull/1000) +* [PR#952 Array debugging support with upgraded DISubrange](https://github.com/flang-compiler/flang/pull/952) +* [PR#1002 Fix for regression introduced by PR #922 (issue #995)](https://github.com/flang-compiler/flang/pull/1002) +* [PR#985 add asprintf](https://github.com/flang-compiler/flang/pull/985) +* [PR#966 Fixes to address cp2k compilation and runtime issues](https://github.com/flang-compiler/flang/pull/966) + +A total of 8 pull requests were merged in March. + +* [PR#963 Fix errors on array initialisation with an implied do loop](https://github.com/flang-compiler/flang/pull/963) +* [PR#1007 fix for issue #1006: stop passing unused uninitialized value](https://github.com/flang-compiler/flang/pull/1007) +* [PR#1004 Nested implied do loop fix for real numbers](https://github.com/flang-compiler/flang/pull/1004) +* [PR#710 Test case for capturing procedure pointers to OpenMP parallel regions](https://github.com/flang-compiler/flang/pull/710) +* [PR#561 flang2: corrected fix for #424](https://github.com/flang-compiler/flang/pull/561) +* [PR#778 Fixing NCAR test problems with error tolerance lower than E-12.](https://github.com/flang-compiler/flang/pull/778) +* [PR#1010 LLVM 12 upgrade](https://github.com/flang-compiler/flang/pull/1010) +* [PR#1012 Remove release_90 from Github Actions](https://github.com/flang-compiler/flang/pull/1012) + +### LLVM Flang + +Recent development updates: + +* New Driver: + * Add options for -fdefault\* and -flarge-sizes + * Refine tests for module search directories + * Add -fdebug-dump-parsing-log + * Add -fdebug-module-writer option + * Add debug dump, measure-parse-tree and pre-fir-tree options + * Add -Xflang and make -test-io a frontend-only flang + * Add -J and -module-dir to f18 driver + * Fix -fdefault\* family bug +* FIR (Fortran IR - a dialect of MLIR): + * Add diagnostic tests for FIR ops verifier + * Add FIR Types parser diagnostic tests + * Upstream the pre-FIR tree changes (The PFT has been updated to support Fortran 77) + * Update flang test tool support classes + * Add zero_bits, array value, and other operations + * Upstream utility function valueHasFirAttribute() to be used in subsequent merges +* OpenMP - add semantic checks for: + * OpenMP 4.5 - 2.7.1 Do Loop restrictions for Threadprivate + * Occurrence of multiple list items in aligned clause for simd directive + * Flang OpenMP 4.5 - 2.15.3.6 Reduction clause + * 2.15.4.2 - Copyprivate clause + * 2.15.3.4 - Firstprivate clause + * 2.15.3.5 - Lastprivate clause +* Update character tests to use gtest +* Adaptations to MLIR API changes +* Fix call to CHECK() on overriding an erroneous type-bound procedure +* Handle type-bound procedures with alternate returns +* Runtime: implement INDEX intrinsic function +* Fix compilation on MinGW-w64 +* Extension: forward refs to dummy args under IMPLICIT NONE +* Detect circularly defined interfaces of procedures +* Implement the related character intrinsic functions SCAN and VERIFY + +Call notes will be sent to the _flang-dev_ email list and also recorded [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). + +### LFortran + +* LFortran is participating in GSoC under the NumFOCUS and Fortran-lang umbrella, if you are interested, please apply: [https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC-2021-Ideas) +* 7 people contributed code in the last month: + [Gagandeep Singh](https://github.com/czgdp1807), + [Dominic Poerio](https://dompoer.io/), + [Himanshu Pandey](https://github.com/hp77-creator), + [Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel), + [Scot Halverson](https://github.com/scothalverson), + [Rohit Goswami](https://rgoswami.me/), + [Ondřej Čertík](https://ondrejcertik.com/). +* 114 Merge Requests were [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&utf8=%E2%9C%93&state=merged) in the past month, highlights + * macOS support (both Intel and ARM), compilation and development of + LFortran itself (stacktraces work also) + * Initial implentation of: modules (modfiles, dependencies, ...), + interfaces, integer/real kinds, public/private attribute, derived types, + strings, variable initializations, pointers, modules + * Many other fixes + +LFortran is still in pre-alpha stage, but we are making rapid progress towards +getting it to compile more Fortran features. We are looking for contributors, +if you are interested, please get in touch and we will help you get started. +We can be contacted at Zulip Chat, mailinglist or GitLab issues (see +https://lfortran.org for links to all three). + +## Events + +* We had our 10th Fortran Monthly call on March 24. +You can watch the recording below: + + + +* This year Fortran-lang is a mentor organization for [Google Summer of Code](https://summerofcode.withgoogle.com/organizations/6633903353233408/). +If you're a student, or know students who are [eligible to participate](https://developers.google.com/open-source/gsoc/faq#what_are_the_eligibility_requirements_for_participation), and you'd like to help build the Fortran ecosystem please reach out and let us know. +The student application window opened on March 29 and will close on April 13 at 14:00 Eastern Time. + +* The 223rd meeting of the US Fortran Standards Committee concluded on March 2. + Main topics of dicussion were the planned changes for the Fortran 202X revision of the Standard. + Here's the [list of all submitted papers](https://j3-fortran.org/doc/meeting/223), + and the [summary](https://github.com/j3-fortran/fortran_proposals/issues/199) + of the papers discussed and voting results. + The committee also welcomed a new member, Milan Curcic ([@milancurcic](https://github.com/milancurcic)), + who is the voting alternate to Gary Klimowicz ([@gklimowicz](https://github.com/gklimowicz)). + + If you have ideas for new improvements to the language, please propose them + [here](https://github.com/j3-fortran/fortran_proposals). + +* Registration is open for the upcoming free webinar on + [Fortran for High Performance Computing](https://register.gotowebinar.com/register/7343048137688004108). + The webinar is organized by [Excellerat](https://www.excellerat.eu/) + and will be presented by Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the University of Southampton. + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-04-20-First-Year.md b/source/news/2021-04-20-First-Year.md new file mode 100644 index 000000000..6055aab75 --- /dev/null +++ b/source/news/2021-04-20-First-Year.md @@ -0,0 +1,34 @@ +--- +layout: post +title: "First year of the Fortran website" +category: newsletter +date: 2021-04-20 +author: Ondřej Čertík, Milan Curcic, Brad Richardson, Laurence Kedward +--- +# First year of the Fortran website +In April 2020 we created a website for the Fortran language at +[fortran-lang.org](https://fortran-lang.org/). In exactly one year, it grew to +be the first result when you search "Fortran" in Bing, Yahoo, DuckDuckGo, +Ecosia, Qwant, SearchEncrypt and the second result in Google (after the +Wikipedia page for Fortran). + +The goal of the website is to maintain a neutral place where any Fortran user +(expert or novice), compiler vendor (open source or commercial), Fortran +Standards Committee member, enthusiast, supporter or anybody else interested +is welcome to participate. Fortran was invented in 1956, and we aim to be the +stewards of the language and we welcome you to join us. + +Here are some of the ways that you can participate: + +* [Fortran Discourse](https://fortran-lang.discourse.group/) discussion forum +* Contribute to [fpm](https://github.com/fortran-lang/fpm/), + [stdlib](https://github.com/fortran-lang/stdlib/), + the [Fortran website](https://github.com/fortran-lang/fortran-lang.org) or + any other project +* Join our monthly Fortran call (see announcements at Discourse) +* Contribute to the Fortran monthly newsletter +* Follow our Fortran Twitter account + [@fortranlang](https://twitter.com/fortranlang) + +Thank you everybody for your support so far. We are looking forward for the +second year! diff --git a/source/news/2021-05-01-Fortran-Newsletter-May-2021.md b/source/news/2021-05-01-Fortran-Newsletter-May-2021.md new file mode 100644 index 000000000..7989a1030 --- /dev/null +++ b/source/news/2021-05-01-Fortran-Newsletter-May-2021.md @@ -0,0 +1,243 @@ +--- +layout: post +title: "Fortran newsletter: May 2021" +category: newsletter +date: 2021-05-01 +author: Sebastian Ehlert, Alexis Perry-Holby, Milan Curcic, Ondřej Čertík, Laurence Kedward +--- +# Fortran newsletter: May 2021 +Welcome to the May 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#244](https://github.com/fortran-lang/fortran-lang.org/pull/244): + Add a first year announcement +* [#236](https://github.com/fortran-lang/fortran-lang.org/pull/236): + Add dl\_poly\_4 to package index +* [#220](https://github.com/fortran-lang/fortran-lang.org/pull/220): + Include learn resources to online courses + +Ongoing work: + +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): + Transferring fortran90.org “Fortran Best Practise” into a mini-book + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#391](https://github.com/fortran-lang/stdlib/pull/391): + Add issue templates +* [#388](https://github.com/fortran-lang/stdlib/pull/388): + Changed filenames for bitset tests +* [#384](https://github.com/fortran-lang/stdlib/pull/384): + Implement starts\_with and ends\_with functions +* [#367](https://github.com/fortran-lang/stdlib/pull/367): + Add Intel compiler workflow for OSX +* [#360](https://github.com/fortran-lang/stdlib/pull/360): + Summarize build toolchain workflow and implied rules +* [#343](https://github.com/fortran-lang/stdlib/pull/343): + Implement strip and chomp as supplement to trim +* [#336](https://github.com/fortran-lang/stdlib/pull/336): + Add functions to convert integer/logical values to character values + +Work in progress: + +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of sparse matrices. +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), + [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), + [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), + [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Implementation of the `stdlib_stats_distribution` modules. + It provides probability distribution and statistical functions. +* [#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): + Implementation of a module for handling lists of strings +* [#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): + Legendre polynomials and Gaussian quadrature +* [#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): + Provide abstract base class for a string object +* [#349](https://github.com/fortran-lang/stdlib/pull/349) (WIP): + Simplify test makefile +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#355](https://github.com/fortran-lang/stdlib/pull/355) (WIP): + Implement clip function +* [#359](https://github.com/fortran-lang/stdlib/pull/359) (WIP): + Add general contributing guidelines to stdlib +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Add sort to stdlib\_string\_type module +* [#372](https://github.com/fortran-lang/stdlib/pull/372) (WIP): + Correct implementation of to\_title +* [#386](https://github.com/fortran-lang/stdlib/pull/386) (WIP): + Start the addition of the module stdlib\_sorting + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in `fpm`: + +* [#420](https://github.com/fortran-lang/fpm/pull/420): + Phase out Haskell fpm +* [#468](https://github.com/fortran-lang/fpm/pull/468): + Identify OpenBSD +* [#465](https://github.com/fortran-lang/fpm/pull/465): + Fix typo in README +* [#442](https://github.com/fortran-lang/fpm/pull/442): + Use lib instead of ar on Windows +* [#440](https://github.com/fortran-lang/fpm/pull/440): + Minor edits to README +* [#438](https://github.com/fortran-lang/fpm/pull/438): + Add external-modules key to build table for non-fpm modules +* [#437](https://github.com/fortran-lang/fpm/pull/437): + Remove coarray single from default Intel flags +* [#433](https://github.com/fortran-lang/fpm/pull/433): + Fix to allow compiling C with Intel CC +* [#431](https://github.com/fortran-lang/fpm/pull/431): + Use different compiler flags on differnt platforms for Intel +* [#429](https://github.com/fortran-lang/fpm/pull/429): + Use wget if curl is missing in install.sh + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): + Plugin alpha version +* [#423](https://github.com/fortran-lang/fpm/pull/423) (WIP): + Use default instead of master to reference the repository HEAD +* [#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): + Allow to find include files / modules in CPATH environment variable +* [#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): + Response files with ar on Windows +* [#450](https://github.com/fortran-lang/fpm/pull/450) (WIP): + Remove coarray flag from intel debug settings +* [#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): + Refactor: use objects to represent compilers and archiver + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Classic Flang + +A total of 5 pull requests were merged in April. + +* [PR#1021 Switch to new LLVM License](https://github.com/flang-compiler/flang/pull/1021) +* [PR#1025 runtime: register atfork handler to re-initialize internal flangrti locks at fork](https://github.com/flang-compiler/flang/pull/1025) +* [PR#1026 Test case update for #895](https://github.com/flang-compiler/flang/pull/1026) +* [PR#1030 Update README.md](https://github.com/flang-compiler/flang/pull/1030) +* [PR#1034 Github Action use the prebuilt clang to build flang](https://github.com/flang-compiler/flang/pull/1034) + + +### LLVM Flang + +Recent development updates: + +* OpenMP + * [OPENMP5.1]Initial support for novariants clause. + * [OPENMP5.1]Initial support for nocontext clause. + * Add functionality to check "close nesting" of regions, which can be used for Semantic checks + * [OpenMP5.1] Initial support for masked directive and filter clause + * Modify semantic check for nesting of `ordered` regions to include `close` nesting check. + * Remove `OmpEndLoopDirective` handles from code. + * Add General Semantic Checks for Allocate Directive +* New Driver + * Add options for -Werror + * Modify the existing test cases that use -Mstandard in f18, to use -pedantic and %flang_fc1 to share with the new driver + * Add support for `-cpp/-nocpp` + * Fix `-fdebug-dump-provenance` + * Add debug options not requiring semantic checks + * Remove `%flang-new` from the LIT configuration + * Update the regression tests to use the new driver when enabled + * Add support for `-fget-definition` +* Move .f77 to the list of fixed-form file extensions +* Runtime + * Implement reductions + * Implement numeric intrinsic functions + * TRANSFER() intrinsic function + * RANDOM_NUMBER, RANDOM_SEED, RANDOM_INIT + * Implement IPARITY, PARITY, and FINDLOC reductions +* Fix unit test failure on POWER +* Improve constant folding for type parameter inquiries +* Check for conflicting BIND(C) names +* Enforce a limit on recursive PDT instantiations +* Accept & fold IEEE_SELECTED_REAL_KIND +* Define missing & needed IEEE_ARITHMETIC symbols +* Handle instantiation of procedure pointer components +* Fix checking of argument passing for parameterized derived types +* Fix spurious errors from runtime derived type table construction +* Check for attributes specific to dummy arguments +* Handle structure constructors with forward references to PDTs + +Call notes will be sent to the _flang-dev_ email list and also recorded [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). + +### LFortran + +* 98 Merge Requests merged in April +* Working towards compiling the [SNAP](https://github.com/lanl/SNAP) proxy app ([#313](https://gitlab.com/lfortran/lfortran/-/issues/313)): + * Code can be parsed to AST and transformed back to source code which compiles with other compilers and works + * About 3rd of the files can be transformed from AST to ASR and the modules saved +* Other improvements: + * Runtime library (more functions work) + * Nested functions + * Derived types + +## Events + +* We had our 11th Fortran Monthly call on April 22. +You can watch the recording below: + + + +* Wadud Miah ([@wadudmiah](https://github.com/wadudmiah)) from the University of Southampton presented a webinar on Fortran for High Performance Computing, organized by [Excellerat](https://www.excellerat.eu/). You can find the slides and the recording [here](https://services.excellerat.eu/viewevent/39). + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-05-18-Welcome-GSoC-students.md b/source/news/2021-05-18-Welcome-GSoC-students.md new file mode 100644 index 000000000..bfb1f13e4 --- /dev/null +++ b/source/news/2021-05-18-Welcome-GSoC-students.md @@ -0,0 +1,43 @@ +--- +layout: post +title: "Fortran-lang welcomes new students to Google Summer of Code 2021" +category: newsletter +date: 2021-05-18 +author: Milan Curcic, Ondřej Čertík, Sebastian Ehlert, Laurence Kedward, Arjen Markus, Brad Richardson +--- +# Fortran-lang welcomes new students to Google Summer of Code 2021 +We're happy to announce six students that will work on Fortran projects under +the Google Summer of Code 2021 program: + +* [Aman Godara](https://github.com/aman-godara) will work on strings in the + [Fortran Standard Library](https://github.com/fortran-lang/stdlib). Aman's + mentors will be [Sebastian Ehlert](https://github.com/awvwgk) and + [Milan Curcic](https://github.com/milancurcic). +* [Rohit Goswami](https://github.com/haozeke) will work on the + [LFortran](https://lfortran.org) compiler, specifically toward the capability + to compile a complex physics package. Rohit's mentor will be + [Ondřej Čertík](https://github.com/certik). +* [Jakub Jelínek](https://github.com/kubajj) will work on handling compiler + arguments in the + [Fortran Package Manager](https://github.com/fortran-lang/fpm). Jakub's + mentors will be [Laurence Kedward](https://github.com/lkedward) and + [Brad Richardson](https://github.com/everythingfunctional). +* [Chetan Karwa](https://github.com/chetankarwa) will work on the linked list + support in the + [Fortran Standard Library](https://github.com/fortran-lang/stdlib). Chetan's + mentors will be [Arjen Markus](https://github.com/arjenmarkus) and + [Milan Curcic](https://github.com/milancurcic). +* [Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) will work + on the Abstract Syntax Tree generation in the [LFortran](https://lfortran.org) + compiler. Thirumalai's mentor will be + [Ondřej Čertík](https://github.com/certik). +* [Gagandeep Singh](https://github.com/czgdp1807) will work on the support + of arrays and allocatables in the [LFortran](https://lfortran.org) compiler. + Gagandeep's mentor will be [Ondřej Čertík](https://github.com/certik). + Gagandeep was accepted under the NumFOCUS application to GSoC. + +This is the first year that Fortran-lang applied for Google Summer of Code, and +we're beyond excited that our project was allocated this many student slots. +You can follow students' progress in their weekly reports in the [Fortran Discourse](https://fortran-lang.discourse.group/) forum. + +Thank you, Google, for your support of Fortran and open source software! diff --git a/source/news/2021-06-01-Fortran-Newsletter-June-2021.md b/source/news/2021-06-01-Fortran-Newsletter-June-2021.md new file mode 100644 index 000000000..5c8a1ee74 --- /dev/null +++ b/source/news/2021-06-01-Fortran-Newsletter-June-2021.md @@ -0,0 +1,202 @@ +--- +layout: post +title: "Fortran newsletter: June 2021" +category: newsletter +date: 2021-06-01 +author: Sebastian Ehlert, Milan Curcic, Laurence Kedward, Ondřej Čertík +--- +# Fortran newsletter: June 2021 +Welcome to the June 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#269](https://github.com/fortran-lang/fortran-lang.org/pull/269): + Grammar and typo fixes in main page and quickstart minibook +* [#261](https://github.com/fortran-lang/fortran-lang.org/pull/261): + Script for summarizing PRs +* [#259](https://github.com/fortran-lang/fortran-lang.org/pull/259): + MapTran3D, RPNcalc, Gemini3D and Blocktran were added to the package index +* [#253](https://github.com/fortran-lang/fortran-lang.org/pull/253): + Fixed grammar in Easy to learn section + +Ongoing work: + +* [#255](https://github.com/fortran-lang/fortran-lang.org/pull/255) (WIP): + Quickstart edits +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): + Transferring fortran90.org “Fortran Best Practise” into a mini-book +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#417](https://github.com/fortran-lang/stdlib/pull/417): + Add GCC-11 to workflow +* [#415](https://github.com/fortran-lang/stdlib/pull/415): + Corrected Ubuntu version +* [#407](https://github.com/fortran-lang/stdlib/pull/407): + Changed to\_title to to\_sentence and implemented correct to\_title +* [#359](https://github.com/fortran-lang/stdlib/pull/359): + Add general contributing guidelines to stdlib +* [#355](https://github.com/fortran-lang/stdlib/pull/355): + Implement clip function + +Work in progress: + +* [#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): + First implementation of real-valued linspace. +* [#419](https://github.com/fortran-lang/stdlib/pull/419) (WIP): + Allow modification of install directory for module files +* [#418](https://github.com/fortran-lang/stdlib/pull/418) (WIP): + Improved support for NAG +* [#414](https://github.com/fortran-lang/stdlib/pull/414) (WIP): + Implemented intelligent slice functionality +* [#408](https://github.com/fortran-lang/stdlib/pull/408) (WIP): + Addition of the stdlib\_sorting module +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Add sort to stdlib\_string\_type module +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): + Provide abstract base class for a string object +* [#313](https://github.com/fortran-lang/stdlib/pull/313) (WIP): + Legendre polynomials and Gaussian quadrature +* [#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): + Implementation of a module for handling lists of strings +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP), + [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP), + [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP), + [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Implementation of the `stdlib_stats_distribution` modules. + It provides probability distribution and statistical functions. +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of sparse matrices. + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here is what is new in *fpm*: + +* [#450](https://github.com/fortran-lang/fpm/pull/450): + Remove coarray flag from intel debug settings +* [#423](https://github.com/fortran-lang/fpm/pull/423): + Use default instead of master to reference the repository HEAD + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#483](https://github.com/fortran-lang/fpm/pull/483) (WIP): + Allow fpm to change the working directory +* [#451](https://github.com/fortran-lang/fpm/pull/451) (WIP): + Refactor: use objects to represent compilers and archiver +* [#449](https://github.com/fortran-lang/fpm/pull/449) (WIP): + Response files with ar on Windows +* [#444](https://github.com/fortran-lang/fpm/pull/444) (WIP): + Allow to find include files / modules in CPATH environment variable +* [#364](https://github.com/fortran-lang/fpm/pull/364) (WIP): + Plugin alpha version + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + + +### LFortran + +* 39 Merge Requests [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged) +* Features that can now be compiled (in the LLVM backend): + * More nested functions and callbacks (the context is properly propagated) + * Runtime: size, lbound, ubound + * Return statement + * More array operations and declarations + * Array initializer expressions +* Features in ASR only (semantics): + * Runtime intrinsics: min, max, allocated +* Features in AST only (syntax): + * Co-arrays + * Methods + * Enumerations + * Attributes in `use` + * BOZ constants + * Forall + * More interfaces + * Import + * Implicit statements + * Select type + +The following people contributed code in May 2021: + +* Gagandeep Singh ([@czgdp1807](https://github.com/czgdp1807)) +* Thirumalai Shaktivel ([@Thirumalai-Shaktivel](https://github.com/Thirumalai-Shaktivel)) +* Ondřej Čertík ([@certik](https://github.com/certik)) +* Dominic Poerio ([@dpoe](https://gitlab.com/dpoe)) + + +## Events + +* We had our 12th Fortran Monthly call on May 20. +You can watch the recording below: + + + +* Google Summer of Code program has announced the allocation of students to each project. + Fortran-lang received six studens (one through [NumFOCUS](https://numfocus.org/)) who will work across three subprojects: stdlib, fpm, and LFortran. + Congratulations and welcome to students + [Aman Godara](https://github.com/aman-godara), + [Rohit Goswami](https://github.com/haozeke), + [Jakub Jelínek](https://github.com/kubajj), + [Chetan Karwa](https://github.com/chetankarwa), + [Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel), and + [Gagandeep Singh](https://github.com/czgdp1807). + Read the full post [here](https://fortran-lang.org/newsletter/2021/05/18/Welcome-GSoC-students/). + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-07-01-Fortran-Newsletter-July-2021.md b/source/news/2021-07-01-Fortran-Newsletter-July-2021.md new file mode 100644 index 000000000..d489ebb76 --- /dev/null +++ b/source/news/2021-07-01-Fortran-Newsletter-July-2021.md @@ -0,0 +1,218 @@ +--- +layout: post +title: "Fortran newsletter: July 2021" +category: newsletter +date: 2021-07-01 +author: Laurence Kedward, Sebastian Ehlert, Ondřej Čertík, Zachary Moon, Milan Curcic +--- +# Fortran newsletter: July 2021 +Welcome to the July 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#276](https://github.com/fortran-lang/fortran-lang.org/pull/276): + Add LATTE tight-binding molecular dynamics code to package index +* [#275](https://github.com/fortran-lang/fortran-lang.org/pull/275): + Add crest program to package index +* [#255](https://github.com/fortran-lang/fortran-lang.org/pull/255): + Quickstart edits +* [#273](https://github.com/fortran-lang/fortran-lang.org/pull/273): + Add the SNaC package to package index +* [#272](https://github.com/fortran-lang/fortran-lang.org/pull/272): + Add QUICK to package index + +Ongoing work: + +* [#277](https://github.com/fortran-lang/fortran-lang.org/pull/277) (WIP): + Add projects for Fortran-lua interfacing to package index +* [#274](https://github.com/fortran-lang/fortran-lang.org/pull/274) (WIP): + Add convert_FORTRAN_case formatter to package index +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): + Transferring fortran90.org "Fortran Best Practices" into a mini-book +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Draft: Internationalization for fortran-lang + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in `stdlib`: + +* [#313](https://github.com/fortran-lang/stdlib/pull/313): + Legendre polynomials and gaussian quadrature +* [#432](https://github.com/fortran-lang/stdlib/pull/432): + Outer product +* [#439](https://github.com/fortran-lang/stdlib/pull/439): + Reduce time spent on sorting tests +* [#440](https://github.com/fortran-lang/stdlib/pull/440): + Make maximum rank an option +* [#433](https://github.com/fortran-lang/stdlib/pull/433): + Implemented low level find function for string matching +* [#414](https://github.com/fortran-lang/stdlib/pull/414): + Implemented intelligent slice functionality +* [#428](https://github.com/fortran-lang/stdlib/pull/428): + Fix issue with stdlib_sorting +* [#419](https://github.com/fortran-lang/stdlib/pull/419): + Allow modification of install directory for module files +* [#430](https://github.com/fortran-lang/stdlib/pull/430): + Remove support for GCC 7 and 8 +* [#424](https://github.com/fortran-lang/stdlib/pull/424): + Add separate logical kind parameters + +Work in progress: + +* [#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): + Add `disp` function to display your data +* [#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): + Add `format_string` to format other type to string +* [#441](https://github.com/fortran-lang/stdlib/pull/441) (WIP): + Implement pad function +* [#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): +[FPM] add fpm support +* [#436](https://github.com/fortran-lang/stdlib/pull/436) (WIP): + Implement low-level replace_all function +* [#426](https://github.com/fortran-lang/stdlib/pull/426) (WIP): + Addition of a subroutine to compute the median of array elements +* [#420](https://github.com/fortran-lang/stdlib/pull/420) (WIP): + First implementation of real-valued linspace. +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#333](https://github.com/fortran-lang/stdlib/pull/333) (WIP): + Provide abstract base class for a string object +* [#311](https://github.com/fortran-lang/stdlib/pull/311) (WIP): + String list new +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): + Probability Distribution and Statistical Functions -- Uniform Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format +* [#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): + Update CMAKE files + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +__Alpha release update:__ Last month saw the release of __v0.3.0__ for *fpm* which includes a number of [new features and bug fixes](https://github.com/fortran-lang/fpm/releases/tag/v0.3.0). + +Here is what is new in *fpm*: + +* [#504](https://github.com/fortran-lang/fpm/pull/504): + install.sh, README.md: Update version number, single source file extension +* [#501](https://github.com/fortran-lang/fpm/pull/501): + Bump version for new release +* [#491](https://github.com/fortran-lang/fpm/pull/491): + Catch execute_command_line errors and print useful messages +* [#500](https://github.com/fortran-lang/fpm/pull/500): + Allow reading version number from file +* [#497](https://github.com/fortran-lang/fpm/pull/497): + correct for equal sign in flag options to fix #495 +* [#449](https://github.com/fortran-lang/fpm/pull/449): + Response files with ar on Windows +* [#490](https://github.com/fortran-lang/fpm/pull/490): + Minor fix to module parsing +* [#489](https://github.com/fortran-lang/fpm/pull/489): + Redirect output when searching for archiver +* [#484](https://github.com/fortran-lang/fpm/pull/484): + Add support for invoking simple plugins +* [#483](https://github.com/fortran-lang/fpm/pull/483): + Allow fpm to change the working directory + +Work in progress: + +* [First beta release](https://github.com/fortran-lang/fpm/milestone/1) (WIP): + First feature-complete release of the Fortran implementation. +* [#505](https://github.com/fortran-lang/fpm/pull/505) (WIP): + quiet mode for #502 +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Draft - Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + + +### LFortran + +* 49 Merge Requests [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged) +* Highlights + * Improvements to array support in the LLVM backend and at the ASR level: + array sections, allocatable arrays, and other improvements + * Many parser fixes (`lfortran fmt` works on more projects): block data, + common block, equivalence, custom operator declaration, flush, critical and + event statements + * More runtime functions: minval, maxval, real, sum, abs + * Optional human readable mod files + + +## Events + +* We had our 13th Fortran Monthly call on June 15. +You can watch the recording below: + + + +* Joint J3/WG5 (Fortran Standards Committees) meeting was held virtually from June 21-30 (Mondays and Wednesdays only). You can find all the papers that were discussed [here](https://j3-fortran.org/doc/meeting/224). Highlights from the meeting: + - Conditional expressions syntax for Fortran 202X ([paper](https://j3-fortran.org/doc/year/21/21-157r2.txt)). + - Protected components specifications and syntax for Fortran 202X ([paper](https://j3-fortran.org/doc/year/21/21-168.txt)). + - The generics feature planned for Fortran 202Y was discussed at depth ([paper](https://j3-fortran.org/doc/year/21/21-144r4.txt)). + - Jeff Hammond (NVidia Corporation) is the new J3 member as a voting alternate to Bryce Adelstein-Lelbach. + - Target year for Fortran 202X is 2023, subject to change. + +* FortranCon 2021 will be held virtually from September 23-24, 2021. For more information, visit the [FortranCon website](https://tcevents.chem.uzh.ch/event/14/). + +* Work has started for our Google Summer of Code program. You read about our students and their progress so far on Discourse: + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-08-01-Fortran-Newsletter-August-2021.md b/source/news/2021-08-01-Fortran-Newsletter-August-2021.md new file mode 100644 index 000000000..0e76734eb --- /dev/null +++ b/source/news/2021-08-01-Fortran-Newsletter-August-2021.md @@ -0,0 +1,240 @@ +--- +layout: post +title: "Fortran newsletter: August 2021" +category: newsletter +date: 2021-08-01 +author: Milan Curcic, Ondřej Čertík, Laurence Kedward +--- +# Fortran newsletter: August 2021 +Welcome to the August 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#281](https://github.com/fortran-lang/fortran-lang.org/pull/281): + July newsletter +* [#274](https://github.com/fortran-lang/fortran-lang.org/pull/274): + Add `convert_FORTRAN_case` formatter to package index +* [#277](https://github.com/fortran-lang/fortran-lang.org/pull/277): + Add projects for Fortran-lua interfacing to package index +* [#284](https://github.com/fortran-lang/fortran-lang.org/pull/284): + PRs script updates +* [#286](https://github.com/fortran-lang/fortran-lang.org/pull/286): + Installation process for GFortran on OpenBSD +* [#288](https://github.com/fortran-lang/fortran-lang.org/pull/288): + Add Flatiron institute multipole libraries to the package index +* [#289](https://github.com/fortran-lang/fortran-lang.org/pull/289): + Small fix in packages index +* [#291](https://github.com/fortran-lang/fortran-lang.org/pull/291): + Bump addressable from 2.7.0 to 2.8.0 +* [#293](https://github.com/fortran-lang/fortran-lang.org/pull/293): + add Apogee and Edinburgh compilers +* [#290](https://github.com/fortran-lang/fortran-lang.org/pull/290): + Add arrayfire-fortran to package index +* [#294](https://github.com/fortran-lang/fortran-lang.org/pull/294): + compilers: use more objective tone +* [#296](https://github.com/fortran-lang/fortran-lang.org/pull/296): + my software with at least 5 stars +* [#297](https://github.com/fortran-lang/fortran-lang.org/pull/297): + Fix insecure workflow. + +Ongoing work: + +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): + Transferring fortran90.org "Fortran Best Practices" into a mini-book +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Draft: Internationalization for fortran-lang + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#436](https://github.com/fortran-lang/stdlib/pull/436): + implemented low-level `replace_all` function +* [#454](https://github.com/fortran-lang/stdlib/pull/454): + added `stdlib_math` to specs/index.md +* [#453](https://github.com/fortran-lang/stdlib/pull/453): + implemented count function +* [#441](https://github.com/fortran-lang/stdlib/pull/441): + implemented pad function +* [#456](https://github.com/fortran-lang/stdlib/pull/456): + slice function's documentation made user friendly +* [#459](https://github.com/fortran-lang/stdlib/pull/459): + Fix CMake variable usage +* [#420](https://github.com/fortran-lang/stdlib/pull/420): + First implementation of real-valued linspace. +* [#468](https://github.com/fortran-lang/stdlib/pull/468): + Update CI +* [#469](https://github.com/fortran-lang/stdlib/pull/469): + CMake: corrections and updates +* [#426](https://github.com/fortran-lang/stdlib/pull/426): + Addition of a subroutine to compute the median of array elements +* [#474](https://github.com/fortran-lang/stdlib/pull/474): + Bug fix: Allocatable argument 'x' is not allocated #472 + +Work in progress: + +* [#481](https://github.com/fortran-lang/stdlib/pull/481) (WIP): + [`stdlib_linalg`] Update eye function. +* [#480](https://github.com/fortran-lang/stdlib/pull/480) (WIP): + [`stdlib_math`] Add seq function. +* [#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): + [`stdlib_linalg`] Add zeros, ones, ex function. +* [#477](https://github.com/fortran-lang/stdlib/pull/477) (WIP): + [`stdlib_linalg`] Add empty function. +* [#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): + Generating sorting subroutines specific to character type with fypp +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#470](https://github.com/fortran-lang/stdlib/pull/470) (WIP): + Revival string list +* [#467](https://github.com/fortran-lang/stdlib/pull/467) (WIP): + implemented `move_alloc` for `string_type` +* [#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): + `stdlib_hash`: waterhash algorithm +* [#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): + Implementation of a map data type +* [#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): + [feature] `disp`(display your data) & `format_string`(format other type to string, see #444) +* [#444](https://github.com/fortran-lang/stdlib/pull/444) (WIP): + Add `format_string` routine to format other types to strings +* [#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): + [FPM] add fpm support +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): + Probability Distribution and Statistical Functions -- Uniform Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format +* [#157](https://github.com/fortran-lang/stdlib/pull/157) (WIP): + Update CMAKE files + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#507](https://github.com/fortran-lang/fpm/pull/507): + optimize file listing +* [#511](https://github.com/fortran-lang/fpm/pull/511): + check name used for package, executable, test, or example +* [#516](https://github.com/fortran-lang/fpm/pull/516): + initialize allocatable strings before using in a comparison +* [#517](https://github.com/fortran-lang/fpm/pull/517): + Fix run +* [#522](https://github.com/fortran-lang/fpm/pull/522): + remove warnings and fix truncated help text +* [#523](https://github.com/fortran-lang/fpm/pull/523): + Fix compilation error in ifort + +Work in progress: + +* [#525](https://github.com/fortran-lang/fpm/pull/525) (WIP): + proposal to close #525 by generating build/.gitignore +* [#527](https://github.com/fortran-lang/fpm/pull/527) (WIP): + Add objects for handling compiler and archiver +* [#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): + expand tabs +* [#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): + Draft: initial implementation of `implicit_none` +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Draft - Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### LFortran + +Updates for July 2021: + +* 90 [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged) MRs, this month we have crossed 1000 total merged MRs, 12 total contributors +* Parser: we asked the community to test it, several people have reported about + 15 bugs, we have fixed all of them (AST) +* Initial fixed form parser (AST) +* Classes and class procedures (ASR, LLVM) +* Many common array usage now works, including allocatable (ASR, LLVM) +* Associate construct (ASR, LLVM) +* Compile time evaluation of constant expressions (ASR) +* 7 people contributed code: + * Ondřej Čertík + * Thirumalai Shaktivel + * Gagandeep Singh + * Rohit Goswami + * Dominic Poerio + * Andrew Best + * Sebastian Ehlert + +We are looking for new contributors, so if you are interested, please [get in +touch with us](https://lfortran.org/)! + + +## Events + +* We had our 14th Fortran Monthly call on July 20. +You can watch the recording below: + + + +* FortranCon 2021 will be held virtually from September 23-24, 2021. +Registration is free of charge and is due by September 15. +The first call for abstracts is due August 1, and the second is due September 1. +For more information, visit the [FortranCon website](https://tcevents.chem.uzh.ch/event/14/). + +* Work is well under way started for our Google Summer of Code program. Read about our students and their progress so far on Discourse: + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-09-01-Fortran-Newsletter-September-2021.md b/source/news/2021-09-01-Fortran-Newsletter-September-2021.md new file mode 100644 index 000000000..7a46f9921 --- /dev/null +++ b/source/news/2021-09-01-Fortran-Newsletter-September-2021.md @@ -0,0 +1,313 @@ +--- +layout: post +title: "Fortran newsletter: September 2021" +category: newsletter +date: 2021-09-01 +author: Milan Curcic, Alexis Perry-Holby, Sebastian Ehlert, Ondřej Čertík +--- +# Fortran newsletter: September 2021 +Welcome to the September 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#303](https://github.com/fortran-lang/fortran-lang.org/pull/303): + Add NJOY to package index + +### Work in progress + +* [#302](https://github.com/fortran-lang/fortran-lang.org/pull/302) (WIP): + Update Silverfrost compiler description. +* [#300](https://github.com/fortran-lang/fortran-lang.org/pull/300) (WIP): + Add QCxMS to package index +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246) (WIP): + Transferring fortran90.org "Fortran Best Practices" into a mini-book +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the [contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#467](https://github.com/fortran-lang/stdlib/pull/467): + Implemented move_alloc for string_type +* [#470](https://github.com/fortran-lang/stdlib/pull/470): + Revival string list +* [#481](https://github.com/fortran-lang/stdlib/pull/481): + [stdlib_linalg] Update eye function. +* [#493](https://github.com/fortran-lang/stdlib/pull/493): + Update copyright and remove old artifact +* [#444](https://github.com/fortran-lang/stdlib/pull/444): + Add format_string routine to format other types to strings +* [#483](https://github.com/fortran-lang/stdlib/pull/483): + Remove GCC Fortran MinGW 8.4.0 from known to work list + +### Work in progress + +* [#501](https://github.com/fortran-lang/stdlib/pull/501) (WIP): + Minor updates to README.md +* [#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): + Selection algorithms +* [#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): + [stdlib_linalg] matrix property checks +* [#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): + [stdlib_math] add `arg/argd/argpi` +* [#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): + Add testing module to allow better structuring of test suites +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): + [stdlib_math] add `is_close` routines. +* [#478](https://github.com/fortran-lang/stdlib/pull/478) (WIP): + [stdlib_linalg] Add zeros, ones function. +* [#475](https://github.com/fortran-lang/stdlib/pull/475) (WIP): + Generating sorting subroutines specific to `character` type with fypp +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): + stdlib_hash: waterhash algorithm +* [#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): + Implementation of a map data type +* [#445](https://github.com/fortran-lang/stdlib/pull/445) (WIP): + [stdlib_io] `disp`(display your data) +* [#437](https://github.com/fortran-lang/stdlib/pull/437) (WIP): + [FPM] add fpm support +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): + Probability Distribution and Statistical Functions -- Uniform Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [Version 0.4.0](https://github.com/fortran-lang/fpm/releases/tag/v0.4.0): + Alpha release update +* [#546](https://github.com/fortran-lang/fpm/pull/546): + Update version for release 0.4.0 +* [#548](https://github.com/fortran-lang/fpm/pull/548): + Fix build on MacOS/ARM64 +* [#527](https://github.com/fortran-lang/fpm/pull/527): + Add objects for handling compiler and archiver +* [#536](https://github.com/fortran-lang/fpm/pull/536): + Always call `git init` in fpm new when backfilling +* [#533](https://github.com/fortran-lang/fpm/pull/533): + Allow extra section in package manifest +* [#528](https://github.com/fortran-lang/fpm/pull/528): + Generate `build/.gitignore` + +### Work in progress + +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#521](https://github.com/fortran-lang/fpm/pull/521) (WIP): + Expand tabs in source parsing +* [#506](https://github.com/fortran-lang/fpm/pull/506) (WIP): + Initial implementation of implicit_none +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) to learn what are all the things that you can specify in the fpm.toml file. +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## FFTPACK + +Zuo Zhihua ([@zoziha](https://github.com/zoziha)) and Ondřej Čertík ([@certik](https://github.com/certik)) started maintaining the public domain project FFTPACK under the Fortran-lang namespace. +The project is readily available for usage in with fpm. + +Here is what is new in FFTPACK: + +* [#10](https://github.com/fortran-lang/fftpack/pull/10): + Add `(i)qct/dcosqi/dcosqf/dcosqb` interfaces for quarter wave data. +* [#7](https://github.com/fortran-lang/fftpack/pull/7): + Add `dzffti/dzfftf/dzfftb` interfaces +* [#4](https://github.com/fortran-lang/fftpack/pull/4): + Improve fft interface for `complex` sequences: `(i)fft/zffti/zfftf/zfftb` +* [#6](https://github.com/fortran-lang/fftpack/pull/6): + Add `(i)rfft/dffti/dfftf/dfftb` interface and ready to move to `fortran-lang` +* [#5](https://github.com/fortran-lang/fftpack/pull/5): + Add `fftshift/ifftshift` +* [#3](https://github.com/fortran-lang/fftpack/pull/3): + Add CI: fpm.yml + +### Work in progress + +* [#11](https://github.com/fortran-lang/fftpack/pull/11) (WIP): + Add `(i)dct/dcosti/dcost` interfaces. + +Feedback and ideas for this project are welcome. + +## Compilers + +### Flang + +Recent development updates: + +* New Driver and CMake integration: + * The new driver has replaced the old, hence f18 has been deleted. + * flang-new (aka. the new driver) now drives the flang bash script before an external compiler is called. + * Code-generation work is ongoing. + * Work is now proceeding to enable CMake to recognize the compiler and set the appropriate options for build configurations. +* FIR (Fortran IR - a dialect of MLIR): + * Fortran 95 lowering and runtime support is nearing completion, particularly of intrinsics + * Code upstreaming will begin again in earnest once F95 is deemed complete +* OpenMP + * Nesting of region semantic checks + * enter_data MLIR to LLVM IR lowering + * Semantic checks for allocate directive + * Lowering for various modifiers for the schedule clause + * Pretty printer and parser for omp.target operation + * Semantic checks for linear, nested barrier, allocate directive + * Progress with firstprivate, critical, collapse, ordered, reduction +* Lift -Werror checks into local functions +* Document the flang wrapper script +* Fix the extent calculation when upper bounds are less than lower bounds +* Fix list-directed plural repeated null values at end of record +* Fix build failure on MacOS involving std::clock_t +* Fix error messages on Windows. +* Disable Plugins in out-of-tree builds +* Correct off-by-one error in SET_EXPONENT + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +* 168 + [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged) + Merge Requests in August 2021 +* The following people have contributed code to LFortran in August: + * Ondřej Čertík + * Thirumalai Shaktivel + * Rohit Goswami + * Gagandeep Singh + * Andrew Best + * Carlos Une +* Sebastian Ehlert got LFortran working with fpm +* Many people have reported bugs (thank you all!) +* Our 3 Google Summer of Code (GSoC) students have successfully finished their + projects. Here are their final reports: + * Gagandeep Singh: [https://czgdp1807.github.io/2021/08/16/z_final_report.html](https://czgdp1807.github.io/2021/08/16/z_final_report.html) + * Thirumalai Shaktivel: [https://gist.github.com/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519](https://gist.github.com/Thirumalai-Shaktivel/c2a1aaa5239e792e499eaa8942987519) + * Rohit Goswami: [https://rgoswami.me/posts/gsoc21-fin-reprot/](https://rgoswami.me/posts/gsoc21-fin-reprot/) + +#### LFortran 0.12.0 was released on August 15 + +Changes since the last release. + +* Fixed all issues in the parser that were reported (AST) + * multiple loop single end do + * arithmetic if +* Comments and empty lines are now represented in AST and formatted correctly (AST) +* The formatter (`lfortran fmt`) now uses the minimal amount of parentheses in expressions +* Initial fixed-form parser (AST) +* Initial class support (ASR, LLVM) +* Allocate / deallocate, allocatable arrays (ASR, LLVM) +* Associate block (ASR, LLVM) +* Runtime library refactoring (ASR, LLVM) + * Split into builtin, pure and impure + * `iso_fortran_env`, `iso_c_binding` intrinsic modules added +* Compile time evaluation (ASR, LLVM) + +Commits (`git shortlog -ns v0.11.0..v0.12.0`): +``` + 369 Ondřej Čertík + 85 Thirumalai Shaktivel + 79 Gagandeep Singh + 75 Rohit Goswami + 20 Andrew Best + 4 Dominic Poerio +``` + + +#### Updates in master since the last release: + +* LFortran can now compile binaries on Windows +* C interoperation works on all platforms (including Windows and MSVC) +* Runtime library improvements + * Complex intrinsics fixed on all platforms + * All trigonometric functions now use the Fortran `impure` interface in the runtime library + * More intrinsics implemented +* Initial implementation of classes and methods +* LFortran now works with `fpm` and compiles the hello world project and a few other example projects +* Parser improvements: team and sync statements +* Improved handling of character types as function arguments and return values + + +We are looking for new contributors, so if you are interested, please [get in +touch with us](https://lfortran.org/)! We would be happy to do a video call +with you to get you started. + + +## Events + +* We had our 15th Fortran Monthly call on August 17. + You can watch the recording below: + + +* FortranCon 2021 will be held virtually from September 23-24, 2021. + Registration is free of charge and is due by September 15. + The second call for abstracts is due September 1. + For more information, visit the [FortranCon website](https://tcevents.chem.uzh.ch/event/14/). + +* Our Google Summer of Code program for 2021 is coming to a close. + Read about our students and their progress so far on Discourse: + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-10-01-Fortran-Newsletter-October-2021.md b/source/news/2021-10-01-Fortran-Newsletter-October-2021.md new file mode 100644 index 000000000..010f5dc70 --- /dev/null +++ b/source/news/2021-10-01-Fortran-Newsletter-October-2021.md @@ -0,0 +1,327 @@ +--- +layout: post +title: "Fortran newsletter: October 2021" +category: newsletter +date: 2021-10-01 +author: Laurence Kedward, Alexis Perry-Holby, Ondřej Čertík +--- +# Fortran newsletter: October 2021 +Welcome to the October 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#305](https://github.com/fortran-lang/fortran-lang.org/pull/305): + September newsletter draft +* [#300](https://github.com/fortran-lang/fortran-lang.org/pull/300): + Add QCxMS to package index +* [#302](https://github.com/fortran-lang/fortran-lang.org/pull/302): + Update Silverfrost compiler description. +* [#307](https://github.com/fortran-lang/fortran-lang.org/pull/307): + Fixed typo +* [#308](https://github.com/fortran-lang/fortran-lang.org/pull/308): + remove excess 'mpi' tag from fortran2018-examples +* [#246](https://github.com/fortran-lang/fortran-lang.org/pull/246): + Transferring fortran90.org "Fortran Best Practices" into a mini-book +* [#314](https://github.com/fortran-lang/fortran-lang.org/pull/314): + grammar and spelling from issue #313 +* [#317](https://github.com/fortran-lang/fortran-lang.org/pull/317): + more grammar, spelling, and rewording for Fortran Best Practices +* [#324](https://github.com/fortran-lang/fortran-lang.org/pull/324): + replaced "be found be found" with "be found" +* [#320](https://github.com/fortran-lang/fortran-lang.org/pull/320): + Alternative approach to avoiding integer division +* [#328](https://github.com/fortran-lang/fortran-lang.org/pull/328): + Add incompact3d to package index +* [#333](https://github.com/fortran-lang/fortran-lang.org/pull/333): + Add fparser to package index +* [#335](https://github.com/fortran-lang/fortran-lang.org/pull/335): + Adding two more packages to the index +* [#334](https://github.com/fortran-lang/fortran-lang.org/pull/334): + Add pFlogger to package index +* [#336](https://github.com/fortran-lang/fortran-lang.org/pull/336): + One more package + +### Work in progress + +* [#329](https://github.com/fortran-lang/fortran-lang.org/pull/329) (WIP): + Quantum Information book, WSL GUI, and typos +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Draft: Internationalization for fortran-lang + + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#509](https://github.com/fortran-lang/stdlib/pull/509): + fixed typo +* [#503](https://github.com/fortran-lang/stdlib/pull/503): + refactor documentation regarding consistency +* [#511](https://github.com/fortran-lang/stdlib/pull/511): + Correctly set CMAKE_INSTALL_MODULEDIR cache variable +* [#513](https://github.com/fortran-lang/stdlib/pull/513): + Update issue templates +* [#523](https://github.com/fortran-lang/stdlib/pull/523): + Rename config.yaml -> config.yml +* [#508](https://github.com/fortran-lang/stdlib/pull/508): + github-ci: add fpm support +* [#475](https://github.com/fortran-lang/stdlib/pull/475): + Generating sorting subroutines specific to `character` type with fypp +* [#525](https://github.com/fortran-lang/stdlib/pull/525): + Add files generated by tests to gitignore +* [#529](https://github.com/fortran-lang/stdlib/pull/529): + Add maintainer entry to fpm manifest +* [#530](https://github.com/fortran-lang/stdlib/pull/530): + Make it clearer how the user can control compiler optimization +* [#528](https://github.com/fortran-lang/stdlib/pull/528): + Reduce redundancy caused by optional arguments +* [#3](https://github.com/fortran-lang/stdlib-cmake-example/pull/3) (`stdlib-cmake-example`): + Add example integration with test-drive + + +### Work in progress + +* [#543](https://github.com/fortran-lang/stdlib/pull/543) (WIP): + Fix string concat +* [#539](https://github.com/fortran-lang/stdlib/pull/539) (WIP): + Add function gcd +* [#538](https://github.com/fortran-lang/stdlib/pull/538) (WIP): + Bump stdlib version to 0.1.0 +* [#537](https://github.com/fortran-lang/stdlib/pull/537) (WIP): + Add a changelog for the current features of stdlib +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#521](https://github.com/fortran-lang/stdlib/pull/521) (WIP): + Ensure module output directory is generated in configure stage +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display your data). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): + Selection algorithms +* [#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): + [stdlib_linalg] matrix property checks +* [#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): + [stdlib_math] add `arg/argd/argpi` +* [#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): + Add testing module to allow better structuring of test suites +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): + [stdlib_math] add `is_close` routines. +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#455](https://github.com/fortran-lang/stdlib/pull/455) (WIP): + stdlib_hash: waterhash algorithm +* [#452](https://github.com/fortran-lang/stdlib/pull/452) (WIP): + Implementation of a map data type +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#272](https://github.com/fortran-lang/stdlib/pull/272) (WIP): + Probability Distribution and Statistical Functions -- Uniform Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#521](https://github.com/fortran-lang/fpm/pull/521): + expand tabs +* [#557](https://github.com/fortran-lang/fpm/pull/557): + Update installer script to update subprojects first +* [#558](https://github.com/fortran-lang/fpm/pull/558): + Add issue templates +* [#565](https://github.com/fortran-lang/fpm/pull/565): + Default branch renaming aftermath +* [#562](https://github.com/fortran-lang/fpm/pull/562): + Add new distributions where fpm is available to README +* [#563](https://github.com/fortran-lang/fpm/pull/563): + Add workflow to create single source fpm version +* [#564](https://github.com/fortran-lang/fpm/pull/564): + Separate upload stage in CI testing +* [#572](https://github.com/fortran-lang/fpm/pull/572): + Build no tests by default +* [#549](https://github.com/fortran-lang/fpm/pull/549): + Allow setting, archiver, C compiler flags and linker flags from commandline +* [#578](https://github.com/fortran-lang/fpm/pull/578): + help text was truncated +* [#579](https://github.com/fortran-lang/fpm/pull/579): + Fix dir not getting removed after testing fpm +* [#584](https://github.com/fortran-lang/fpm/pull/584): + Actually read environment variables + + +### Work in progress + +* [#575](https://github.com/fortran-lang/fpm/pull/575) (WIP): + Enable multiple build output directories +* [#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): + Add workflow for continuous delivery +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/HEAD/PACKAGING.md) +to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/HEAD/manifest-reference.md) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + + +## Compilers + +### Flang + +Recent development updates: + +* New Driver and CMake integration: + * flang-omp-report plugin - first full fledged frontend plugin has been contributed + * CMake integration - waiting on a new PR + * Code-generation work is ongoing - task list has been presented to the community for discussion and approval +* FIR (Fortran IR - a dialect of MLIR): + * Fortran 95 lowering and runtime support is nearing completion + * Code upstreaming has begun again +* OpenMP + * Merged: Critical, collapse clause, Fixes for SNAP. + * In review: Firstprivate, Ordered, MLIR definitions for a few target side constructs, semantic checks for atomic, critical, sections, simd + * OpenMP 5.0 metadirective +* Runtime + * Change complex type define in runtime for clang-cl + * Implement READ(SIZE=) and INQUIRE(IOLENGTH=) in runtime + * GET_COMMAND_ARGUMENT runtime implementation, handling the LENGTH, VALUE, STATUS and ERRMSG parameters. + * COMMAND_ARGUMENT_COUNT runtime implementation + * Add POSIX implementation for SYSTEM_CLOCK + * Fix WRITE after BACKSPACE on variable-length file + * Implement Posix version of DATE_AND_TIME runtime +* Ported test scripts to Python, enables testing on Windows +* More precise checks for NULL() operands +* Enforce array conformance in actual arguments to ELEMENTALs +* Constant folding for COUNT, SQRT, HYPOT, CABS, CSHIFT, EOSHIFT, PACK, UNPACK, and TRANSPOSE +* Make this_image() an intrinsic function +* Revamp C1502 checking of END INTERFACE [generic-spec] +* Accept SIZE(assumed-rank, DIM=n) +* Validate SIZE(x,DIM=n) dimension for assumed-size array x +* Catch errors with intrinsic array inquiry functions +* Correct overflow detection in folding of real->integer conversions +* Upgrade warning to error in case of PURE procedure +* Enforce fixed form rules about END continuation +* Enforce specification function rules on callee, not call +* Catch error: base of DATA statement object can't be a pointer +* Represent parentheses around derived types +* Enforce constraint: defined ass't in WHERE must be elemental +* Catch branching into FORALL/WHERE constructs +* Implement semantic checks for ELEMENTAL subprograms +* Signal EOR in non advancing IO and move to next record +* Extension: reduced scope for some implied DO loop indices +* Take result length into account in ApplyElementwise folding +* Apply double precision KindCode in specific proc interface + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +* 81 + [merged](https://gitlab.com/lfortran/lfortran/-/merge_requests?scope=all&state=merged) + Merge Requests in September 2021 +* LFortran Minimum Viable Product (MVP) [released](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-mvp/) +* LFortran 0.13.0, 0.13.1 and 0.14.0 released in September +* The following people have contributed code to LFortran in September: + * Ondřej Čertík + * Gagandeep Singh + * Carlos Une + * Thirumalai Shaktivel + * Harris M. Snyder + * Sebastian Ehlert + * Mengjia Lyu +* Many people have reported bugs (thank you all!) +* Main features implemented in September: + * Operator overloading (ASR, LLVM) + * Goto (ASR, LLVM) + * Runtime library improvements: `iand`, `len`, `trim`, `len_trim` + * Interactive mode: get complex numbers, intrinsic functions working + (Windows, macOS, Linux) + * New driver options: --fast, --symtab-only, --target + + +We are looking for new contributors. Please do not hesitate to contact us if +you are interested. We will help you get up to speed. + + +## Events + +* We had our 16th Fortran Monthly call on September 22. + You can watch the recording below: + + +* The second international Fortran Conference (FortranCon) 2021 was held virtually on September 23-24 + Video recordings of the talks will be made available soon. + For more information, visit the [FortranCon website](https://tcevents.chem.uzh.ch/event/14/). + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-11-01-Fortran-Newsletter-November-2021.md b/source/news/2021-11-01-Fortran-Newsletter-November-2021.md new file mode 100644 index 000000000..09a8ef78b --- /dev/null +++ b/source/news/2021-11-01-Fortran-Newsletter-November-2021.md @@ -0,0 +1,269 @@ +--- +layout: post +title: "Fortran newsletter: November 2021" +category: newsletter +date: 2021-11-01 +author: Sebastian Ehlert, Alexis Perry-Holby, Milan Curcic, Ondřej Čertík +--- +# Fortran newsletter: November 2021 +Welcome to the November 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + + +# fortran-lang.org + +This month we've had several updates to the website: + +* [#345](https://github.com/fortran-lang/fortran-lang.org/pull/345): + Fix title in learning resources +* [#341](https://github.com/fortran-lang/fortran-lang.org/pull/341): + Add Cantera to package index +* [#329](https://github.com/fortran-lang/fortran-lang.org/pull/329): + Quantum Information book, WSL GUI, and typos +* [#340](https://github.com/fortran-lang/fortran-lang.org/pull/340): + Minor fixes in Best Practices + +### Work in progress + +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang + + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [0.1.0](https://github.com/fortran-lang/stdlib/releases/tag/v0.1.0): + Initial version of the Fortran standard library +* [#543](https://github.com/fortran-lang/stdlib/pull/543): + Fix string concat + +### Work in progress + +* [#554](https://github.com/fortran-lang/stdlib/pull/554) (WIP): + Hash functions +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + Fix bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib\_io] add `disp` (display your data). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC\_TEMPLATE.md +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): + Selection algorithms +* [#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): + [stdlib\_linalg] matrix property checks +* [#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): + [stdlib\_math] add `arg/argd/argpi` +* [#494](https://github.com/fortran-lang/stdlib/pull/494) (WIP): + Add testing module to allow better structuring of test suites +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): + [stdlib\_math] add `is_close` routines. +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#597](https://github.com/fortran-lang/fpm/pull/597): + Add LFortran optimization flag to release profile +* [#595](https://github.com/fortran-lang/fpm/pull/595): + List names without suffix (mainly for Windows) +* [#590](https://github.com/fortran-lang/fpm/pull/590): + Change link command on Windows with `ifort` or `ifx` +* [#575](https://github.com/fortran-lang/fpm/pull/575): + Enable multiple build output directories +* [#587](https://github.com/fortran-lang/fpm/pull/587): + Bootstrapping instructions version update + +### Work in progress + +* [#598](https://github.com/fortran-lang/fpm/pull/598) (WIP): + Update README.md compiler, archiver, & link flags +* [#569](https://github.com/fortran-lang/fpm/pull/569) (WIP): + Add workflow for continuous delivery +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) +to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/main/manifest-reference.md) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + + +## Compilers + +### Flang + +Recent development updates: + +* Runtime + * Front-end and runtime support for CALL EXIT and ABORT + * Fix formatted real input regression w/ spaces + * Add runtime interface for GET_ENVIRONMENT_VARIABLE + * More work on SYSTEM_CLOCK runtime API and implementation + * Implement GET_ENVIRONMENT_VARIABLE(LENGTH) +* OpenMP + * Added OpenMP 5.0 specification based semantic checks for sections construct and test case for simd construct + * Added test case for OpenMP 5.0 specification based semantic checks for parallel sections construct + * Added OpenMP 5.0 specification based semantic checks for CRITICAL construct name resolution + * Checks for THREADPRIVATE and DECLARE TARGET Directives + * Initial parsing/sema for append_args clause for 'declare variant' +* FIR + * Add typeparams to fir.array_update, fir.array_fetch and fir.array_merge_store operations. Add optional slice operands to fir.array_merge_store op. + * Updated various ops - fir.extract_value, fir.insert_value, fir.allocmem, fir.alloca, fir.field_index, fir.freemem, fir.store + * Move the parsers, printers and builders from the TableGen file to the .cpp file + * Update fir.alloca op - Add pinned attributes and specific builders + * Add ops: fir.char_convert and fir.array_modify + * Add passes: external name interop, affine promotion, affine demotion, character conversion, abstract result conversion, cfg conversion + * Add fir.convert canonicalization patterns + * Add the DoLoopHelper + * Add IfBuilder and utility functions + * Add FIRBuilder utility functions + * Add character utility functions in FIRBuilder + * Add Character helper + * Add utility function to FIRBuilder and MutableBox + * Add substring to fir.slice operation + * Avoid slice with substr in fir.array_load, fir.array_coor and fir.array_merge_store +* Driver + * Error if uuidgen is not installed + * Fix erroneous `&` + * Add actions that execute despite semantic errors +* flang-omp-report + * replace std::vector's with llvm::SmallVector + * Switch from std::string to StringRef (where possible) + * replace std::map with llvm::DenseMap +* Make builtin types more easily accessible; use them +* Fix test regression from SQRT folding +* Fold FINDLOC, MAXLOC, MINLOC, LGE/LGT/LLE/LLT, BTEST intrinsic functions +* Take into account SubprogramDetails in GetInterfaceSymbol +* Add debug dump method to evaluate::Expr and semantics::Symbol +* Add a wrapper for Fortran main program +* Improve runtime interface with C99 complex +* Better error recovery for missing THEN in ELSE IF +* Define IEEE_SCALB, IEEE_NEXT_AFTER, IEEE_NEXT_DOWN, IEEE_NEXT_UP +* Catch mismatched parentheses in prescanner +* Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR] +* Document behavior for nonspecified/ambiguous cases +* Add two negative tests for needExternalNameMangling +* Expunge bogus semantic check for ELEMENTAL without dummies +* Admit NULL() in generic procedure resolution cases +* Fix bogus folding error for ISHFT(x, negative) +* Emit unformatted headers & footers even with RECL= +* Enforce rest of semantic constraint C919 +* Extension to distinguish specific procedures +* Support NAMELIST input of short arrays +* Fix generic resolution case +* Speed common runtime cases of DOT_PRODUCT & MATMUL +* Fix crash on empty formatted external READs +* Extension: allow tabs in output format strings +* Fix DOT_PRODUCT for logical +* Fix NAMELIST input bug with multiple subscript triplets +* Support legacy usage of 'A' edit descriptors for integer & real + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +* 155 Merge Requests merged in October 2021 +* AST to ASR transformation simplified and unified +* Many new intrinsics added +* Rust style error messages, add first warnings and style suggestions +* Fixed bugs in location information +* C preprocessor added + +We are looking for new contributors. Please do not hesitate to contact us if +you are interested. We will help you get up to speed. + + +## Events + +* We have adopted two new Fortran-lang guidelines: + - [Governance document](https://github.com/fortran-lang/.github/blob/main/GOVERNANCE.md) that describes how Fortran-lang projects are managed + - [Administration, moderation, and editing guide](https://fortran-lang.discourse.group/t/welcome-to-discourse/7#administration-moderation-and-editing-3) for Fortran Discourse + Both documents are part of an effort to increase transparency between Fortran-lang administrators and the rest of the community. +* The US Fortran Standards Committee (J3) held the meeting 225 October 18-27, 2021. + The meeting was virtual and on Mondays and Wednesdays only. + Discussions focused on resolving any outstanding issues to the Fortran 202X features. + Here are the links to the meeting [agenda](https://j3-fortran.org/doc/year/21/agenda225.txt), + [minutes](https://j3-fortran.org/doc/year/21/minutes225.txt), + and [papers](https://j3-fortran.org/doc/meeting/225). + See also the [Fortran-lang and LFortran liaison report to J3](https://j3-fortran.org/doc/year/21/21-206.txt) + submitted by Ondřej Čertík and Milan Curcic. +* We had our 19th Fortran Monthly call on October 19. + You can watch the recording below: + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-12-01-Fortran-Newsletter-December-2021.md b/source/news/2021-12-01-Fortran-Newsletter-December-2021.md new file mode 100644 index 000000000..259107e21 --- /dev/null +++ b/source/news/2021-12-01-Fortran-Newsletter-December-2021.md @@ -0,0 +1,264 @@ +--- +layout: post +title: "Fortran newsletter: December 2021" +category: newsletter +date: 2021-12-01 +author: Milan Curcic, Sebastian Ehlert, Alexis Perry-Holby +--- +# Fortran newsletter: December 2021 +Welcome to the December 2021 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new and ongoing in the fortran-lang.org repo: + +* [#348](https://github.com/fortran-lang/fortran-lang.org/pull/348): + Fix typo in author field + +### Work in progress + +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics +* [#201](https://github.com/fortran-lang/fortran-lang.org/pull/201) (WIP): + Internationalization for fortran-lang + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#558](https://github.com/fortran-lang/stdlib/pull/558): + Pin specific fpm version +* [#556](https://github.com/fortran-lang/stdlib/pull/556): + fix some FORD links +* [#494](https://github.com/fortran-lang/stdlib/pull/494): + Add testing module to allow better structuring of test suites +* [#562](https://github.com/fortran-lang/stdlib/pull/562): + Minor update `pure/elemental` in `string_type` module +* [#565](https://github.com/fortran-lang/stdlib/pull/565): + Make support for quadruple precision optional +* [#566](https://github.com/fortran-lang/stdlib/pull/566): + Create a call for reviewers pull request template +* [#578](https://github.com/fortran-lang/stdlib/pull/578): + Update error in case fypp preprocessor is not found +* [#579](https://github.com/fortran-lang/stdlib/pull/579): + Add module for handling version information of stdlib + +### Work in progress + +* [#581](https://github.com/fortran-lang/stdlib/pull/581) (WIP): + Add routines for saving/loading arrays in npy format +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#573](https://github.com/fortran-lang/stdlib/pull/573) (WIP): + Revised Hash functions incorporating changes in the main Stdlib repository. +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#500](https://github.com/fortran-lang/stdlib/pull/500) (WIP): + Selection algorithms +* [#499](https://github.com/fortran-lang/stdlib/pull/499) (WIP): + [stdlib_linalg] matrix property checks +* [#498](https://github.com/fortran-lang/stdlib/pull/498) (WIP): + [stdlib_math] add `arg/argd/argpi` +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#488](https://github.com/fortran-lang/stdlib/pull/488) (WIP): + [stdlib_math] add `is_close` routines. +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#353](https://github.com/fortran-lang/stdlib/pull/353) (WIP): + Initial checkin for a module for tolerant comparison of reals +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#273](https://github.com/fortran-lang/stdlib/pull/273) (WIP): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [v0.5.0](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0): + Alpha release update +* [#598](https://github.com/fortran-lang/fpm/pull/598): + Update README.md compiler, archiver, & link flags +* [#569](https://github.com/fortran-lang/fpm/pull/569): + Add workflow for continuous delivery +* [#602](https://github.com/fortran-lang/fpm/pull/602): + fix(fpm_compiler): intel windows release flag was incorrect +* [#607](https://github.com/fortran-lang/fpm/pull/607): + Repair --list option and correct obsolete descriptions of the --list option +* [#612](https://github.com/fortran-lang/fpm/pull/612): + Fix modules listing (for install) +* [#613](https://github.com/fortran-lang/fpm/pull/613): + Add: critical section to mkdir in backend +* [#616](https://github.com/fortran-lang/fpm/pull/616): + Add: workflow to make installer on push and release +* [#614](https://github.com/fortran-lang/fpm/pull/614): + Bump version to 0.5.0 +* [setup-fpm#7](https://github.com/fortran-lang/setup-fpm/pull/7): + Fix Latest Option + +### Work in progress + +* [#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): + Cleanup the backend output +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://github.com/fortran-lang/fpm/blob/main/PACKAGING.md) +to learn how to build your package with fpm, and the [manifest reference](https://github.com/fortran-lang/fpm/blob/main/manifest-reference.md) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + + +## Compilers + +### Flang + +Recent development updates: + +* OpenMP + * Use the ultimate symbol in a call to the IsPointer function + * Add parsing/sema/serialization for 'bind' clause. +* FIR + * Add base of the FIR to LLVM IR pass + * Add various FIR to LLVM IR conversion patterns: + * fir.unreachable + * fir.insert_on_range + * fir.zero_bits + * fir.select and fir.select_rank + * fir.extract_value and fir.insert_value + * types - fir.box, fir.logical, fir.char, fir.ptr + * fir.box_rank, fir.box_addr, fir.box_dims, fir.box_elesize + * fir.convert + * fir.call + * fir.store and fir.load + * Add substr information to fircg.ext_embox and fircg.ext_rebox operations + * Use notifyMatchFailure in fir.zero_bits conversion + * Restrict array type on fir.insert_on_range + * Add test for FIR types conversion + * Use contralized values for indexing box + * Add complex operations conversion from FIR LLVM IR + * Add TargetRewrite pass and TargetRewrite: Rewrite COMPLEX values +* Runtime + * Read environment variables directly +* flang-omp-report + * Removed unnecessary comments in flang-omp-report plugin tests + * Remove the loop workarounds for nowait clause + * Add flang-omp-report summarising script +* Checks for pointers to intrinsic functions +* Fold SPREAD +* Improve error message for misuse of NULL(mold) as data statement constant +* Fix crash on "call system_clock(count_max=j)" +* Fix combined folding of FINDLOC/MAXLOC/MINLOC +* Implement GET_ENVIRONMENT_VARIABLE(VALUE) +* Remove builder that takes SSA value instead of Attribute on ExtractValueOp, InsetValueOp, and InsertOnRangeOp +* Remove getModel in DescriptorModel.h +* Set the addendum when establishing pointer section in descriptor +* Fix error in characteristics check at procedure pointer assignment +* Initial parsing/sema for 'align' clause +* Don't reference non-invariant symbols in shape expressions +* Make subscript list argument a nullable pointer +* Distinguish error/warning cases for bad jumps into constructs +* Fix folding of EPSILON() + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +* 32 Merge Requests merged in November 2021 +* Support for same name interface and subroutine/function +* Compile-time evaluation for bit intrinsics +* Implement the `repeat` and `shape` intrinsics +* Variadic support for `min` and `max` intrinsics +* Implement the scalar `random_number` function +* Fixes and improved error message for `read` and `write` statements +* Support the `final`, `intrinsic`, and `private` attributes +* Implement the `ieee_arithmetic` intrinsic module +* Support for the `abstract` class +* Support for `assignment(=)` on `use` statement + +We are looking for new contributors. Please do not hesitate to contact us if +you are interested. We will help you get up to speed. + + +## Events + +* Sebastian Ehlert presented the Fortran Package Manager at the PackagingCon 2021 conference. + You can watch the recording below: + +* Recordings of all FortranCon 2021 presentations are now available to view in + the [FortranCon YouTube Channel](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni). + Enjoy! +* We had our 20th Fortran Monthly call on November 15. + You can watch the recording below: + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2021-12-29-Fortran-lang-2021-in-review.md b/source/news/2021-12-29-Fortran-lang-2021-in-review.md new file mode 100644 index 000000000..b4e78269e --- /dev/null +++ b/source/news/2021-12-29-Fortran-lang-2021-in-review.md @@ -0,0 +1,374 @@ +--- +layout: post +title: "Fortran-lang: 2021 in review" +category: newsletter +date: 2021-12-29 +author: Milan Curcic, Ondřej Čertík, Laurence Kedward, Sebastian Ehlert, Jérémie Vandenplas +--- +# Fortran-lang: 2021 in review +With another year behind us, let's review the progress that the +Fortran-lang community has made. +If you're new to Fortran-lang, here's a quick intro: +We're an open source community that aims to develop modern Fortran tooling and +nurture a rich ecosystem of libraries, as well as to provide a friendly, +helpful, and inclusive space for newcomers and experienced Fortran programmers +to work together. +We started in late 2019 and have been going ever since. +If you're first discovering (or re-discovering) Fortran through this article, +welcome, and we hope it inspires you to try Fortran for one of your projects. +In this article we summarize new developments from 2021, +from flagship and new projects to community development and outreach. + + + +# Standard Library (stdlib) + +To date, [33 people](https://github.com/fortran-lang/stdlib/graphs/contributors) +have contributed code to stdlib, and more than 100 people have participated in +discussions. +More than a dozen new modules have been added in 2021: + +* `stdlib_array`: Provides `trueloc` and `falseloc` which allow you + to index an array based on a logical condition in a functional style +* `stdlib_hash`: Provides many hash algorithms, 32- and 64-bit alike +* `stdlib_math`: Provides a number of common mathematical functions +* `stdlib_random`: Pseudo-random integer number generation +* `stdlib_selection`: Selection procedures for selecting elements from an array + given a desired range +* `stdlib_sorting`: Sorting procedures based on Rust's sorting algorithm and + introsort by David Musser +* `stdlib_specialfunctions`: Provides the Legendre function and its derivative + in support of the Gaussian quadrature procedures +* `stdlib_stats_distribution_normal`: Functions to sample values from a normal + distribution +* `stdlib_stats_distribution_uniform`: Functions to sample values from a uniform + distribution +* `stdlib_string_type`: Provides a `string_type` derived type that alleviates + some limitations of the variable-length `character` variables. `string_type` + is compatible with all intrinsic procedures that operate on `character`. +* `stdlib_stringlist_type`: A derived type that is a 1-dimensional list of + strings +* `stdlib_strings`: Provides a number of inquiry and manipulation procedures that + complement the intrinsic set +* `stdlib_version`: Allows querying the version of the stdlib library build + +which brings us to a total of 23 modules in stdlib. +You can read about these modules in more detail on the +[stdlib API docs website](https://stdlib.fortran-lang.org). + +Besides the new modules, procedures, and derived types, there have been a few +key improvements in terms of stdlib delivery: + +1. You can now use stdlib as a dependency in your fpm projects, + see [here](https://github.com/fortran-lang/stdlib#build-with-fortran-langfpm). + This significantly lowers the bar for getting started with stdlib. +2. We had our first stdlib release (0.1.0) on October 4. As of now we don't have + a set release schedule, and plan to publish a new release when there is + significant new functionality. + As stdlib matures and becomes more widely used, we expect releases to become + more frequent. +3. We now maintain a + [change log](https://github.com/fortran-lang/stdlib/blob/HEAD/CHANGELOG.md) where every change to the API is documented. + This is a useful document to reference when you want to know what's been + added to the stdlib since the latest release. + +If you haven't tried stdlib yet, please do and let us know what you think +and how we can improve it. +Our vision for stdlib is to provide basic utilities that most Fortran projects use, +as well as wider numerical capabilities with the scope of NumPy and SciPy. + +## Fortran Package Manager (fpm) + +Fortran Package Manager (fpm) is the package manager and build system for +Fortran. +Its key goal is to make developing, distributing, and reusing Fortran +libraries and applications as easy and as fun as possible. +In 2020, the big change for fpm was the transition from the prototype +implemented in Haskell to a pure Fortran implementation. +Fpm has since been used in increasingly more and ever larger Fortran projects. + +To date, [22 people](https://github.com/fortran-lang/fpm/graphs/contributors) +have contributed code to fpm. +In 2021 fpm has advanced from v0.1.3 to v0.5.0. +Key additions this year include (release version in parentheses): + +* CLI arguments for linker, archiver, and C compiler (0.5.0) +* Support for MPI and LFortran (0.4.0) +* Support for installed library modules via `external-modules` in the manifest + (0.3.0) +* Automatic discovery of manifest files in parent directories (0.3.0) +* Support for reading package version from file (0.3.0) +* Support for include directories (0.2.0) +* Support for `--flag` CLI option to specify compiler flags (0.2.0) +* `fpm build --show-model` displays the internal representation of a package + (0.1.4) +* Allow hyphen in new package names (0.1.4) +* `fpm new` now supports `--full` and `--bare` to specify level of scaffolding + (0.1.4) + +Check out also these fpm plugins: + +* [fpm-search](https://github.com/brocolis/fpm-search): + Adds the `fpm search` command for searching for registered fpm packages from + the command line. +* [fpm-man](https://github.com/urbanjost/fpm-man): + Adds the `fpm man` command for displaying man-style help pages about Fortran + intrinsics and other language features. + +At the time of writing, there are almost 200 projects now using fpm. +If you haven't tried fpm yet, please do! +It has truly been a game-changing tool for many of us. + +We have many ideas that we want to pursue, such as: + +* First-class integration with other package managers such as Spack and Conda +* First-class integration with build systems like CMake and Meson +* Improving [fpm's package registry](https://github.com/fortran-lang/fpm-registry), etc. + +We are always looking for new contributors. +If any of these projects interest you, please join us. + +## LFortran + +
+ + + +
+ +Though not technically a Fortran-lang project, +[LFortran](https://lfortran.org) has been growing close to the Fortran-lang +community and projects largely thanks to its creator and lead developer +[Ondřej Čertík](https://github.com/certik) also being one of the founding +members of Fortran-lang. +LFortran has been developing rapidly this year and was released as a +[Minimum Viable Product (MVP)](https://lfortran.org/blog/2021/09/lfortran-minimum-viable-product-mvp/) in September. +LFortran currently parses all of Fortran 2018 and compiles a significant +subset of the language. +16 people have contributed code so far, and many more have reported bugs or participated in discussions. +If you haven't tried LFortran yet, please do and let us know how it can best +improve for your use case. +You can help speed up LFortran's development by contributing code and/or +documentation directly, or by donating funds to the project via +[NumFOCUS](https://numfocus.org/project/lfortran). + +Follow LFortran on Twitter at [@lfortranorg](https://twitter.com/lfortranorg). + +## fortran-lang.org, Discourse, and social media + +A major addition to the Fortran website this year is the +[Fortran Best Practices mini-book](https://fortran-lang.org/learn/best_practices). +This is a port and an update to the well-known +[fortran90.org](https://www.fortran90.org) by +[Ondřej Čertík](https://github.com/certik). +It provides a plethora of tips on how to write simple and idiomatic Fortran +for numerical tasks, and how to avoid some common gotchas. +Give it a read and let us know how it can be improved. + +The [Fortran Discourse](https://fortran-lang.discourse.group) is as active +as ever, with new users joining daily. +There are currently 338 active users out of a total of 537 registered users. +The Fortran Discourse is a great place to ask for help with Fortran code, post +a Fortran job opening, and discuss anything Fortran-related. + +We also continue to release the monthly newsletter where we +document the progress month-by-month, as well as post about any notable events +in the Fortran world. +This newsletter is a great way to stay up to date with Fortran-lang. +If you're also on Twitter, follow our account +[@fortranlang](https://twitter.com/fortranlang) for daily bite-size news and +updates, as well as the new [@FortranTip](https://twitter.com/FortranTip) +account, managed by [Beliavsky](https://github.com/beliavsky), which brings +daily Fortran tips to your Twitter feed. + +Finally, we meet on monthly video calls to discuss issues and topics related to all +Fortran-lang projects. +The calls are advertised on Fortran Discourse and are open to everyone. +Don't hesitate to join the call to meet other Fortran-lang participants and take part +in different discussions. +## New projects + +In addition to the flagship projects summarized above, a few new projects +started or were adopted by Fortran-lang this year. + +### fftpack + +[fftpack](https://github.com/fortran-lang/fftpack) is a classic collection of +subroutines to perform the Fast Fourier Transform on real and complex data. +It is based on the classic +[FFTPACK library from Netlib](http://www.netlib.org/fftpack/). +fftpack was adopted by Fortran-lang in an effort to provide: + +* A community-maintained FFT library +* Bug fixes to the existing codebase +* Modern interfaces on top of the existing API +* fpm package for easy use as a dependency. + +### test-drive + +[Test-drive](https://github.com/fortran-lang/test-drive) is a simple and +easy-to-use testing framework developed by +[Sebastian Ehlert](https://github.com/awvwgk). +It follows a simple functional style to collect and run your tests in parallel +and print a minimal and clean diagnostic printout to the standard output. +Test-drive is currently used by both stdlib and fpm for their own test suites. +Give test-drive a test drive for your next Fortran project! + +### fpm-docs + +[fpm-docs](https://github.com/fortran-lang/fpm-docs) is a brand new user +documentation website for fpm, developed by +[Sebastian Ehlert](https://github.com/awvwgk). +Its key aim is to provide community-maintained documentation across four +target audiences/use cases: + +* **Tutorials**: for learning how to use fpm for Fortran development +* **How-to guides**: recipes for specific and concrete problems +* **Design documents**: resources that document the design of various aspects of + fpm +* **References**: specification documents of fpm components + +
+ + + +
+ +As the fpm user docs are now hosted at +[fpm.fortran-lang.org](https://fpm.fortran-lang.org), the API docs are now +located at [fortran-lang.github.io/fpm/](https://fortran-lang.github.io/fpm/). + +## Google Summer of Code 2021 + +2021 has been the first year for Fortran-lang to participate in the +[Google Summer of Code](https://summerofcode.withgoogle.com/) program. +Together with NumFOCUS and LFortran, Fortran-lang had six students who worked on a +variety of projects: + +* [Aman Godara](https://github.com/Aman-Godara) (Improving strings in stdlib) +* [Chetan Karwa](https://github.com/chetankarwa) (Linked lists in stdlib) +* [Gagandeep Singh](https://github.com/czgdp1807) (Arrays and allocatables in LFortran) +* [Jakub Jelínek](https://github.com/kubajj) (Compiler arguments in fpm) +* [Rohit Goswami](https://rgoswami.me/) (Compiling dftatom with LFortran) +* [Thirumalai Shaktivel](https://github.com/Thirumalai-Shaktivel) (AST generation in LFortran) + +You can read in more detail about their projects +[here](https://summerofcode.withgoogle.com/archive/2021/organizations/6542461173760000). + +A big thank you to all students, mentors, and administrators, for their great +work, and of course, to the Google Summer of Code program for making +possible for students to participate. + +We plan to apply for Google Summer of Code in 2022 as well. +The program is no longer limited to students and anybody 18 or older can apply +to work on an open source project and get paid for it. +If you're interested participating in the program in 2022 with Fortran-lang, +don't hesitate to contact us and we'll guide you toward applying. + +## Conferences and papers + +### FortranCon 2021 + +Like in 2020, the Fortran event of this year was +[FortranCon 2021](https://tcevents.chem.uzh.ch/event/14/), the international +Fortran conference, held on September 23-24. +The keynote speaker this year was [Damian Rouson](https://github.com/rouson), +the head of the +[Computer Languages and Systems Software (CLaSS)](https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/) +group at the Lawrence Berkeley National Lab. +Fortran-lang had a dedicated session (a Fortran-lang minisymposium) on the +second day of the conference, with the talks about specific Fortran-lang +projects as well as the Google Summer of Code student presentations. +FortranCon was hosted at the University of Zurich (UZH), and organized by +[Tiziano Müller](https://github.com/dev-zero) from UZH and +[Alfio Lazzaro](https://github.com/alazzaro) from Hewlett-Packard Enterprise. +You can watch all FortranCon 2021 talks [here](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni). + +### PackagingCon 2021 + +Another big event for Fortran-lang was +[PackagingCon 2021](https://packaging-con.org/), a conference dedicated to +package management software and its community of developers. +[Sebastian Ehlert](https://github.com/awvwgk) presented fpm--you can watch the +recording below: + +
+ +
+ +### Papers + +This year two papers have been written about Fortran-lang projects. +The first paper documents the motivation and goals of +Fortran-lang: "Toward Modern Fortran Tooling and a Thriving Developer +Community" by Milan Curcic, Ondřej Čertík, Brad Richardson, Sebastian Ehlert, +Laurence Kedward, Arjen Markus, Ivan Pribec, and Jérémie Vandenplas +([https://arxiv.org/abs/2109.07382](https://arxiv.org/abs/2109.07382)). + +
+ + + +
+ +If Fortran-lang has been helpful in your work and if you want to cite this paper, +here's the citation info: + +```bibtex +@article{curcic2021toward, + title={Toward Modern Fortran Tooling and a Thriving Developer Community}, + author={Curcic, Milan and + {\v{C}}ert{\'\i}k, Ond{\v{r}}ej and + Richardson, Brad and + Ehlert, Sebastian and + Kedward, Laurence and + Markus, Arjen and + Pribec, Ivan and + Vandenplas, J{\'e}r{\'e}mie}, + journal={arXiv preprint arXiv:2109.07382}, + year={2021} +} +``` + +We have also submitted a paper draft to IEEE's +[Computing in Science & Engineering (CiSE)](https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992) +journal, titled "The State of Fortran" and led by +[Laurence Kedward](https://github.com/lkedward). +For this paper, we have +[publicly invited on Discourse](https://fortran-lang.discourse.group/t/fortran-lang-community-paper/1232) +anybody in the Fortran-lang community to participate. +Once published, this will be another paper that you can cite. +Stay tuned for its publication. + +## Summary + +* 2021 is behind us as another productive year. +* Fortran-lang flagship projects such as + [stdlib](https://github.com/fortran-lang/stdlib), + [fpm](https://github.com/fortran-lang/fpm), + [fortran-lang.org](https://fortran-lang.org), and + [LFortran](https://lfortran.org) continue to grow and gain traction. +* New Fortran-lang projects include + [fftpack](https://github.com/fortran-lang/fftpack), + [test-drive](https://github.com/fortran-lang/test-drive), and + [fpm-docs](https://github.com/fortran-lang/fpm-docs). +* Fortran-lang participated in the + [Google Summer of Code](https://summerofcode.withgoogle.com/) program for + the first time, and had 6 students working on projects across stdlib, fpm, + and LFortran. +* We had several presentations of Fortran-lang projects at + [FortranCon 2021](https://www.youtube.com/playlist?list=PLeKbr7eYHjt5UaV9zQtY24oEbne9_uFni) and + [PackagingCon 2021](https://www.youtube.com/watch?v=YG8zEM1lAVM). +* New Fortran-lang [paper](https://arxiv.org/abs/2109.07382) is out and +another is in review. + +## Thanks + +We thank all people who contributed to Fortran-lang projects and discussions +on GitHub, Fortran Discourse, Fortran-lang mailing list, Twitter, and +elsewhere. +It wouldn't have been possible without you all. + +```fortran +end program fortran_lang_2021 +``` diff --git a/source/news/2022-01-01-Fortran-Newsletter-January-2022.md b/source/news/2022-01-01-Fortran-Newsletter-January-2022.md new file mode 100644 index 000000000..11e4584b6 --- /dev/null +++ b/source/news/2022-01-01-Fortran-Newsletter-January-2022.md @@ -0,0 +1,322 @@ +--- +layout: post +title: "Fortran newsletter: January 2022" +category: newsletter +date: 2022-01-01 +author: Milan Curcic, Sebastian Ehlert, Jérémie Vandenplas, Alexis Perry-Holby, Ondřej Čertík +--- +# Fortran newsletter: January 2022 +Happy New Year and welcome to the January 2022 edition of the monthly Fortran +newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new and ongoing in the fortran-lang.org repo: + +* [#349](https://github.com/fortran-lang/fortran-lang.org/pull/349): + Newsletter draft for December 2021 +* [#350](https://github.com/fortran-lang/fortran-lang.org/pull/350): + Updated CaNS item so that it shows the version +* [#353](https://github.com/fortran-lang/fortran-lang.org/pull/353): + Add MCST LCC C, C++ and Fortran compiler +* [#351](https://github.com/fortran-lang/fortran-lang.org/pull/351): + Use HEAD to reference default branch +* [#355](https://github.com/fortran-lang/fortran-lang.org/pull/355): + 2021 review article draft +* [#356](https://github.com/fortran-lang/fortran-lang.org/pull/356) (WIP): + Adding Fortran Error Handler to packages index + +### Work in progress + +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#500](https://github.com/fortran-lang/stdlib/pull/500): + Selection algorithms +* [#586](https://github.com/fortran-lang/stdlib/pull/586): + Update of stdlib_stats.md +* [#581](https://github.com/fortran-lang/stdlib/pull/581): + Add routines for saving/loading arrays in npy format +* [#590](https://github.com/fortran-lang/stdlib/pull/590): + Update changelog +* [#588](https://github.com/fortran-lang/stdlib/pull/588): + Error on no tests in CTest +* [#585](https://github.com/fortran-lang/stdlib/pull/585): + stdlib_selection: correction of typos and addition of some checks +* [#591](https://github.com/fortran-lang/stdlib/pull/591): + Fix compilation errors with makefiles due to command-line variable assignments +* [#273](https://github.com/fortran-lang/stdlib/pull/273): + Probability Distribution and Statistical Functions -- Normal Distribution Module +* [#584](https://github.com/fortran-lang/stdlib/pull/584): + Replace the call to sort by select in stdlib_stats_median +* [#593](https://github.com/fortran-lang/stdlib/pull/593): + Probability Distribution and Statistical Functions -- Uniform Distribution Module +* [#594](https://github.com/fortran-lang/stdlib/pull/594): + Minor update to makefile installation instructions +* [#596](https://github.com/fortran-lang/stdlib/pull/596): + Rename references to default branch +* [#600](https://github.com/fortran-lang/stdlib/pull/600): + Fix iomsg allocation in save_npy +* [#488](https://github.com/fortran-lang/stdlib/pull/488): + [stdlib_math] add `is_close` routines. +* [#597](https://github.com/fortran-lang/stdlib/pull/597): + Add getline to read whole line from formatted unit +* [#498](https://github.com/fortran-lang/stdlib/pull/498): + [stdlib_math] add `arg/argd/argpi` +* [#603](https://github.com/fortran-lang/stdlib/pull/603): + Implement trueloc/falseloc +* [#573](https://github.com/fortran-lang/stdlib/pull/573): + Revised Hash functions incorporating changes in the main Stdlib repository. +* [#609](https://github.com/fortran-lang/stdlib/pull/609): + Consistent spec titles +* [#610](https://github.com/fortran-lang/stdlib/pull/610): + Fixed tables in stdlib_hash_procedures.md +* [#499](https://github.com/fortran-lang/stdlib/pull/499): + [stdlib_linalg] matrix property checks +* [#613](https://github.com/fortran-lang/stdlib/pull/613): + Ignore hash testing binaries and logs + +### Work in progress + +* [#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): + Hash maps +* [#605](https://github.com/fortran-lang/stdlib/pull/605) (WIP): + [stdlib_math] Add function `diff` +* [#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): + Add get_argument, get_variable and set_variable +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#276](https://github.com/fortran-lang/stdlib/pull/276) (WIP): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#634](https://github.com/fortran-lang/fpm/pull/634): + Better extraction of the Fortran compiler from the MPI wrapper + +### Work in progress + +* [#642](https://github.com/fortran-lang/fpm/pull/642) (WIP): + Replace polymorphic assignment with move_alloc +* [#630](https://github.com/fortran-lang/fpm/pull/630) (WIP): + allow backfilling of current directory in fpm-new subcommand +* [#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): + Cleanup the backend output +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://fpm.fortran-lang.org/en/tutorial) +to learn how to build your package with fpm, and the [manifest reference](https://fpm.fortran-lang.org/en/spec/manifest.html) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Flang + +Recent development updates: + +* FIR + * Add fir.box_isarray, fir.box_isptr and fir.box_isalloc conversion. + * Add !fir.vector type conversion + * Add type conversion for `fir.boxchar` + * Add !fir.alloca conversion + * Add placeholder conversion pattern for disptach operations + * Add fir.select_case conversion + * Add !fir.field type conversion + * Transform `IsPresentOpConversion` and `AbsentOpConversion` + * Add type conversion for FIR heap type + * Add type conversion for FIR integer kind + * Add !fir.len type conversion + * Transform `fir.emboxchar` to a sequence of LLVM MLIR + * Add fir.select_type conversion placeholder + * Remove extra return in SelectTypeOpConversion + * Transform `fir.unboxchar` to a sequence of LLVM MLIR + * Add fir.global_len conversion placeholder + * Add the FIR LLVMPointer Type + * Add fir.cmpc conversion + * Add fir.gentypedesc conversion + * Transform `fir.boxchar_len` to a sequence of LLVM MLIR + * Add missing `HasParent` in `fir_DTEntryOp` + * Add fir.string_lit conversion + * Add conversion patterns for slice, shape, shapeshift and shift ops + * Add fir.box_tdesc conversion + * !fir.tdesc type conversion + * Add fir.constc conversion + * Add fir.embox conversion + * Notify conversion failure for Proc ops, types + * Add tests for mlir::ComplexType conversion + * Add `fir.end` conversion placeholder + * Transform `fir.field_index` to a sequence of LLVM MLIR + * Add a factory class for creating Complex Ops + * Add fir.no_reassoc conversion + * Set !fir.len_param_index conversion to unimplemented + * Add base for runtime builder unittests + * Add fir transformational intrinsic builder + * Add assignment runtime API builder + * Add data flow optimization pass + * Add array value copy pass + * Add fir reduction builder + * Add fir numeric intrinsic runtime call builder + * Add fircg.ext_embox conversion + * Add fir derived type runtime builder + * Add fir character builder + * Add fircg.ext_array_coor conversion + * Upstream conversion of the XRebox Op + * Convert fir.allocmem and fir.freemem operations to calls to malloc and free, respectively +* Runtime + * Fix vector cshift runtime with non zero lower bounds + * Respect NO_STOP_MESSAGE=1 in runtime + * Runtime performance improvements to real formatted input + * Allow write after non advancing read in IO runtime + * Fix reversed comparison in RESHAPE() runtime + * Define & implement a lowering support API IsContiguous() in runtime + * Don't close stderr in runtime (fixes STOP output) + * Return arrays in Transfer runtime with SIZE argument + * Fix INQUIRE(FILE=,NAME=) + * Add ragged array runtime functions +* Allow exterior branch to outermost WHERE construct statement +* Fix ORDER= argument to RESHAPE +* Fix rounding edge case in F output editing +* Handle ENTRY names in IsPureProcedure() predicate +* Allow implicit procedure pointers to associate with explicit procedures +* Fix a bug in INQUIRE(IOLENGTH=) output +* Remove default argument from function template specialization +* Check ArrayRef base for contiguity in IsSimplyContiguousHelper +* Deal with negative character lengths in semantics +* Fix INQUIRE(PAD=) and (POSITION=) for predefined units +* Add a semantics test for co_sum +* Fix off-by-one results from folding MAXEXPONENT and MINEXPONENT +* Skip `Fortran STOP:` before message when NO_STOP_MESSAGE is set +* Fix printing of constc and parsing of #fir.real +* Predefine unit 0 connected to stderr +* Add -fno-automatic, refine IsSaved() +* Correct the argument keyword for AIMAG(Z=...) +* Inclusive language: remove instances of master +* Return true in IsSymplyContiguous for allocatables +* Fix usage & catch errors for MAX/MIN with keyword= arguments +* Re-fold bounds expressions in DATA implied DO loops +* Correct INQUIRE(POSITION= & PAD=) +* Rearrange prototype & code placement of IsCoarray() +* Replace notifyMatchFailure with TODO hard failures +* TargetRewrite: Rewrite fir.address_of(func) +* Fix folding of EXPONENT() intrinsic function +* OPEN(RECL=) handling for sequential formatted I/O +* Avoid potential deadlock in CloseAll() + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +* Beginning of refactoring of ASR (Abstract Semantic Representation) into a standalone library +* New intrinsics: mvbits, bge, bgt, ble, blt, ibits +* generic procedure resolution fixes +* FreeBSD fixes +* Implement `.xor.` (LFortran as well as GFortran extension) +* Fixes to large integers (BigInt) handling +* Added support for `private`, `final` attributes in derived types/classes + +The following people contributed code in December 2021: Ondřej Čertík, Gagandeep Singh, Harris Snyder + +We are looking for new contributors. Please do not hesitate to contact us if +you are interested. We will help you get up to speed. + +## Events + +* fpm has a new documentation website hosted at + [fpm.fortran-lang.org](https://fpm.fortran-lang.org/). + This website will provide user-oriented tutorials and how-to guides, as well + as developer-oriented reference documents and specifications. + We welcome all contributions to the fpm documentation, including translations + to other languages. + Please visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to + get started. +* We had our 21st Fortran Monthly call on December 14. + You can watch the recording below: + +* We also wrote a review of the Fortran-lang projects in 2021. Read it + [here]({{ site.baseurl }}/newsletter/2021/12/29/Fortran-lang-2021-in-review/). + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [fortran-lang/test-drive](https://github.com/fortran-lang/test-drive) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2022-02-01-Fortran-Newsletter-February-2022.md b/source/news/2022-02-01-Fortran-Newsletter-February-2022.md new file mode 100644 index 000000000..1457e10df --- /dev/null +++ b/source/news/2022-02-01-Fortran-Newsletter-February-2022.md @@ -0,0 +1,285 @@ +--- +layout: post +title: "Fortran newsletter: February 2022" +category: newsletter +date: 2022-02-01 +author: Jérémie Vandenplas, Alexis Perry-Holby, Sebastian Ehlert, Gagandeep Singh, Milan Curcic +--- +# Fortran newsletter: February 2022 +Welcome to the February 2022 edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new and ongoing in the fortran-lang.org repo: + +* [#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): + Resolves Issue #217 +* [#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): + Fix time calculation in the PRs script + +### Work in progress + +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#276](https://github.com/fortran-lang/stdlib/pull/276): + Probability Distribution and Statistical Functions -- Exponential Distribution Module +* [#605](https://github.com/fortran-lang/stdlib/pull/605): + [stdlib_math] Add function `diff` +* [#613](https://github.com/fortran-lang/stdlib/pull/613): + Ignore hash testing binaries and logs +* [#617](https://github.com/fortran-lang/stdlib/pull/617): + Made format constant public +* [#622](https://github.com/fortran-lang/stdlib/pull/622): + Fix Gauss quadrature + +### Work in progress + +* [#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): + Hash maps +* [#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): + Add get_argument, get_variable and set_variable +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#630](https://github.com/fortran-lang/fpm/pull/630): + allow backfilling of current directory in fpm-new subcommand +* [#646](https://github.com/fortran-lang/fpm/pull/646): + Respect user provided main-files +* [#645](https://github.com/fortran-lang/fpm/pull/645): + Update module output directory command for flang-new/f18 +* [fpm-docs#47](https://github.com/fortran-lang/fpm-docs/pull/47) + [fpm-docs#46](https://github.com/fortran-lang/fpm-docs/pull/46) + [fpm-docs#45](https://github.com/fortran-lang/fpm-docs/pull/45) + [fpm-docs#44](https://github.com/fortran-lang/fpm-docs/pull/44) + [fpm-docs#41](https://github.com/fortran-lang/fpm-docs/pull/41) + [fpm-docs#39](https://github.com/fortran-lang/fpm-docs/pull/39): + French translation +* [fpm-docs#43](https://github.com/fortran-lang/fpm-docs/pull/43): + Add testing workflow for source examples +* [fpm-docs#40](https://github.com/fortran-lang/fpm-docs/pull/40): + Update Spanish translation +* [fpm-docs#37](https://github.com/fortran-lang/fpm-docs/pull/37): + zh_CN: Update Chinese translations + +### Work in progress + +* [#654](https://github.com/fortran-lang/fpm/pull/654) (WIP): + Ignore hidden source files +* [#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): + Enable profiles in toml +* [#652](https://github.com/fortran-lang/fpm/pull/652) (WIP): + Get user name and email using got config if available else use defaults +* [#648](https://github.com/fortran-lang/fpm/pull/648) (WIP): + Add note about relocation of manifest reference +* [#622](https://github.com/fortran-lang/fpm/pull/622) (WIP): + Cleanup the backend output +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles +- [fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42) (WIP): + Dutch translation +- [fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48) (WIP): + Chinese translation improvements + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://fpm.fortran-lang.org/en/tutorial) +to learn how to build your package with fpm, and the [manifest reference](https://fpm.fortran-lang.org/en/spec/manifest.html) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Flang + +Recent development updates: + +* FIR + * Keep runtime function name in comment + * Add a conversion for !fir.coordinate_of + * Add a new memory allocation rewrite pass. + * Correct and reenable test that was removed by MLIR. + * Fix overallocation by fir-to-llvm-ir pass +* OpenMP + * Add some semantic checks for threadprivate and declare target directives +* Simplify RaggedArrayHeader and make it plain C struct +* Fix folding of ac-implied-do indices in structure constructors +* Avoid code duplication in mixed expressions +* Add test with shape for allocmem and freemem +* Make the frontend driver error out when requesting multiple actions +* Add semantics tests for co_reduce, co_min, and co_max +* Use GNUInstallDirs to support custom installation dirs. +* Enable support for conversion of recursive record types +* Separate temporary and user-specified object files +* update to reflect MLIR LLVM::GEPOp changes +* Do not lose call in shape inquiry on function reference +* Fix the documentation on how to build flang +* Add tests for converting arrays and refs to arrays +* Make the "flang" wrapper script check the Bash version +* Fix handling of space between # and name in preprocessor stringification +* RESHAPE(PAD=) can be arbitrary array rank +* Any type can appear in a structure constructor for an unlimited polymorphic allocatable component +* Implement semantics for DEC STRUCTURE/RECORD +* Extension: initialization of LOGICAL with INTEGER & vice versa +* Allow initialization in blank COMMON +* Support extension intrinsic function variations on ABS +* Allow pointers to non-sequence types in sequence types +* "CFI" types for Fortran REAL and COMPLEX kinds 2, 3, 10, 16 +* Legacy extension: non-character formats +* Signal runtime error on WRITE after ENDFILE +* Don't blank-fill remaining lines in internal output +* Accept ENTRY names in generic interfaces +* Support substring references in NAMELIST input + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +**Compiling `stdlib` with `lfortran`** + +- [stdlib: Implement `AINT` intrinsic Procedure](https://gitlab.com/lfortran/lfortran/-/merge_requests/1638) +- [Draft: Sprint Bug fixing to compile stdlib with LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1644) + +**Addition of ASR Optimization Passes** + +- [Added pass for converting division to multiplication operation](https://gitlab.com/lfortran/lfortran/-/merge_requests/1647) +- [Adding LLVM backend for flip sign](https://gitlab.com/lfortran/lfortran/-/merge_requests/1649) + +**`libasr`** + +- [Move more header files into libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1620) +- [Move exception.h to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1621) +- [Move string_utils.h/cpp to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1622) +- [Move location.h to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1623) +- [Move stacktrace.h/cpp to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1624) +- [Move colors.h and asr_scopes.h to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1625) +- [Move bwriter.h and modfile.h to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1626) +- [Move config.h to libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1627) +- [CI: do not run parent cmake in libasr test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1628) +- [Split serialization.h/cpp](https://gitlab.com/lfortran/lfortran/-/merge_requests/1629) +- [Nullify in ASR, LLVM, scalar types](https://gitlab.com/lfortran/lfortran/-/merge_requests/1630) +- [Remove unused SymbolTable::get_hash()](https://gitlab.com/lfortran/lfortran/-/merge_requests/1631) +- [Separate evaluators into LFortran and libasr parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1632) +- [utils.h and parser.h split into lfortran/libasr parts](https://gitlab.com/lfortran/lfortran/-/merge_requests/1633) +- [Expose rl_path from libasr](https://gitlab.com/lfortran/lfortran/-/merge_requests/1634) +- [CI: build libasr in an isolated directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1635) +- [Use the libasr's CMakeLists in LFortran's one](https://gitlab.com/lfortran/lfortran/-/merge_requests/1636) +- [Refactored `libasr/pass` framework and some bug fixes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1645) + +**Miscellaneous** + +- [fixes for windows compilation (defining NOMINMAX), installation-instructions for Windows/Visual Studio](https://gitlab.com/lfortran/lfortran/-/merge_requests/1639) +- [Update gitignore](https://gitlab.com/lfortran/lfortran/-/merge_requests/1643) +- [Update ASR from LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1646) +- [Abstracting out, visit_Program, visit_Subroutine, visit_Function, state variables from passes](https://gitlab.com/lfortran/lfortran/-/merge_requests/1648) +- [Draft: Add a test for pywrap](https://gitlab.com/lfortran/lfortran/-/merge_requests/1637) +- [Fix order deps ordered](https://gitlab.com/lfortran/lfortran/-/merge_requests/1640) +- [link to static zlib to avoid runtime dependency](https://gitlab.com/lfortran/lfortran/-/merge_requests/1641) + +**Contributors** + +- [Ondřej Čertík](https://gitlab.com/certik) +- [Gagandeep Singh](https://gitlab.com/czgdp18071) +- [Dominic Poerio](https://gitlab.com/dpoe) +- [Tobias Loew](https://gitlab.com/tobias-loew) +- [Thirumalai Shaktivel](https://gitlab.com/Thirumalai-Shaktivel) + +We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed. + +## Events + +* fpm has a new documentation website hosted at + [fpm.fortran-lang.org](https://fpm.fortran-lang.org/). + This website will provide user-oriented tutorials and how-to guides, as well + as developer-oriented reference documents and specifications. + We welcome all contributions to the fpm documentation, including translations + to other languages. + Please visit the [fpm-docs repo](https://github.com/fortran-lang/fpm-docs) to + get started. +* We had our 22st Fortran Monthly call on January 17. + You can watch the recording below: + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [fortran-lang/test-drive](https://github.com/fortran-lang/test-drive) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2022-03-09-Fortran-Newsletter-March-2022.md b/source/news/2022-03-09-Fortran-Newsletter-March-2022.md new file mode 100644 index 000000000..6ae22fae9 --- /dev/null +++ b/source/news/2022-03-09-Fortran-Newsletter-March-2022.md @@ -0,0 +1,302 @@ +--- +layout: post +title: "Fortran newsletter: March 2022" +category: newsletter +date: 2022-03-09 +author: Milan Curcic, Alexis Perry-Holby, Ondřej Čertík +--- +# Fortran newsletter: March 2022 +Welcome to the March edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new in the fortran-lang.org repo: + +* [#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): + Resolves Issue #217 +* [#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): + Fix time calculation in the PRs script + +### Work in progress + +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#624](https://github.com/fortran-lang/stdlib/pull/624): + [stdlib_math] Minor update to `stdlib_math` module and document + +### Work in progress + +* [#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): + Gamma special function +* [#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): + Hash maps +* [#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): + Add get_argument, get_variable and set_variable +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#652](https://github.com/fortran-lang/fpm/pull/652): + get user name and email using git config if available else use defaults +* [#654](https://github.com/fortran-lang/fpm/pull/654): + Ignore hidden source files +* [#622](https://github.com/fortran-lang/fpm/pull/622): + Cleanup the backend output +* [#648](https://github.com/fortran-lang/fpm/pull/648): + Add note about relocation of manifest reference +- [fpm-docs#42](https://github.com/fortran-lang/fpm-docs/issues/42): + Dutch translation +- [fpm-docs#48](https://github.com/fortran-lang/fpm-docs/pull/48): + Chinese translation improvements +- [fpm-docs#52](https://github.com/fortran-lang/fpm-docs/pull/52): + Update plugin tutorial + +### Work in progress + +* [#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): + add clean command +* [#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): + Enable profiles in toml +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles +- [fpm-docs#51](https://github.com/fortran-lang/fpm-docs/pull/51) (WIP): + Add page about fpm logo + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://fpm.fortran-lang.org/en/tutorial) +to learn how to build your package with fpm, and the [manifest reference](https://fpm.fortran-lang.org/en/spec/manifest.html) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Flang + +Recent development updates: + +* FIR + * Initial lowering for empty program + * Upstream partial lowering of COMMAND_ARGUMENT_COUNT intrinsic + * Add lowering placeholders + * Add lowering for basic empty SUBROUTINE + * Upstream partial lowering of EXIT intrinsic + * Lower basic STOP statement + * Lower PAUSE statement + * Add lowering for integer constant + * Lower integer constant code for STOP stmt + * Add fir.array_access op + * Add fir.array_amend operation definition + * Handle logical constant value for quiet in STOP stmt + * Upstream partial lowering of GET_COMMAND_ARGUMENT intrinsic + * Basic local variable lowering + * Add lowering for ASCII character constant + * Handle character constant for error code in STOP stmt + * Upstream partial lowering of GET_ENVIRONMENT_VARIABLE intrinsic + * Add missing CFI case for REAL and COMPLEX + * Add support for lowering the goto statement + * Add type conversion for !fir.box + * Add FIRInlinerInterface + * Lower simple RETURN statement + * Upstream fix to allocmem codegen to deal with missing dimensions for sequence of character types + * Lower basic function with scalar integer/logical return value + * Enable scalar real type in lowering + * Enable complex type in function lowering + * Handle lowering of ranked array + * Lower simple scalar assignment + * Lower scalar negation + * Lower basic binary operation for scalars + * Initial patch to lower a Fortran intrinsic + * Lower real constant + * Lower complex constant + * Lower function and subroutine calls + * Handle allocatable dummy arguments + * Lower allocatable assignment for scalar + * Simple array assignment lowering + * Lower simple character return + * Lower Fortran intrinsic to a runtime call/llvm intrinsic + * Lower integer comparison operation + * Lower real comparison operations + * Lower logical comparison and logical operations + * Lower power operations + * Add complex operations lowering tests + * Lower basic IO statement + * Handle dynamic array lowering +* Driver + * Add support for `-emit-mlir` + * Add support for `-emit-llvm` + * Make `flang-new` always generate run-time type info + * Add support for `--target`/`--triple` +* OpenMP + * Added OpenMP 5.0 specification based semantic checks for atomic update construct + * The device expression must evaluate to a non-negative integer value + * Remove clauses from OpenMP Dialect that are handled by the flang frontend instead: + * private, firstprivate, lastprivate, shared, default, copyin, copyprivate +* Runtime + * Implement a runtime routine to report fatal errors with source position + * Rename the runtime routine that reports a fatal user error + * runtime perf: larger I/O buffer growth increments + * Add runtime interface for GET_COMMAND + * Upstream runtime changes for inquiry intrinsics +* Improve error message (initialized variable in pure subprogram) +* Accept BOZ literals for some actual arguments +* Accept sparse argument keyword names for MAX/MIN +* Accept INDEX(..., BACK=array) +* Fix OPEN/WRITE(SIGN='SUPPRESS') +* Handle FLUSH(unknown unit) +* Allow explicit '+' in NAMELIST input subscripts +* Extension: skip over NAMELIST groups +* Add array operations documentation +* Fix crash from USE-associated defined I/O subprograms +* Allow INQUIRE() on a child unit in user-defined I/O procedure +* Don't drop format string for external child I/O +* Support DECIMAL='COMMA' mode in namelist I/O +* Update tco tool pipline and add translation to LLVM IR +* Add MemoryAllocation pass to the pipeline +* Add ieee_is_normal/ieee_is_negative to ieee_arithmetic module. +* Add a custom target for the "flang" wrapper script. +* split character procedure arguments in target-rewrite pass +* Expand the semantics test for co_sum +* Correct interpretation of RECL= +* Distinguish intrinsic from non-intrinsic modules +* Make NEWUNIT= use a range suitable for INTEGER(KIND=1) and recycle unit numbers +* Modify right modes for READ/WRITE vs OPEN +* Add a semantics test for co_broadcast +* catch implicit interface incompatibility with global scope symbol +* Add an assert to guard against nullptr dereferencing +* Fix FlangOptimizerTests link on Solaris +* Handle "type(foo) function f" when foo is defined in f +* Refine pointer/target test for ASSOCIATED intrinsic +* Allow mixed association of procedure pointers and targets +* Fix edge case in USE-associated generics +* Fail at link time if derived type descriptors were not generated +* Allow for deferred-length character in EstablishDescriptor +* Allow DATA initialization of derived types w/ allocatable components +* Accept NULL(mold=x) as constant component value in constant structure constructor +* Ensure a characterized ENTRY in a PURE subprogram is also marked PURE +* Accept structure constructor value for polymorphic component +* Remove deprecated parser/printer/verifier utilities +* Accept pointer assignment w/ remapping to function result +* Allow extension cases of EQUIVALENCE with optional warnings +* Handle CALL C_F_POINTER(without SHAPE=) +* Make source location more accurate for actual arguments +* Add Win32 to the list of supported triples +* Allow tabs as white space in formats +* Do not print format tabs +* Catch I/O of bad derived type at compile time +* Allow more concurrently open NEWUNIT= values, with recycling + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +* LFortran is participating in GSoC, please see [GSoC 2022 Student Instructions for LFortran](https://gitlab.com/lfortran/lfortran/-/wikis/GSoC%202022%20Student%20Instructions) for instructions how to apply +* 19 Merge Requests merged +* New ASR optimizations +* Addes support for fma (fused-multiply add) in LLVM +* Semantic improves to compile more of stdlib + +We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed. + +## Events + +* Fortran-lang has been selected as a mentoring organization for Google Summer of Code 2022! + Thanks to everybody who helped prepare the application. + [GSoC](https://summerofcode.withgoogle.com/) is Google's global, online program that allows newcomers to open-source to work on a project and get paid for it. + See the [Fortran-lang GSoC 2022 page](https://summerofcode.withgoogle.com/programs/2022/organizations/fortran-lang) for information about the projects and how to apply. + Applications for contributors open **April 4** and close **April 19**. + To learn more about GSoC and what has changed since last year, please see the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11/expanding-google-summer-of-code-in-2022.html). + If you'd like to participate as a contributor or a mentor, please let us know in this thread and we'll help you get started. +* Fortran-lang community now maintains a modernized fork of the classic library + [minpack](https://github.com/fortran-lang/minpack). Give it a try! +* We had our 23rd Fortran Monthly call on February 15. + You can watch the recording below: + +* US Fortran Standards Committee meeting #226 started on February 28. + See the draft agenda [here](https://j3-fortran.org/doc/year/22/agenda226.txt) + and the submitted papers [here](https://j3-fortran.org/doc/meeting/226). + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [fortran-lang/minpack](https://github.com/fortran-lang/minpack) +* [fortran-lang/test-drive](https://github.com/fortran-lang/test-drive) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2022-04-07-Fortran-Newsletter-April-2022.md b/source/news/2022-04-07-Fortran-Newsletter-April-2022.md new file mode 100644 index 000000000..883c04084 --- /dev/null +++ b/source/news/2022-04-07-Fortran-Newsletter-April-2022.md @@ -0,0 +1,277 @@ +--- +layout: post +title: "Fortran newsletter: April 2022" +category: newsletter +date: 2022-04-07 +author: Milan Curcic, Alexis Perry-Holby +--- +# Fortran newsletter: April 2022 +Welcome to the April edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new in the fortran-lang.org repo: + +* [#379](https://github.com/fortran-lang/fortran-lang.org/pull/379): + Newsletter for March 2022 +* [#383](https://github.com/fortran-lang/fortran-lang.org/pull/383): + Updated VS Code extensions +* [#381](https://github.com/fortran-lang/fortran-lang.org/pull/381): + add string array to learn +* [#384](https://github.com/fortran-lang/fortran-lang.org/pull/384): + Resolves typos #377 + +### Work in progress + +* [#369](https://github.com/fortran-lang/fortran-lang.org/pull/369) (WIP): + Resolves Issue #217 +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#632](https://github.com/fortran-lang/stdlib/pull/632): + doc: fix some typos +* [#629](https://github.com/fortran-lang/stdlib/pull/629): + option to disable testing by setting BUILD_TESTING to OFF +* [#631](https://github.com/fortran-lang/stdlib/pull/631): + Preparation for 0.2.0 release +* [#637](https://github.com/fortran-lang/stdlib/pull/637): + Only set Fortran arguments for Fortran compiler +* [#642](https://github.com/fortran-lang/stdlib/pull/642): + Fix linking issue with shared libraries + +### Work in progress + +* [#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): + Gamma special function +* [#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): + Hash maps +* [#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): + Add get_argument, get_variable and set_variable +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#675](https://github.com/fortran-lang/fpm/pull/675): + Fix for backtrace error when file not found in: src/fpm_source_parsing.f90 +* [#677](https://github.com/fortran-lang/fpm/pull/677): + Fix issue with backend pretty output +* [#684](https://github.com/fortran-lang/fpm/pull/684): + fix: remove remove unnecessary space in fpm new cmd +* [#8](https://github.com/fortran-lang/setup-fpm/pull/8) (`setup-fpm`): + Update to v4 in usage example in README + +### Work in progress + +* [#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): + fix: function for getting executable path +* [#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): + Tree shaking for modules +* [#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): + Add `library-dir` to support `-Lpath` +* [#665](https://github.com/fortran-lang/fpm/pull/665) (WIP): + add clean command +* [#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): + Enable profiles in toml +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://fpm.fortran-lang.org/en/tutorial) +to learn how to build your package with fpm, and the [manifest reference](https://fpm.fortran-lang.org/en/spec/manifest.html) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Flang + +Recent development updates: + +* FIR + * Lower IO open and close statements + * Lower basic IO file statements + * Lower inquire statement + * Handle module in lowering pass + * Lower more cases of assignments on allocatable variables + * Add lowering for host association + * Lower allocate and deallocate statements + * Lower sum intrinsic + * Lower computed and assigned goto + * Lower associate construct + * Update ArrayValueCopy to support array_amend and array_access + * Lower more array character cases + * Lower basic derived types + * Lower where statement + * Lower general forall statement + * Lower pointer component in derived type + * Lower of elemental calls in array expression + * Add tests for allocatable global + * Add support for linkonce_odr in FIR + * Lower elemental calls + * Lower ALL intrinsic + * Lower common block + * Lower format statement + * Write a pass to annotate constant operands on FIR ops + * Lower ANY intrinsic + * Add support for lowering the dot_product intrinsic + * Add support for lowering the dim intrinsic + * Add support for lowering of the ibits intrinsic + * Lower more pointer assignments/disassociation cases + * Lower entry statement + * Lower alternate return + * Lower allocated intrinsic + * Add lowering for the following character related intrinsics: len, len_trim, lge, lgt, lle and llt + * Adds lowering for min/max intrinsics: max, maxloc, maxval, minloc, minval + * Lower random_[init|number|seed] intrinsics + * Lower date_and_time and cpu_time intrinsics + * Lower system_clock intrinsic + * Add support for lowering of the ibset intrinsic + * Lower transfer instrinsic + * Lower adjustl and adjustr intrinsics + * Lower count intrinsic + * Add lowering for the set_exponent intrinsic +* Driver + * Add support for -debug-dump-pft + * Add support for -S and implement -c/-emit-obj + * Add support for -mllvm +* OpenMP + * [mlir]Generating enums in accordance with the guidelines + * Added basic connect to lower OpenMP constructs + * Support for dump OpenMP/OpenACC declarative directives PFT in module + * Add OpenMP and OpenACC flags to bbc +* Allow data transfer stmt control list errors to be caught +* Extension: don't require commas between most edit descriptors in formats +* Fix result type of "procedure(abs) :: f" +* Catch READ/WRITE on direct-access file without REC= +* Honor RECL= in list-directed/namelist output +* Accommodate module subprograms defined in the same module +* Extend ProvenanceRange::Suffix() to handle crash case +* Remove bogus messages for actual/dummy procedure argument compatibility +* Support PDT type descriptors in codegen +* Handle optional TARGET associate in ASSOCIATED runtime +* Generate PDT runtime type info in the type definition scope +* Accommodate arrays with a zero-extent dimension in location folding +* Avoid crash case in provenance mapping +* Make per-argument intrinsic error messages more localized +* Use faster path for default formatted character input +* Runtime validation of SPREAD(DIM=dim) argument +* Make uninitialized allocatable components explicitly NULL() in structure constructors +* Fix module file missing USE for shadowed derived type +* Add nonfatal message classes +* Distinguish usage and portability warning messages +* Use unix logical representation for fir.logical +* Fix extent computation in finalization +* Fix processing ModuleLikeUnit evaluationList +* Do not return true for pointer sub-object in IsPointerObject +* Fix DYLIB builds +* Improve runtime crash messages +* Add runtime support for GET_COMMAND +* IEEE_ARITHMETIC must imply USE IEEE_EXCEPTIONS +* LBOUND() edge case: empty dimension +* Hanlde COMPLEX 2/3/10 in runtime TypeCode(cat, kind) +* fulfill -Msave/-fno-automatic in main programs too +* Relax fir.rebox verifier with characters + +Call notes are recorded and available upon request [here](https://docs.google.com/document/d/10T-S2J3GrahpG4Ooif93NSTz2zBW0MQc_RlwHi0-afY). Please contact Alexis Perry-Holby at aperry@lanl.gov for document access. + +### LFortran + +We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed. + +## Events + +* The "State of Fortran" paper by Kedward et al. has been accepted for publication in the IEEE journal Computing in Science and Engineering (CiSE). + You can read the pre-print on [arXiv](https://arxiv.org/abs/2203.15110), or find the paper in Early Access on the [CiSE website](https://ieeexplore.ieee.org/document/9736688). +* The contributor application window for this year's [Google Summer of Code](https://summerofcode.withgoogle.com) is approaching fast. + It opens **April 4** and closes **April 19**. + See the [Fortran-lang GSoC 2022 page](https://summerofcode.withgoogle.com/programs/2022/organizations/fortran-lang) for information about the projects and how to apply. + To learn more about GSoC and what has changed since last year, please see the [GSoC 2022 announcement](https://opensource.googleblog.com/2021/11/expanding-google-summer-of-code-in-2022.html). + If you'd like to participate, please let us know and we'll help you get started. +* We had our 24th Fortran Monthly call on March 15. + You can watch the recording below: + + +As usual, subscribe to the [mailing list](https://groups.io/g/fortran-lang) and/or +join the [Discourse](https://fortran-lang.discourse.group) to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [fortran-lang/minpack](https://github.com/fortran-lang/minpack) +* [fortran-lang/test-drive](https://github.com/fortran-lang/test-drive) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2022-05-05-Fortran-Newsletter-May-2022.md b/source/news/2022-05-05-Fortran-Newsletter-May-2022.md new file mode 100644 index 000000000..9f715aa41 --- /dev/null +++ b/source/news/2022-05-05-Fortran-Newsletter-May-2022.md @@ -0,0 +1,399 @@ +--- +layout: post +title: "Fortran newsletter: May 2022" +category: newsletter +date: 2022-05-05 +author: Milan Curcic, Alexis Perry-Holby, Giannis Nikiteas, Gagandeep Singh +--- +# Fortran newsletter: May 2022 +Welcome to the May edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new in the fortran-lang.org repo: + +* [#359](https://github.com/fortran-lang/fortran-lang.org/pull/359): + Fix time calculation in the PRs script +* [#387](https://github.com/fortran-lang/fortran-lang.org/pull/387): + Newsletter for April 2022 +* [#389](https://github.com/fortran-lang/fortran-lang.org/pull/389): + Add librsb to package index +* [#390](https://github.com/fortran-lang/fortran-lang.org/pull/390): + Add Elk to package index +* [#391](https://github.com/fortran-lang/fortran-lang.org/pull/391): + Add pencil-code to package index +* [#392](https://github.com/fortran-lang/fortran-lang.org/pull/392): + Add PROPACK to package index +* [#398](https://github.com/fortran-lang/fortran-lang.org/pull/398): + Add feed link to HTML head element +* [#369](https://github.com/fortran-lang/fortran-lang.org/pull/369): + Resolves Issue #217 +* [#400](https://github.com/fortran-lang/fortran-lang.org/pull/400): + fix dependency of include files under `learn/building_programs` mini-book + +Work in progress: + +* [#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): + Add NUFFT to package index +* [#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): + Add OpenFFT to package index +* [#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): + Add 2DECOMP&FFT to package index +* [#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): + Add SLICOT to package index +* [#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): + Add FATODE to package index +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#646](https://github.com/fortran-lang/stdlib/pull/646): + Export symbols on Windows and set PIC flag for Unix +* [#651](https://github.com/fortran-lang/stdlib/pull/651): + Bugfix release version 0.2.1 + +Work in progress: + +* [#656](https://github.com/fortran-lang/stdlib/pull/656) (WIP): + Add hint for building error with make +* [#655](https://github.com/fortran-lang/stdlib/pull/655) (WIP): + fixed 32-bit integer overflow in stdlib_io_npy +* [#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): + Feature: loadtxt skiprows and max_rows +* [#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): + Gamma special function +* [#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): + Hash maps +* [#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): + Add get_argument, get_variable and set_variable +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#688](https://github.com/fortran-lang/fpm/pull/688): + Small fix for fpm_model +* [#665](https://github.com/fortran-lang/fpm/pull/665): + add clean command + +Work in progress: + +* [#693](https://github.com/fortran-lang/fpm/pull/693) (WIP): + Fix show-model option +* [#692](https://github.com/fortran-lang/fpm/pull/692) (WIP): + Fix for non-portable GFortran `-J` flag in install script +* [#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): + fix: remove extra space from help-test cmd +* [#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): + fix: function for getting executable path +* [#676](https://github.com/fortran-lang/fpm/pull/676) (WIP): + Tree shaking for modules +* [#671](https://github.com/fortran-lang/fpm/pull/671) (WIP): + Add `library-dir` to support `-Lpath` +* [#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): + Enable profiles in toml +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://fpm.fortran-lang.org/en/tutorial) +to learn how to build your package with fpm, and the [manifest reference](https://fpm.fortran-lang.org/en/spec/manifest.html) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Flang + +Recent development updates: + +* FIR + * Lower various intrinsics: + * character related intrinsics, array related intrinsics, index intrinsics, present, exit, btest, ceiling, nearest, scale, matmul, trim, transpose, command, environment, repeat, aint, anint, cmplx, conjg, dble, dprod, sign, spacing, rrspacing, merge intrinsics, lbound, ubound, ior, exp, log, log10, sqrt, atan, sinh, cosh, sin, cos, mvbits, achar + * Add IO lowering test + * Add more lowering tests for dummy arguments + * Add equivalence lowering tests + * Add array constructor lowering tests + * Lower more array expressions + * Lower statement function + * Lower length on character storage + * Lower select case statement + * Add OpenMP Conversion patterns + * Lower procedure designator + * Lower boxed procedure + * Flush and master constructs + * Add lowering C interoperability test + * Add misc lowering tests + * Handle zero extent case in LBOUND + * Lower some coarray statements to their runtime function + * Options to lower math intrinsics to relaxed, precise variants + * Lower optionals in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE + * Added lowering support for atomic read and write constructs + * fix LBOUND lowering with KIND and no DIM arguments + * Keep fully qualified !fir.heap type for fir.freemem op + * Update the conversion code for fir.coordinate_of + * Set lower bounds of array section fir.embox to one + * Fix fir.embox codegen with constant interior shape + * Do not fold fir.box_addr when it has a slice +* Driver + * Make --version and -version consistent with clang + * Add support for -mmlir + * Make the plugin API independent of the driver internals + * Add support for generating executables +* OpenMP + * Lowering critical construct + * Added assembly format for omp.wsloop and remove parseClauses + * Added lowering support for sections construct + * Added ReductionClauseInterface + * Added parallel sections translation + * Revert "[Flang][OpenMP] Add semantic check for OpenMP Private, Firstprivate and Lastprivate clauses." + * Added allocate clause translation for OpenMP block constructs + * Support export/import OpenMP Threadprivate Flag + * Add implementation of privatisation + * Add checks and tests for hint clause and fix empty hint +* OpenACC + * Lower enter data directive + * Lower exit data directive + * Lower init/shutdown directive + * Lower update directive + * Lower data directive + * Lower wait directive +* Runtime + * Error recovery improvement in runtime (IOMSG=) + * Initial UTF-8 support in runtime I/O + * Ensure PointerDeallocate actually deallocate pointers + * Add runtime API to catch unit number out of range + * Prefer process time over thread time in CPU_TIME + * Raise FP exceptions from runtime conversion to binary + * Preserve effect of positioning in record in non-advancing output + * Don't skip input spaces when they are significant + * Fix ENDFILE for formatted stream output + * Don't emit empty lines for bad writes + * Ignore leading spaces even in BZ mode + * Fix edge-case FP input bugs + * Enforce some limits on kP scale factors + * Signal record read overrun when PAD='NO' + * Fix KIND=16 real/complex component I/O + * Fix total MAXLOC/MINLOC for non-integer data +* Handle allocatable components when creating array temps +* [Parser] Add a node for individual sections in sections construct +* Add explanatory messages to grammar for language extensions +* Convert RUNTIME_CHECK to better error for user errors in transformational.cpp +* Accept legacy aliases for intrinsic function names +* Expose error recovery cases in external I/O +* Fix crash: ENTRY with generic interface of the same name +* Fold DBLE +* Single construct translation from PFT to FIR +* UBOUND() edge case: empty dimension +* Make not yet implemented messages more consistent +* Fix LBOUND rewrite on descriptor components +* Ensure descriptor lower bounds are LBOUND compliant +* Fix cycle-catcher in procedure characterization +* Fix bogus error from assignment to CLASS(*) +* Mark C_ASSOCIATED specific procedures as PURE +* Catch bad OPEN(STATUS=) cases +* Fold NEAREST() and its relatives +* Prevent undefined behavior in character MAXLOC folding +* Fix invalid overflow check +* Skip D when including D debug line +* Allow user to recover from bad edit descriptor with INTEGER +* Fold instantiated PDT character component length when needed +* Add one semantic check for allocatable/pointer argument association +* [cmake] Make CMake copy "omp_lib.h" into the build directory +* Handle dynamically optional argument in EXIT +* Fix semantic analysis for "forall" targeted by "label" +* Emit a portability warning for padding in COMMON +* Expand the num_images test coverage +* Fold IBITS() intrinsic function +* Error handling for out-of-range CASE values +* Respect left tab limit with Tn editing after ADVANCE='NO' +* Allow IMPLICIT NONE(EXTERNAL) with GenericDetails +* Do not ICE on out-of-range data statement designator +* Fix ICE for sqrt(0.0) evaluation +* Fix float-number representation bug +* Fix intrinsic interface for DIMAG/DCONJG +* Improve appearance of message attachments +* Fix combining cases of USE association & generic interfaces +* Defer all function result type processing +* Always encode multi-byte output in UTF-8 +* Fix shape analysis of RESHAPE result +* Use full result range for clock_gettime implementation of SYSTEM_CLOCK +* Correct interaction between generics and intrinsics +* Make F0.1 output editing of zero edge case consistent +* Inner INTRINSIC must not shadow host generic +* Local generics must not shadow host-associated generics +* Fix TYPE/CLASS IS (T(...)) in SELECT TYPE +* Allow modification of construct entities +* Defer NAMELIST group item name resolution +* Accept TYPE(intrinsic type) in declarations only for non-extension type +* Finer control over error recovery with GetExpr() +* Handle parameter-dependent types in PDT initializers +* Upgrade short actual character arguments to errors +* Allow POINTER attribute statement on procedure interfaces +* Accept KIND type parameter inquiries on RE, IM, etc. +* Add & use a better visit() +* Fix regression with recent work on intrinsic/generic interactions +* Do not pass derived type by descriptor when not needed +* Fix LBOUND() folding for constant arrays +* Set LBOUND() folding for (x) expression as ones +* Semantics limits on kP scale factors +* Do not ICE on recursive function definition in function result +* Fold transformational bessels when host runtime has bessels +* Do not create arith.extui with same from/to type +* Disambiguate F(X)=Y case where F is a function returning a pointer +* Avoid global name conflict when BIND(C,NAME=) is used +* Accept "INFINITY" as real input +* Add semantic checks for intrinsic function REDUCE() +* Fix crash from PDT component init in module file + +Call notes are recorded and publicly available [here](https://docs.google.com/document/d/1Z2U5UAtJ-Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/edit). + +### LFortran + +**Compiling `stdlib` with `lfortran`** + +- [Fixes for intrinsics while compiling `stdlib` using `lfortran`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1718) +- [Draft: Stdlib sprint](https://gitlab.com/lfortran/lfortran/-/merge_requests/1719) +- [Draft: Sprint Compiling stdlib with LFortran](https://gitlab.com/lfortran/lfortran/-/merge_requests/1689) + +**Addition of ASR Optimization Passes** + +- [Implementing dead code elemination optimization](https://gitlab.com/lfortran/lfortran/-/merge_requests/1688) +- [Supporting duplication of Function/Subroutine calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1686) +- [Implementing loop unrolling optimization for fixed sized loops](https://gitlab.com/lfortran/lfortran/-/merge_requests/1681) + +**`libasr`** + +- [AST->ASR: Remove current_body](https://gitlab.com/lfortran/lfortran/-/merge_requests/1720) +- [Added support keyword argument in class procedures](https://gitlab.com/lfortran/lfortran/-/merge_requests/1717) +- [Implementing ArrayBound node to replace `lbound`, `ubound` as function calls](https://gitlab.com/lfortran/lfortran/-/merge_requests/1715) +- [Implementing `Block` and `BlockCall`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1714) +- [Made scope private in SymbolTable struct and added interface methods to modify scope](https://gitlab.com/lfortran/lfortran/-/merge_requests/1711) +- [Removing dead code which treats size intrinsic as function](https://gitlab.com/lfortran/lfortran/-/merge_requests/1710) +- [Implementing `ArraySize` node to replace function call to `size`](https://gitlab.com/lfortran/lfortran/-/merge_requests/1708) +- [Fixing adjustl](https://gitlab.com/lfortran/lfortran/-/merge_requests/1707) +- [Implementing AssociateBlock](https://gitlab.com/lfortran/lfortran/-/merge_requests/1706) +- [Move ASR.asdl into the src/libasr directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1703) +- [Fixing handling of return type](https://gitlab.com/lfortran/lfortran/-/merge_requests/1699) +- [Fill function in FunctionCall of len expr of Character type after completing symbol table](https://gitlab.com/lfortran/lfortran/-/merge_requests/1698) +- [Fixing inline function calls pass to skip intrinsics](https://gitlab.com/lfortran/lfortran/-/merge_requests/1694) +- [Draft: ASR: Add all intrinsic operations into ASR itself](https://gitlab.com/lfortran/lfortran/-/merge_requests/1700) + + +**WASM** + +- [Wasm backend](https://gitlab.com/lfortran/lfortran/-/merge_requests/1713) +- [draft: Wasm Intial Base](https://gitlab.com/lfortran/lfortran/-/merge_requests/1704) +- [draft: Compiling LFortran to WASM](https://gitlab.com/lfortran/lfortran/-/merge_requests/1705) + + +**Miscellaneous** + +- [bind(c): Fix call_fortran_i64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1723) +- [bind(c): Add tests for i64, f32, f64](https://gitlab.com/lfortran/lfortran/-/merge_requests/1722) +- [Fix a bug in a test](https://gitlab.com/lfortran/lfortran/-/merge_requests/1721) +- [Add a test for calling Fortran from C](https://gitlab.com/lfortran/lfortran/-/merge_requests/1716) +- [Update ASR from LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1712) +- [CI: add git safe.directory](https://gitlab.com/lfortran/lfortran/-/merge_requests/1702) +- [Update ASR from LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1701) +- [Update ASR from LPython](https://gitlab.com/lfortran/lfortran/-/merge_requests/1696) +- [Adding and Improving tests](https://gitlab.com/lfortran/lfortran/-/merge_requests/1695) +- [Remove --target install and CMAKE_INSTALL_PREFIX from build1.sh](https://gitlab.com/lfortran/lfortran/-/merge_requests/1709) + +**Contributors** + +- [Gagandeep Singh](https://gitlab.com/czgdp18071) +- [Ondřej Čertík](https://gitlab.com/certik) +- [Ubaid Shaikh](https://gitlab.com/shaikhubaid769) + +We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed. + +## Events + +* We had our 25th Fortran Monthly call on April 22. + You can watch the recording below: + +* Visual Studio Code's popular [Modern Fortran](https://marketplace.visualstudio.com/items?itemName=fortran-lang.linter-gfortran) extension joined the [fortran-lang GitHub](https://github.com/fortran-lang/vscode-fortran-support) organization. + +Join and follow the [Fortran Discourse](https://fortran-lang.discourse.group) +to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [fortran-lang/minpack](https://github.com/fortran-lang/minpack) +* [fortran-lang/test-drive](https://github.com/fortran-lang/test-drive) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/news/2022-06-09-Fortran-Newsletter-June-2022.md b/source/news/2022-06-09-Fortran-Newsletter-June-2022.md new file mode 100644 index 000000000..144de2157 --- /dev/null +++ b/source/news/2022-06-09-Fortran-Newsletter-June-2022.md @@ -0,0 +1,507 @@ +--- +layout: post +date: 2022-06-09 +title: "Fortran newsletter: June 2022" +category: newsletter +author: Milan Curcic, Alexis Perry-Holby, Ondřej Čertík, Henil Panchal +--- +# Fortran newsletter: June 2022 + +Welcome to the June edition of the monthly Fortran newsletter. +The newsletter comes out at the beginning of every month and details +Fortran news from the previous month. + + + +# fortran-lang.org + +Here's what's new in the fortran-lang.org repo: + +* [#401](https://github.com/fortran-lang/fortran-lang.org/pull/401): + Newsletter May 2022 +* [#403](https://github.com/fortran-lang/fortran-lang.org/pull/403): + Add SeisSol to package index + +Work in progress: + +* [#397](https://github.com/fortran-lang/fortran-lang.org/pull/397) (WIP): + Add NUFFT to package index +* [#396](https://github.com/fortran-lang/fortran-lang.org/pull/396) (WIP): + Add OpenFFT to package index +* [#395](https://github.com/fortran-lang/fortran-lang.org/pull/395) (WIP): + Add 2DECOMP&FFT to package index +* [#394](https://github.com/fortran-lang/fortran-lang.org/pull/394) (WIP): + Add SLICOT to package index +* [#393](https://github.com/fortran-lang/fortran-lang.org/pull/393) (WIP): + Add FATODE to package index +* [#347](https://github.com/fortran-lang/fortran-lang.org/pull/347) (WIP): + Fortran Intrinsics + +[Let us know](https://github.com/fortran-lang/fortran-lang.org/issues) +if you have any suggestions for the website and its content. +We welcome any new contributors to the website and the tutorials page in particular - see the +[contributor guide](https://github.com/fortran-lang/fortran-lang.org/blob/HEAD/CONTRIBUTING.md) +for how to get started. + +## Fortran Standard Library + +Here's what's new in stdlib: + +* [#656](https://github.com/fortran-lang/stdlib/pull/656): + Add hint for building error with make +* [#655](https://github.com/fortran-lang/stdlib/pull/655): + fixed 32-bit integer overflow in stdlib_io_npy +* [#657](https://github.com/fortran-lang/stdlib/pull/657): + Remove support for manual make builds + +Work in progress: + +* [#660](https://github.com/fortran-lang/stdlib/pull/660) (WIP): + Fix erroneous gaussian quadrature points in gauss_legendre +* [#659](https://github.com/fortran-lang/stdlib/pull/659) (WIP): + Readme update +* [#652](https://github.com/fortran-lang/stdlib/pull/652) (WIP): + Feature: loadtxt skiprows and max_rows +* [#625](https://github.com/fortran-lang/stdlib/pull/625) (WIP): + Gamma special function +* [#611](https://github.com/fortran-lang/stdlib/pull/611) (WIP): + Hash maps +* [#604](https://github.com/fortran-lang/stdlib/pull/604) (WIP): + Add get_argument, get_variable and set_variable +* [#580](https://github.com/fortran-lang/stdlib/pull/580) (WIP): + Add terminal and color escape sequences +* [#552](https://github.com/fortran-lang/stdlib/pull/552) (WIP): + fixed bug in stringlist +* [#536](https://github.com/fortran-lang/stdlib/pull/536) (WIP): + Fix conversion warnings +* [#520](https://github.com/fortran-lang/stdlib/pull/520) (WIP): + [stdlib_io] add `disp`(display variable values formatted). +* [#517](https://github.com/fortran-lang/stdlib/pull/517) (WIP): + adding SPEC_TEMPLATE.md #504 +* [#514](https://github.com/fortran-lang/stdlib/pull/514) (WIP): + pop, drop & get with basic range feature for stringlist +* [#491](https://github.com/fortran-lang/stdlib/pull/491) (WIP): + Stdlib linked list +* [#473](https://github.com/fortran-lang/stdlib/pull/473) (WIP): + Error stop improvements +* [#363](https://github.com/fortran-lang/stdlib/pull/363) (WIP): + Sorting string's characters according to their ASCII values +* [#286](https://github.com/fortran-lang/stdlib/pull/286) (WIP): + Probability Distribution and Statistical Functions -- Beta Distribution Module +* [#278](https://github.com/fortran-lang/stdlib/pull/278) (WIP): + Probability Distribution and Statistical Functions -- Gamma Distribution Module +* [#189](https://github.com/fortran-lang/stdlib/pull/189) (WIP): + Initial implementation of COO / CSR sparse format + + + +Please help improve stdlib by testing and [reviewing pull requests](https://github.com/fortran-lang/stdlib/issues?q=is%3Apr+is%3Aopen+label%3A%22reviewers+needed%22)! + +The candidate for file system operations to be included in stdlib is being developed by +[@MarDiehl](https://github.com/MarDiehl) and [@arjenmarkus](https://github.com/arjenmarkus) +in [this repository](https://github.com/MarDiehl/stdlib_os). +Please try it out and let us know how it works, if there are any issues, or if the API can be improved. + +## Fortran Package Manager + +Here's what's new in fpm: + +* [#692](https://github.com/fortran-lang/fpm/pull/692): + Fix for non-portable GFortran `-J` flag in install script +* [#693](https://github.com/fortran-lang/fpm/pull/693): + Fix show-model option + +Work in progress: + +* [#701](https://github.com/fortran-lang/fpm/pull/701) (WIP): + Some cleanups and minor fixes +* [#686](https://github.com/fortran-lang/fpm/pull/686) (WIP): + fix: remove extra space from help-test cmd +* [#685](https://github.com/fortran-lang/fpm/pull/685) (WIP): + fix: function for getting executable path +* [#653](https://github.com/fortran-lang/fpm/pull/653) (WIP): + Enable profiles in toml +* [#608](https://github.com/fortran-lang/fpm/pull/608) (WIP): + --env switch lets you specify the prefix of the compiler-related environment variables +* [#539](https://github.com/fortran-lang/fpm/pull/539) (WIP): + Add parent packages into dependency tree +* [#498](https://github.com/fortran-lang/fpm/pull/498) (WIP): + Compiler flags profiles + +`fpm` is still in early development and we need as much help as we can get. +Here's how you can help today: + +* Use it and let us know what you think! Read the [fpm packaging guide](https://fpm.fortran-lang.org/en/tutorial) +to learn how to build your package with fpm, and the [manifest reference](https://fpm.fortran-lang.org/en/spec/manifest.html) +to learn what are all the things that you can specify in the fpm.toml file. + +* Browse existing *fpm* packages on the [fortran-lang website](https://fortran-lang.org/packages/fpm) +* Browse the [open issues](https://github.com/fortran-lang/fpm/issues) and see if you can help implement any fixes or features. +* Adapt your Fortran package for fpm and submit it to the [Registry](https://github.com/fortran-lang/fpm-registry). +* Improve the documentation. + +The short-term goal of fpm is to make development and installation of Fortran packages with dependencies easier. +Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy +environment in which new open source Fortran projects are created and published with ease. + +## Compilers + +### Flang + +* FIR + * Initial lowering of the Fortran Do loop + * Lower Unstructured do loops +* Driver + * Define the default frontend driver triple + * Add support for consuming LLVM IR/BC files + * Add support for -save-temps + * Switch to the MLIR coding style in the driver + * Fix driver method names overridden by the plugins + * Support parsing response files + * Make driver accept -module-dir + * Add support for generating executables on MacOSX/Darwin +* OpenMP + * Add lowering stubs for OpenMP/OpenACC declarative constructs + * Added tests for taskwait and taskyield translation + * Restrict types for omp.parallel args + * Add omp.cancel and omp.cancellationpoint. + * Initial lowering of the OpenMP worksharing loop + * Lowering for task construct + * Support lowering to MLIR for ordered clause + * Support for Collapse + * Upstream the lowering of the parallel do combined construct + * Fix the types of worksharing-loop variables + * Change the OpenMP atomic read/write test cases +* Runtime + * Correct emission & reading of unterminated final records + * Support B/O/Z editing of CHARACTER + * Use 1-based dim in transformational runtime error msg + * Change "unsupported" messages in the runtime to "not yet implemented" + * Fix input of NAN(...) on non-fast path + * Don't pad CHARACTER input at end of record unless PAD='YES' + * Enforce restrictions on unlimited format repetition + * (G0) for CHARACTER means (A), not (A0) + * BACKSPACE after non-advancing I/O + * Use proper prototypes in Fortran_main. NFCI + * Clean up asynchronous I/O APIs + * INQUIRE(UNIT=666,NUMBER=n) must set n=666 + * Handle BACKSPACE after reading past EOF +* Fix MAXLOC/MINLOC when MASK is scalar .FALSE. +* Fix UBOUND() constant folding for parentheses expr +* Support FINDLOC/MAXLOC/MINLOC with scalar mask +* Handle common block with different sizes in same file +* Add one semantic check for implicit interface +* Fix semantics check for RETURN statement +* Fix ICE for passing a label for non alternate return arguments +* Add ExternalNameConversionPass to pass pipeline +* Fix AllocaOp/AllocMemOp type conversion +* Support external procedure passed as actual argument with implicit character type +* Fix internal error with DATA-statement style initializers +* Upstream support for POINTER assignment in FORALL +* Enforce a program not including more than one main program +* Retain binding label of entry subprograms +* Fold intrinsic inquiry functions SAME_TYPE_AS() and EXTENDS_TYPE_OF() +* Fold intrinsic functions SPACING() and RRSPACING() +* Operands of SIGN() need not have same kind +* Correct folding of SPREAD() for higher ranks +* Refine handling of short character actual arguments +* Ensure that structure constructors fold parameter references +* Correct actual/dummy procedure compatibility for ALLOCATABLE/POINTER functions +* Allow PDTs with LEN parameters in REDUCE() +* Allow NULL() actual argument for optional dummy procedure +* Allow implicit declaration of DATA objects in inner procedures +* Refine error checking in specification expressions +* Reverse a reversed type compatibility check +* Accept POINTER followed by INTERFACE +* Allow ENTRY function result symbol usage before the ENTRY +* Fold real-valued DIM(), MODULO() and MOD() +* Enforce limit on rank + corank +* Allow local variables and function result inquiries in specification expressions +* Change "bad kind" messages in the runtime to "not yet implemented" +* Fold complex component references +* Fix check for assumed-size arguments to SHAPE() & al. +* Fix a performance problem with lowering of forall loops and creating too many temporaries +* Warn for the limit on name length +* Install Fortran_main library +* test conforming & non-conforming lcobound +* Fix use-associated false-positive error +* Fix character length calculation for Unicode component +* Allow global scope names that clash with intrinsic modules +* Ignore BIND(C) binding name conflicts of inner procedures +* Allow more forward references to ENTRY names +* Extension: Accept Hollerith actual arguments as if they were BOZ +* Alternate entry points with unused arguments +* Fix crash in semantics after PDT instantiation + + +### LFortran + +* Gagandeep Singh (106): + - Factored out visit_Declaration to visit_DeclarationUtil in CommonVisitor + - Added test for kwargs in class procedure + - Added support for kwargs in class procedures + - Updated reference tests + - Added support for i32 and i64 in repeat + - Added mergechar in merge interface + - Added is_iostat_eor + - Removed compulsory evaluation of ishft + - Updated reference tests + - Use intrinsic type checking in assignment only when operator overloading fails + - Perform casting in Compare only when overloaded is not available + - Set dest_type and source_type even though casting doesn't happen + - Use kind_value to generate type in ArraySize + - Added test for verifying SemanticError in case of non-constant kind input + - Updated reference tests + - Add AssociateBlock and Block in serialization.cpp + - Include associate_06 in the integration_tests/CMakeLists.txt + - Take into account output kind in LLVM's ArraySize visitor + - Added test for different output kinds in ArraySize + - Updated reference tests + - Import procedures for overloaded operators as well + - Fixed tests for compiling correctly with gfortran + - Mangle name before importing procedures under generic procs + - Merged master into sprint_6 + - Avoid manual imports while using overloaded symbols + - Remove symbol from to_be_imported_later + - Added support for keyword arguments in generic procedures and fix total arguments + - Added test for generic procedures with keyword arguments + - Updated reference tests + - Added intrinsics: congjz, dotproduct and updated: merge + - Added matmul, transpose as ASR nodes + - Added tests for matmul and transpose + - Updated reference tests + - Added merge, dotproduct procedures for complex type + - Updated reference tests + - Add support for source kwarg in allocate + - Updated test for verifying source argument + - Updated reference tests + - Registered shiftr, shiftl, adjustr, lgt, llt, lge, lle, count in comptime_eval.h + - Added shiftl, shiftr and count + - Added more implementations for abs, mod + - Added adjustr, lgt, llt, lle, lge for string type + - Updated reference tests + - Registered ieee_is_nan in comptime_eval.h + - Added support for pack intrinsic + - Added support for transfer intrinsic + - Use modern Fortran syntax for array constants + - Updated reference tests + - ArrayTransfer -> Transfer rename + - Added generation code for expression replacer + - Added ReplaceArgVisitor and generalised handle_return_type + - Added tests for verifying arg replacer in return types + - Updated reference tests + - Added cmplx via ComplexConstructor node + - Updated reference tests + - Import via use inside Function + - Added support for matching Derived/ClassType + - Added support for falling back to intrinsic + - Added to test verify importing procedures inside function + - Updated reference tests + - Added support for passing kind parameter to floor intrinsic + - 1. Use CPtr for variables declared with type(c_ptr) 2. Set Module_t.m_intrinsic in set_intrinsic 3. Add CPtr in extract_dimensions_from_ttype + - Updated reference tests + - Added LLVM support for CLoc, CPtr + - Updated reference tests + - Added integration test for c_f_pointer + - Added support for c_f_pointer + - Updated reference tests + - Added error checking for presence of shape argument in c_f_pointer call + - Fixed ArrayConstant type and raise error is shape is not rank 1 + - Updated reference tests + - Implemented c_f_pointer for non-array variables + - Updated reference tests + - Added test with pointer array variables + - Shifted type generation to a function in LLVM backend + - Corrected llvm::Type* for array pointer variables + - Updated reference tests + - 1. Fixed ArrayBound for array pointers 2. Shifted argument type generation to a function and use recursion for Pointer + - Added support for printing Pointer type + - 1. Added AssociateBlock symbol in PassVisitor 2. Fixed get_bound to return ArrayBound instead of a function call + - Use element type in ArrayRef instead of pointer + - Syntax improvement + - Updated reference tests + - Removed warnings + - Adjust ArrayBound for ArrayConstant + - Corrected arrays_13 by making iv, rv as target + - Stronger verification checks for CFPointer creation + - Support for array inputs in CFPointer + - Improved bindc2 for array inputs in c_f_pointer + - 1. Fixed ArraySize for array pointer variables in LLVM backend. 2. Improved CFPointer in LLVM backend to not interfere with already stored array in array pointer variables 3. Improved bindc2.f90 and made it robust to cover more cases. 4. Updated reference tests + - Fixed unused variable warnings in llvm_utils.cpp + - Use abstract methods in CFPointer for accessing array descriptor data + - Added test for ArrayRef in c_loc + - Minor update in bindc2 and bindc3 + - Fixed Complex case in duplicate type and intialise type at declaration + - Added support ArrayRef in CLoc in LLVM backend + - Updated reference tests + - 1. Added support for CPtr in arguments and fixed llvm::Type for intent(out) for CPtr 2. Added support for constant arrays as shape in c_f_pointer + - Updated bindc4 for verifying constant arrays in c_f_pointer + - Updated reference tests + +* Naman Gera (1): + - Update the C runtime library + +* Ondřej Čertík (136): + - AST->ASR: Remove current_body + - Fix a bug in a test + - Update tests + - bind(c): Add tests for i64, f32, f64 + - Update modules_18b.f90 to compile + - Add tests for the other types + - Comment out a non-working case + - Update tests + - bind(c): Fix call_fortran_i64 + - Update tests + - bind(c): Add a test for i32 by value + - LLVM: implement value arguments in bind(c) procs + - Update tests + - Make modules_18b.f90 compile + - bind(c): test i64, f32, f64 by value + - Update modules_18b to compile + - Update tests + - ASR: Bring updates from LPython + - Update tests + - ASR: Updates from LPython + - Update the rest of the code to compile + - Update tests + - C++ backend: implement ComplexConstructor + - Add the simplest test for submodules + - Add Logical to nested_vars + - Workaround a cmake bug + - Add a test for bind(c) with pointers + - Rework the AST->ASR handling of floor() + - Implement is_intrinsic_symbol() + - Refactor floor() into lfortran_intrinsic_math3 + - Update tests + - Add a test case for imported derived type + - Add value to all expr nodes except Constant + - Update tests + - Implement expr_type() using ExprTypeVisitor + - Implement expr_value() using ExprValueVisitor + - iso_c_binding: add the c_loc() function + - Allow derived types as return values + - ASR: Represent c_loc() + - Add ASR test for c_loc() + - Update tests + - ASR: Add string conversion for derived type + - Add a CPtr() type + - Make c_loc() return CPtr + - LLVM: handle CPtr in convert_args() + - LLVM: Comment out visit_CFPointer (WIP) + - CI: pin mkdocs-material and mkdocs versions + - Fix spelling + - Update tests + - Shorten the help for --show-wat to fit 80 columns + - Git ignore wasm_visitor.h + - Move emit_wat out of LLVM ifdef + - Generate wasm_visitor.h in ci/build.xsh + - Enable WAT tests in run_tests.py + - Add a test for WASM + - Update reference tests + - Implement FortranEvaluator::get_wasm() + - Use asr_to_wasm_bytes_stream() in asr_to_wasm + - WASM: Add 64 bit BinOp operations + - WASM: handle i64 arguments + - WASM: Add a test for i64 + - Move the wasm_instructions_visitor.py to libasr + - Update ASR from LPython + - Update tests + - Bring more ASR improvements from LPython + - Bring in name mangling + - Update tests + - Add a test for passing through pointers via C + - LLVM: implement debug ASR printing + - LLVM: Use `deftype` to implement interfaces + - LLVM: Pass type(c_ptr) by value properly + - Pass "n" by reference for now + - Pass arguments by value for bind(c) + - Only do the load if it is a pointer + - LLVM: Use an ASR condition instead of LLVM one + - lfortran_intrinsic_string: depend iso_fortran_env + - Enable bindc_01 LLVM test + - Add a test for pointer argument + - Add suffixes 1/2 + - Add a callback2b test + - Add a test for callback1b() + - Get value to reference argument working + - Port ASR improvements from LPython + - Update the rest of the code to compile + - Update tests + - ASR sync with LPython + +* Tapasweni Pathak (9): + - Add markdown sample for intrinsic:math:asin + - Add doxygen docstring in lfortran intrinsic runtime asin + - Add comments for interface asin + - Add doxygen comment for lfortran_sasin_api + - Enhance presentation of information + - use retval for return values variable + - delete fortran doxygen comments docs + - mkdocs: LFortran Intrinsics: asin + - add: mkdocs: code syntax highlighting + +* Ubaid (24): + - Improve ceiling() test case + - Update reference tests + - Specifying constants as double precision + - Update error condition check as suggested + - Update reference tests + - Code formatting + - Add and improve namespace ending comments + - Add wasm_instructions list + - Comment out few instructions that have temporary variables + - Add wasm_instructions_visitor script + - Add namespace related info and pass code as function parameter in wasm_insts_visitor script + - Add command in build0.sh to generate wasm_visitor.h + - Add utility struct and functions defined in wasm_utils + - Add wasm_to_wat converter + - Include wasm_to_wat and wasm_utils in CMakeLists.txt + - Define vector.resize() + - Add --show-wat flag and emit_wat() function + - Declare and define get_wat() in fortran_evaluator + - Declare and define asr_to_wasm_bytes_stream() which stores wasm binary to memory + - Fix warning by adding U and add comment + - Fix missing parameters bug + - Switch off WAT_DEBUG macro + - Remove debugging cout statements + - Move load_file() to top + +We are looking for new contributors. Please do not hesitate to contact us if you are interested. We will help you get up to speed. + +## Events + +* The Fortran-lang Google Summer of Code 2022 program began on May 23. + We welcome five contributors: Arteev Raina, Ashirwad Mishra, + Henil Shalin Panchal, Mohd Ubaid Shaikh, and Oshanath Rajawasam. + They will be working on exciting projects from fpm and the Fortran + website to improving the LFortran compiler. + Read more about their projects [here](https://summerofcode.withgoogle.com/programs/2022/organizations/fortran-lang). +* We had our 26th Fortran Monthly call on May 16. + Watch the recording below: + + +Join and follow the [Fortran Discourse](https://fortran-lang.discourse.group) +to stay tuned with the future meetings. + +## Contributors + +We thank everybody who contributed to fortran-lang in the past month by +commenting in any of these repositories: + +* [fortran-lang/stdlib](https://github.com/fortran-lang/stdlib) +* [fortran-lang/stdlib-cmake-example](https://github.com/fortran-lang/stdlib-cmake-example) +* [fortran-lang/fpm](https://github.com/fortran-lang/fpm) +* [fortran-lang/fpm-registry](https://github.com/fortran-lang/fpm-registry) +* [fortran-lang/fpm-docs](https://github.com/fortran-lang/fpm-docs) +* [fortran-lang/setup-fpm](https://github.com/fortran-lang/setup-fpm) +* [fortran-lang/fpm-haskell](https://github.com/fortran-lang/fpm-haskell) +* [fortran-lang/fortran-lang.org](https://github.com/fortran-lang/fortran-lang.org) +* [fortran-lang/benchmarks](https://github.com/fortran-lang/benchmarks) +* [fortran-lang/fortran-forum-article-template](https://github.com/fortran-lang/fortran-forum-article-template) +* [fortran-lang/fftpack](https://github.com/fortran-lang/fftpack) +* [fortran-lang/minpack](https://github.com/fortran-lang/minpack) +* [fortran-lang/test-drive](https://github.com/fortran-lang/test-drive) +* [fortran-lang/vscode-fortran-support](https://github.com/fortran-lang/vscode-fortran-support) +* [j3-fortran/fortran\_proposals](https://github.com/j3-fortran/fortran_proposals) + +
diff --git a/source/packages.rst b/source/packages.rst new file mode 100644 index 000000000..d7e43b0a9 --- /dev/null +++ b/source/packages.rst @@ -0,0 +1,121 @@ +:sd_hide_title: + +.. |br| raw:: html + +
+ +Packages - The Fortran Programming Language +########################################### + + +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Fortran Packages + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Find a Package + +.. raw:: html + + + + +.. grid:: 2 + + .. grid-item-card:: + :shadow: none + + .. div:: sd-fs-3 + + Package index + + .. div:: sd-fs-6 + + The fortran-lang package index is community-maintained and + lists open source Fortran-related projects. + This includes large-scale scientific applications, + function libraries, Fortran interfaces, and developer tools. + |br| + See `here `_ for how to get your project listed. |br| + Use the box above to search the package index by keyword, package name, or author username. + + .. grid-item-card:: + :shadow: none + + .. div:: sd-fs-3 + + Featured topics + + .. jinja:: fortran_index + + {% for j in tags %} + `{{j}}, <{{"search.html?q="+j}}>`_ {% endfor %} + + +.. div:: sd-fs-3 sd-font-weight-bold sd-text-primary + + Browse Packages by Category + + + +`Data types and containers `_ +------------------------------------------------------- + +Libraries for advanced data types and container classes + +`Interface libraries `_ +------------------------------------------------- + +Libraries that interface with other systems, languages, or devices + +`Libraries `_ +-------------------------------------- + +Fortran libraries for general programming tasks + +`Input, output and parsing `_ +------------------------------------------------ + +Libraries for reading, writing and parsing files and inputs + +`Graphics, plotting and user interfaces `_ +------------------------------------------------------------------ + +Libraries for plotting data, handling images and generating user interfaces + +`Examples and templates `_ +-------------------------------------------------- + +Demonstration codes and templates for Fortran + +`Numerical projects `_ +----------------------------------------------- + +Fortran libraries for linear algebra, optimization, root-finding etc. + +`Programming utilities `_ +---------------------------------------------------- + +Error handling, logging, documentation and testing + +`Characters and strings `_ +------------------------------------------------- + +Libraries for manipulating characters and strings + +`Scientific Codes `_ +---------------------------------------------- + +Applications and libraries for applied mathematical and scientific problems + + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/data-types.rst b/source/packages/data-types.rst new file mode 100644 index 000000000..4caf79192 --- /dev/null +++ b/source/packages/data-types.rst @@ -0,0 +1,45 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Libraries for advanced data types and container classes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in data_types|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/examples.rst b/source/packages/examples.rst new file mode 100644 index 000000000..cdadf06f0 --- /dev/null +++ b/source/packages/examples.rst @@ -0,0 +1,47 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + + +Demonstration codes and templates for Fortran +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in examples|sort(attribute='name') %} + {% if j.github is defined %} + + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/graphics.rst b/source/packages/graphics.rst new file mode 100644 index 000000000..9e479e6fa --- /dev/null +++ b/source/packages/graphics.rst @@ -0,0 +1,45 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Libraries for plotting data, handling images and generating user interfaces +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in graphics|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/interfaces.rst b/source/packages/interfaces.rst new file mode 100644 index 000000000..07a5b99fb --- /dev/null +++ b/source/packages/interfaces.rst @@ -0,0 +1,45 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Libraries that interface with other systems, languages, or devices +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in interfaces|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/io.rst b/source/packages/io.rst new file mode 100644 index 000000000..d4e0ac526 --- /dev/null +++ b/source/packages/io.rst @@ -0,0 +1,51 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Libraries for reading, writing and parsing files and inputs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in io|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + {% endif %} + + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + + +------------ + +.. raw:: html + + See here for how to get your project listed. + diff --git a/source/packages/libraries.rst b/source/packages/libraries.rst new file mode 100644 index 000000000..0861a0a7c --- /dev/null +++ b/source/packages/libraries.rst @@ -0,0 +1,46 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + + +Fortran libraries for general programming tasks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in libraries|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/numerical.rst b/source/packages/numerical.rst new file mode 100644 index 000000000..072801cc3 --- /dev/null +++ b/source/packages/numerical.rst @@ -0,0 +1,45 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Libraries for reading, writing and parsing files and inputs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in numerical|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/programming.rst b/source/packages/programming.rst new file mode 100644 index 000000000..60824c1a9 --- /dev/null +++ b/source/packages/programming.rst @@ -0,0 +1,45 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Error handling, logging, documentation and testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in programming|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/scientific.rst b/source/packages/scientific.rst new file mode 100644 index 000000000..e9c8abf4e --- /dev/null +++ b/source/packages/scientific.rst @@ -0,0 +1,46 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + + +Applications and libraries for applied mathematical and scientific problems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in scientific|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file diff --git a/source/packages/strings.rst b/source/packages/strings.rst new file mode 100644 index 000000000..9777477c4 --- /dev/null +++ b/source/packages/strings.rst @@ -0,0 +1,45 @@ +.. div:: sd-text-center sd-fs-2 sd-font-weight-bold sd-text-primary + + Featured Open Source Projects + +.. div:: sd-text-center sd-fs-3 + + A rich ecosystem of high-performance code + +.. |license| image:: https://img.shields.io/badge/license-grey +.. |stars| image:: https://img.shields.io/badge/stars-grey +.. |forks| image:: https://img.shields.io/badge/forks-grey +.. |lastcommit| image:: https://img.shields.io/badge/last%20commit-grey +.. |issues| image:: https://img.shields.io/badge/issues-grey +.. |release| image:: https://img.shields.io/badge/Release-grey + +Libraries for manipulating characters and strings +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. jinja:: fortran_index + + {% for j in strings|sort(attribute='name') %} + {% if j.github is defined %} + `{{j.name}} <{{"https://github.com/"+j.github}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% elif j.gitlab is defined%} + `{{j.name}} <{{"https://gitlab.com/"+j.gitlab}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% else %} + `{{j.name}} <{{j.url}}>`_ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + {% endif %} + {{j.description}} + + Tags: {{j.tags}} + + |release| : {{j.release}} |license| : {{j.license}} |stars| : {{j.stars}} |forks| :{{j.forks}} |lastcommit| : {{j.last_commit}} |issues| : {{j.issues}} + + {% endfor %} + + +------------ + +.. raw:: html + + See here for how to get your project listed. \ No newline at end of file